Tanzu Kubernetes Grid を使用すると、NSX Advanced Load Balancer (ALB) 環境でさまざまな管理操作を実行できます。
Avi Controller 証明書は定期的に期限切れになります。Tanzu Kubernetes Grid では、有効期限が切れたときに Avi Controller 証明書を更新できます。クラスタ内の証明書を更新する前に、証明書が Avi Controller に存在することを確認します。
Avi Controller 証明書を更新するには、次の手順を実行します。
新しい文字列を使用して証明書シークレットにパッチを適用します。
kubectl patch secret/avi-controller-ca -n tkg-system-networking -p '{"data": {"certificateAuthorityData": "<base64 encoded string>"}}'
Avi Controller 認証情報を更新するには、次の手順を実行します。
認証情報を base64 でエンコードされた文字列に再エンコードします。
新しい文字列を使用して証明書シークレットにパッチを適用します。
kubectl edit secret avi-controller-credentials -n tkg-system-networking
ポップアップ表示されるデフォルトのテキスト エディタ内で、base64 でエンコードされた新しい認証情報を使用して認証情報を更新します。
Tanzu Kubernetes Grid では、既存の管理クラスタとそのワークロード クラスタ内の Avi Controller の IP アドレスまたは FQDN を更新できます。
「コントローラへの証明書の割り当て」の説明に従って、Avi Controller にセキュリティ証明書を割り当てたことを確認します。証明書の [サブジェクト代替名 (Subject Alternative Name)] フィールドには、Avi Controller の新しい IP アドレスまたは FQDN が必要です。
管理クラスタのコンテキストで、kubectl get pods
コマンドを実行し、出力の AKO Operator ポッドの名前を書き留めます。たとえば、ako-operator-controller-manager-7b74d8b9f9-nlz6n
です。
Tanzu CLI で、次のコマンドを実行して新しい証明書を追加します。
kubectl edit secret avi-controller-ca -n tkg-system-networking
コントローラ ユーザー インターフェイスで、次の手順を実行します。
a. [管理 (Administration)] > [コントローラ (Controller)] > [ノード (Nodes)] に移動し、[編集 (Edit)] をクリックします。
b. [Controller クラスタの IP アドレス (Controller Cluster IP)] フィールドで、IP アドレスまたは FQDN を更新します。
ワークロード クラスタの akodeploymentconfig
CR オブジェクトで、controller
フィールドに対応する値を Avi Controller の新しい IP アドレスまたは FQDN に置き換えます。
kubectl edit adc install-ako-for-all
管理クラスタの akodeploymentconfig
CR オブジェクトで、controller
フィールドに対応する値を Avi Controller の新しい IP アドレスまたは FQDN に置き換えます。
kubectl edit adc install-ako-for-management-cluster
AKO Operator ポッドを削除します。
kubectl delete pod AKO-OPERATOR-POD -n tkg-system-networking
ここで、AKO-OPERATOR-POD
は AKO Operator ポッドの名前です(例:ako-operator-controller-manager-7b74d8b9f9-nlz6n
)。
AKO ポッドを削除します。
kubectl delete pod ako-0 -n avi-system
AKO と AKO Operator ポッドが再起動し、管理クラスタとそのワークロード クラスタで新しい 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 Controller に接続するための正しい入力があること。spec.CloudName
が存在するか、初期化された AVI クライアントを使用していること。spec.ServiceEngineGroup
が存在するか、初期化された AVI クライアントを使用していること。spec.ControlPlaneNetwork.Name
が存在するか、初期化された AVI クライアントを使用していること。spec.DataNetwork.Name
が存在するか、初期化された AVI クライアントを使用していること。spec.ControlPlaneNetwork.Name
に IP アドレス管理プロファイルが構成されているか、初期化された AVI クライアントを使用していないこと。spec.ControlPlaneNetwork.CIDR
の形式が有効であること。spec.DataNetwork.CIDR
の形式が有効であること。AKODeploymentConfig
オブジェクトを更新すると、Tanzu Kubernetes Grid は spec.ClusterSelector
および spec.ControlPlaneNetwork
が変更されていないかどうかを確認します。install-ako-for-management-cluster
AKODeploymentConfig ファイルは削除できません。