如果 vCenter CA 憑證已變更,您必須更新參照,因為執行中的管理員叢集和使用者叢集必須瞭解這項變更。這會影響管理員叢集設定檔中的 vCenter.caCertPath 欄位,以及 Google Distributed Cloud 的使用者叢集設定檔。
如要更新憑證參照,請按照本文說明使用 gkectl update 指令。
更新叢集設定檔中參照的 vCenter CA 憑證
如要更新執行中的管理員和使用者叢集,以使用新憑證,請按照下列步驟操作:
擷取並解壓縮新的 vCenter CA 憑證:
curl -o certs.zip https://VCENTER_IP_ADDRESS_OR_FQDN/certs/download.zip unzip certs.zip
如要允許不明憑證,可以使用
-k標記。以免存取 vCenter 時發生憑證問題。判斷哪個 vCenter 憑證有效。在解壓縮的
..../certs/lin資料夾中,只有一個 Linux 憑證檔案是有效的 vCenter 憑證。如要判斷哪個檔案是有效的 vCenter 憑證,請按照下列步驟操作:從已安裝
govc的管理工作站設定下列環境變數。如果尚未完成,請下載並安裝 govc 工具:export GOVC_URL=https://VCENTER_IP_ADDRESS_OR_FQDN export GOVC_USERNAME=VCENTER_USERNAME export GOVC_PASSWORD=VCENTER_PASSWORD export GOVC_TLS_CA_CERTS=FULL_PATH_OF_EXTRACTED_LIN_FILE export GOVC_INSECURE=false
更改下列內容:
VCENTER_IP_ADDRESS_OR_FQDN:vCenter Server 的 IP 位址或完整網域名稱。VCENTER_USERNAME:vCenter 伺服器的使用者名稱。VCENTER_PASSWORD:指定使用者名稱的密碼。FULL_PATH_OF_EXTRACTED_LIN_FILE:您要進行有效性測試的 Linux 憑證檔案完整路徑。
如要確認 vCenter 憑證是否有效,請執行
govc about指令:govc about
如果 vCenter 憑證有效,
govc about指令會列印 vCenter Server 的詳細資料,類似於下列內容:FullName: VMware Center Server 7.0.3 build-24322018 Name: VMware Center Server Vendor: VMware, Inc. Version: 7.0.3 Build: 24322018 OS type: linux-x64 API type: VirtualCenter API version: 7.0.3.0 Product ID: vpx UUID: 475fa366-faa9-43f0-9417-e6dadc55514c如果憑證無效,您應該會看到
x509錯誤。如果看到x509錯誤,請更新FULL_PATH_OF_EXTRACTED_LIN_FILE環境變數,指向解壓縮..../certs/lin資料夾中的其他 Linux 憑證檔案,然後再次執行govc about指令。重複步驟 a 和 b,直到找到有效憑證,或測試完解壓縮..../certs/lin資料夾中的每個 Linux 憑證檔案為止。
如要備份舊的 vCenter CA 憑證檔案 (位於管理員叢集設定檔
vCenter.caCertPath欄位中指定的路徑),請將其重新命名為vcenter-ca-cert.pem.old。將
..../certs/lin資料夾中新的有效憑證檔案重新命名為vcenter-ca-cert.pem,然後移至管理員叢集設定檔vCenter.caCertPath欄位中指定的路徑。如果您使用
gkeadm建立管理員工作站,請確認管理員工作站設定檔中的vCenter.caCertPath與管理員叢集設定檔的路徑相同。
如果使用者叢集已啟用 Controlplane V2 (1.32 以上版本必須啟用),請先更新使用者叢集,再更新管理員叢集。對於未啟用 Controlplane V2 的使用者叢集 (稱為 kubception),請先更新管理員叢集,再更新使用者叢集。
Controlplane V2
在每個使用者叢集設定檔中,將
vCenter.caCertPath設為新vcenter-ca-cert.pem檔案的路徑。針對每個使用者叢集執行
gkectl update指令:gkectl update cluster --config USER_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
更改下列內容:
USER_CLUSTER_CONFIG:使用者叢集設定檔的路徑。ADMIN_CLUSTER_KUBECONFIG:管理員叢集的 kubeconfig 檔案路徑。
特定使用者叢集的更新指令完成後,叢集就會使用新憑證。
確認使用者叢集運作正常:
gkectl diagnose cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster-name USER_CLUSTER_NAME
詳情請參閱「診斷使用者叢集」。
更新管理員叢集:
gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
更改下列內容:
ADMIN_CLUSTER_CONFIG:管理員叢集設定檔的路徑。
更新指令完成後,管理員叢集就會使用新憑證。
確認管理員叢集運作正常:
gkectl diagnose cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG
詳情請參閱「診斷管理員叢集」。
Kubception
更新管理員叢集:
gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
更改下列內容:
ADMIN_CLUSTER_CONFIG:管理員叢集設定檔的路徑。
更新指令完成後,管理員叢集就會使用新憑證。
確認管理員叢集運作正常:
gkectl diagnose cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG
詳情請參閱「診斷管理員叢集」。
在每個使用者叢集設定檔中,將
vCenter.caCertPath設為新vcenter-ca-cert.pem檔案的路徑。針對每個使用者叢集執行
gkectl update指令:gkectl update cluster --config USER_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
更改下列內容:
USER_CLUSTER_CONFIG:使用者叢集設定檔的路徑。
特定使用者叢集的更新指令完成後,叢集就會使用新憑證。
確認使用者叢集運作正常:
gkectl diagnose cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster-name USER_CLUSTER_NAME
詳情請參閱「診斷使用者叢集」。