管理 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 控制器,如 将证书分配给控制器中所述。证书中的主体备用名称 (Subject Alternative Name) 字段必须具有 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 Operator 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