管理 NSX ALB Advanced Load Balancer

Tanzu Kubernetes Grid 可讓您對 NSX Advanced Load Balancer (ALB) 部署執行各種管理作業。

修改 Avi 控制器憑證

Avi 控制器憑證會定期到期。在 Tanzu Kubernetes Grid 中,您可以在 Avi 控制器憑證到期時更新該憑證。更新叢集中的憑證之前,請確定該憑證存在於 Avi 控制器中。

若要更新 Avi 控制器憑證,請執行以下動作:

  1. 將憑證資料重新編碼為 base64 編碼字串。
  2. 使用新字串修補憑證密碼:

    kubectl patch secret/avi-controller-ca -n tkg-system-networking -p '{"data": {"certificateAuthorityData": "<base64 encoded string>"}}'
    

修改 Avi 控制器認證

若要更新 Avi 控制器認證,請執行以下動作:

  1. 將認證重新編碼為 base64 編碼字串。

  2. 使用新字串修補憑證密碼:

    kubectl edit secret avi-controller-credentials -n tkg-system-networking
    
  3. 在快顯的預設文字編輯器中,以新的 base64 編碼認證來更新認證。

在管理叢集及其工作負載叢集中更新 AVI 控制器 IP 位址或 FQDN

在Tanzu Kubernetes Grid,您可以在現有管理叢集及其工作負載叢集中更新 AVI 控制器 IP 位址或 FQDN。

必要條件

  • 確保已將安全憑證指派給 AVI 控制器,如將憑證指派給控制器中所述。憑證中的主體替代名稱欄位必須具有 Avi 控制器的新 IP 位址或 FQDN。

  • 在管理叢集內容中,執行 kubectl get pods 命令,並記下輸出中的 AKO 運算子 Pod 名稱。例如,ako-operator-controller-manager-7b74d8b9f9-nlz6n

程序

  1. 在 Tanzu CLI 中,執行下列命令以新增憑證:

    kubectl edit secret avi-controller-ca -n tkg-system-networking
    
  2. 在控制器 UI 上,完成以下步驟:

    a. 轉到管理 (Administration) > 控制器 (Controller) > 節點 (Nodes),然後按兩下編輯 (Edit)

    b. 在控制器叢集 IP (Controller Cluster IP) 欄位中,更新 IP 位址或 FQDN。

  3. 在工作負載叢集的 akodeploymentconfig CR 物件中,將與 controller 欄位對應的值取代為 Avi 控制器的新 IP 位址或 FQDN:

    kubectl edit adc install-ako-for-all
    
  4. 在管理叢集的 akodeploymentconfig CR 物件中,將與 controller 欄位對應的值取代為 Avi 控制器的新 IP 位址或 FQDN:

    kubectl edit adc install-ako-for-management-cluster
    
  5. 刪除 AKO 運算子 Pod:

    kubectl delete pod AKO-OPERATOR-POD -n tkg-system-networking
    

    其中,AKO-OPERATOR-POD 是 AKO 運算子 Pod 的名稱,例如,ako-operator-controller-manager-7b74d8b9f9-nlz6n

  6. 刪除 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 組態輸入

在 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 會檢查是否如下:

  • 「clusterSelector」欄位不是空白的 (適用於非預設 AKODeploymentConfig 物件)
  • spec.AdminCredentialRefspec.CertificateAuthorityRefspec.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.ClusterSelectorspec.ControlPlaneNetwork 是否未變更。您無法刪除 install-ako-for-management-cluster AKODeploymentConfig 檔案。

check-circle-line exclamation-circle-line close-line
Scroll to top icon