NSX ALB Advanced Load Balancer の管理

Tanzu Kubernetes Grid を使用すると、NSX Advanced Load Balancer (ALB) 環境でさまざまな管理操作を実行できます。

Avi Controller 証明書の変更

Avi Controller 証明書は定期的に期限切れになります。Tanzu Kubernetes Grid では、有効期限が切れたときに Avi Controller 証明書を更新できます。クラスタ内の証明書を更新する前に、証明書が Avi Controller に存在することを確認します。

Avi Controller 証明書を更新するには、次の手順を実行します。

  1. 証明書データを base64 でエンコードされた文字列に再エンコードします。
  2. 新しい文字列を使用して証明書シークレットにパッチを適用します。

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

Avi Controller の認証情報の変更

Avi Controller 認証情報を更新するには、次の手順を実行します。

  1. 認証情報を base64 でエンコードされた文字列に再エンコードします。

  2. 新しい文字列を使用して証明書シークレットにパッチを適用します。

    kubectl edit secret avi-controller-credentials -n tkg-system-networking
    
  3. ポップアップ表示されるデフォルトのテキスト エディタ内で、base64 でエンコードされた新しい認証情報を使用して認証情報を更新します。

管理クラスタとそのワークロード クラスタ内の Avi Controller の IP アドレスまたは FQDN の更新

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です。

手順

  1. Tanzu CLI で、次のコマンドを実行して新しい証明書を追加します。

    kubectl edit secret avi-controller-ca -n tkg-system-networking
    
  2. コントローラ ユーザー インターフェイスで、次の手順を実行します。

    a. [管理 (Administration)] > [コントローラ (Controller)] > [ノード (Nodes)] に移動し、[編集 (Edit)] をクリックします。

    b. [Controller クラスタの IP アドレス (Controller Cluster IP)] フィールドで、IP アドレスまたは FQDN を更新します。

  3. ワークロード クラスタの akodeploymentconfig CR オブジェクトで、controller フィールドに対応する値を Avi Controller の新しい IP アドレスまたは FQDN に置き換えます。

    kubectl edit adc install-ako-for-all
    
  4. 管理クラスタの akodeploymentconfig CR オブジェクトで、controller フィールドに対応する値を Avi Controller の新しい IP アドレスまたは FQDN に置き換えます。

    kubectl edit adc install-ako-for-management-cluster
    
  5. AKO Operator ポッドを削除します。

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

    ここで、AKO-OPERATOR-POD は AKO Operator ポッドの名前です(例:ako-operator-controller-manager-7b74d8b9f9-nlz6n)。

  6. 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 構成入力の検証

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.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 ファイルは削除できません。

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