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