Tanzu Kubernetes Grid 可讓您對 NSX Advanced Load Balancer (ALB) 部署執行各種管理作業。
Avi 控制器憑證會定期到期。在 Tanzu Kubernetes Grid 中,您可以在 Avi 控制器憑證到期時更新該憑證。更新叢集中的憑證之前,請確定該憑證存在於 Avi 控制器中。
若要更新 Avi 控制器憑證,請執行以下動作:
使用新字串修補憑證密碼:
kubectl patch secret/avi-controller-ca -n tkg-system-networking -p '{"data": {"certificateAuthorityData": "<base64 encoded string>"}}'
若要更新 Avi 控制器認證,請執行以下動作:
將認證重新編碼為 base64 編碼字串。
使用新字串修補憑證密碼:
kubectl edit secret avi-controller-credentials -n tkg-system-networking
在快顯的預設文字編輯器中,以新的 base64 編碼認證來更新認證。
在Tanzu Kubernetes Grid,您可以在現有管理叢集及其工作負載叢集中更新 AVI 控制器 IP 位址或 FQDN。
確保已將安全憑證指派給 AVI 控制器,如將憑證指派給控制器中所述。憑證中的主體替代名稱欄位必須具有 Avi 控制器的新 IP 位址或 FQDN。
在管理叢集內容中,執行 kubectl get pods
命令,並記下輸出中的 AKO 運算子 Pod 名稱。例如,ako-operator-controller-manager-7b74d8b9f9-nlz6n
。
在 Tanzu CLI 中,執行下列命令以新增憑證:
kubectl edit secret avi-controller-ca -n tkg-system-networking
在控制器 UI 上,完成以下步驟:
a. 轉到管理 (Administration) > 控制器 (Controller) > 節點 (Nodes),然後按兩下編輯 (Edit)。
b. 在控制器叢集 IP (Controller Cluster IP) 欄位中,更新 IP 位址或 FQDN。
在工作負載叢集的 akodeploymentconfig
CR 物件中,將與 controller
欄位對應的值取代為 Avi 控制器的新 IP 位址或 FQDN:
kubectl edit adc install-ako-for-all
在管理叢集的 akodeploymentconfig
CR 物件中,將與 controller
欄位對應的值取代為 Avi 控制器的新 IP 位址或 FQDN:
kubectl edit adc install-ako-for-management-cluster
刪除 AKO 運算子 Pod:
kubectl delete pod AKO-OPERATOR-POD -n tkg-system-networking
其中,AKO-OPERATOR-POD
是 AKO 運算子 Pod 的名稱,例如,ako-operator-controller-manager-7b74d8b9f9-nlz6n
。
刪除 AKO Pod:
kubectl delete pod ako-0 -n avi-system
AKO 和 AKO 運算子 Pod 將重新啟動,並在管理叢集及其工作負載叢集上更新新的 IP 位址或 FQDN。
AKODeploymentConfig
CR 物件若要瞭解目前叢集上使用的 AKODeploymentConfig
CR 物件,請執行以下命令:
kubectl --context={management cluster kubeconfig context} get cluster --show-labels
在輸出中,查看 networking.tkg.tanzu.vmware.com/avi=<AKODeploymentConfig-NAME>
欄位,以檢視叢集所選取的 AKODeploymentConfig 物件。
在 NSX Advanced Load Balancer 組態期間,Tanzu Kubernetes Grid 會驗證您指定給組態欄位的輸入。當系統偵測到不正確的輸入時,會記錄錯誤。在部署管理叢集時,如果將 AVI_ENABLE
欄位設定為 true
,則 Tanzu CLI 會驗證您指定給以下欄位的輸入:
AVI_CONTROLLER
AVI_USERNAME
AVI_PASSWORD
AVI_CA_DATA_B64
AVI_CLOUD_NAME
AVI_SERVICE_ENGINE_GROUP
AVI_DATA_NETWORK
AVI_DATA_NETWORK_CIDR
AVI_MANAGEMENT_CLUSTER_SERVICE_ENGINE_GROUP
AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_NAME
AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_NAME
AVI_CONTROL_PLANE_NETWORK
AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_CIDR
AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_CIDR
AVI_CONTROL_PLANE_NETWORK_CIDR
在您建立 AKODeploymentConfig
物件時,Tanzu Kubernetes Grid 會檢查是否如下:
AKODeploymentConfig
物件)spec.AdminCredentialRef
、spec.CertificateAuthorityRef
和 spec.Controller
欄位具有正確的輸入以連線到 AVI 控制器。spec.CloudName
已存在,或者它使用已初始化的 AVI 用戶端。spec.ServiceEngineGroup
已存在,或者它使用已初始化的 AVI 用戶端。spec.ControlPlaneNetwork.Name
已存在,或者它使用已初始化的 AVI 用戶端。spec.DataNetwork.Name
已存在,或者它使用已初始化的 AVI 用戶端。spec.ControlPlaneNetwork.Name
設有一個 IPAM 設定檔,或者它不使用已初始化的 AVI 用戶端。spec.ControlPlaneNetwork.CIDR
的格式有效。spec.DataNetwork.CIDR
的格式有效。當您更新 AKODeploymentConfig
物件時,Tanzu Kubernetes Grid 會檢查 spec.ClusterSelector
和 spec.ControlPlaneNetwork
是否未變更。您無法刪除 install-ako-for-management-cluster
AKODeploymentConfig 檔案。