在 bootstrap-config.yaml 檔案中,輸入必要引數的值,這些引數是將 Antrea 容器叢集登錄至 NSX 中所需要的。
如果容器叢集中的 VMware Container Networking™ with Antrea™ 版本為 1.7.0 或更早版本,請遵循本說明文件中的指示,手動編輯 antrea-interworking.zip 檔案中提供的 bootstrap-config.yaml 檔案。
如果容器叢集中的 VMware Container Networking™ with Antrea™ 版本為 1.8.0 或更新版本,則可以略過本說明文件。請遵循 向 NSX 登錄 Antrea 容器叢集的必要條件 說明文件的工作 6 中的指示,為叢集建立啟動程序組態。
- 必要條件
- 請確定您已完成將 Antrea 容器叢集登錄至 NSX 的必要工作。請參閱 向 NSX 登錄 Antrea 容器叢集的必要條件。
- 啟動程序組態檔案
-
解壓縮 antrea-interworking-version.zip 檔案時,您會取得 bootstrap-config.yaml 檔案,其中包含一些預留位置註解,可協助您在這個檔案中填寫引數。
apiVersion: v1 kind: Namespace metadata: name: vmware-system-antrea labels: app: antrea-interworking openshift.io/run-level: '0' --- # NOTE: In production the bootstrap config and secret should be filled by admin # manually or external automation mechanism. apiVersion: v1 kind: ConfigMap metadata: name: bootstrap-config namespace: vmware-system-antrea data: bootstrap.conf: | # Fill in the cluster name. It should be unique across all clusters managed by NSX. clusterName: Name # Fill in the NSX manager IPs. If there are multiple IPs, separate them with commas. NSXManagers: [IP1, IP2, IP3] # vhcPath is optional. By default it is empty. vhcPath: "" --- apiVersion: v1 kind: Secret metadata: name: nsx-cert namespace: vmware-system-antrea type: kubernetes.io/tls data: # One line base64 encoded data. Can be generated by command: cat tls.crt | base64 -w 0 tls.crt: # One line base64 encoded data. Can be generated by command: cat tls.key | base64 -w 0 tls.key:
- 指定必要引數的值
-
您要登錄至 NSX 中的每一個容器叢集,都需要有個別的 bootstrap-config.yaml 檔案。請在此檔案中指定下列必要引數的值。
- clusterName
-
輸入 Antrea 容器叢集的唯一名稱。對於登錄至 NSX 中的所有容器叢集,該名稱必須是唯一的。例如,cluster-sales。
- NSXManagers
-
輸入 NSX Manager IP 位址。若要指定 NSX Manager 叢集中多個 NSX Manager 節點的 IP 位址,請以逗號來分隔這些 IP 位址。
備註: 您可以將一個 Antrea 容器叢集登錄至單一 NSX Manager 叢集中。單一叢集可以有一到三個 NSX Manager 節點。例如,如果 NSX Manager 叢集有三個 NSX Manager 節點,請以 [192.168.1.1, 192.168.1.2, 192.168.1.3] 形式來輸入組態。如果叢集有單一 NSX Manager 節點,請以 [192.168.1.1] 形式來輸入組態。
建議您避免在此引數中新增 NSX Manager 虛擬 IP (VIP),因為 Antrea NSX 介面卡 需要直接連線至所有 NSX Manager。
- tls.crt
-
tls.crt 是自我簽署憑證,用來在 NSX 中建立主體身分識別使用者。
針對容器叢集,以單行形式輸入 TLS 憑證的 Base64 編碼資料。
例如,若要將 cluster-sales.crt 憑證檔的編碼資料列印在終端機上,請在 Linux CLI 中執行以下命令:
cat cluster-sales.crt | base64 -w 0
- tls.key
-
針對容器叢集,以單行形式輸入私密金鑰檔的 Base64 編碼資料。
例如,若要將 cluster-sales-private.key 檔案的編碼資料列印在終端機上,請在 Linux CLI 中執行以下命令:
cat cluster-sales-private.key | base64 -w 0
tls.key 不會傳送至 NSX。管理平面介面卡和中央控制平面介面卡會使用此金鑰,來證明其擁有主體身分識別使用者。
範例: 啟動程序組態檔案
apiVersion: v1 kind: Namespace metadata: name: vmware-system-antrea labels: app: antrea-interworking openshift.io/run-level: '0' --- # NOTE: In production the bootstrap config and secret should be filled by admin # manually or external automation mechanism. apiVersion: v1 kind: ConfigMap metadata: name: bootstrap-config namespace: vmware-system-antrea data: bootstrap.conf: | clusterName: cluster-sales NSXManagers: [10.196.239.128, 10.196.239.129] vhcPath: "" --- apiVersion: v1 kind: Secret metadata: name: nsx-cert namespace: vmware-system-antrea type: kubernetes.io/tls data: tls.crt: LS0tLS1CRUd…LS0tLS0K tls.key: LS0tLS1CRUd…S0tLS0tCg==
下一步
將 bootstrap-config.yaml 檔案和 interworking.yaml 部署資訊清單檔案提交至 Kubernetes API 伺服器,以便將 Antrea 容器叢集登錄至 NSX。