クラスタ認証情報の更新

このページでは、クラスタの vCenter と F5 BIG-IP 認証情報を更新する方法について説明します。

GKE On-Prem バージョン 1.3.1 以降では、gkectl update credentials vsphere コマンドを使用して vCenter 認証情報を更新できます。

GKE On-Prem バージョン 1.4.1 以降では、gkectl update credentials f5bigip コマンドを使用して F5 BIG-IP 認証情報を更新できます。

vSphere 認証情報の更新

クラスタに追加する vCenter 認証情報はすでに存在している必要があります。vCenter のロールとユーザー権限について確認してください

それぞれの管理クラスタとユーザー クラスタは、クラスタの作成に使用した vCenter のユーザー名とパスワードを使用して、最初に構成されます。vCenter 認証情報を更新するか、管理者のオーナー権限を別の vSphere ユーザー アカウントに移行する必要がある場合は、クラスタの構成ファイルを更新し、gkectl update credentials vsphere コマンドを使用して変更をデプロイします。

vCenter のユーザー名とパスワードの構成の例:

...
vcenter:
  credentials:
    ...
    username: "vCenter-username@vsphere.local"
    password: "vCenter-user-password"
...

クラスタの vCenter 認証情報を更新するには、次の手順を実行します。

  1. 管理クラスタまたはユーザー クラスタを構成する既存の vCenter 認証情報のユーザー名とパスワードを取得します。

  2. 次のコマンドを実行して、管理ワークステーションに SSH で接続します。

    ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
    

    ここで、[IP_ADDRESS] は管理ワークステーションの IP アドレスです。

  3. 構成ファイルをエディタで開きます。

    この目的でのみ変更および使用できるコピーの作成を検討してください。例: vcenter-creds-config.yaml

  4. 構成ファイルを変更します。

    1. 管理クラスタとユーザー クラスタのどちらを更新するかに応じて、次のいずれかのセクションを削除して構成ファイルを変更する必要があります。

      • ユーザー クラスタを更新するには、admincluster セクションを削除します。

        構成の usercluster セクションはそのままにしますが、admincluster セクションの内容はすべて削除します。例:

        admincluster:
          vcenter:
            network: ""
          bigip:
            ...
          podiprange: ""

      • 管理クラスタを更新するには、usercluster セクションを削除します。

        構成の admincluster セクションはそのままにしますが、usercluster セクションの内容はすべて削除します。例:

        usercluster:
          vcenter:
            network: ""
          bigip:
            ...
          clustername: ""
          masternode:
            ...
          podiprange: ""

    2. vCenter.credentialsusername 属性と password 属性を更新して、クラスタに設定する vCenter 認証情報を含めます。例:

      gcp:
        whitelistedServiceAccountKeyPath: "my-key-folder/whitelisted-key.json"
      vCenter:
        credentials:
          address: "203.0.113.1"
          username: "vCenter-user-account@vsphere.local"
          password: "user-account-password"
        datacenter: "MY-DATACENTER"
        datastore: "MY-DATASTORE"
        cluster: "MY-CLUSTER"
        ...
  5. gkectl update credentials vsphere コマンドを実行して、変更をクラスタにデプロイします。

    gkectl update credentials vsphere \
    --config [VCENTER_CREDS_CONFIG.YAML] \
    --kubeconfig [CLUSTER_KUBECONFIG] \
    --update-admin-cluster

    ここで

    • [VCENTER_CREDS_CONFIG.YAML]: クラスタにデプロイする vCenter 認証情報を含む構成ファイルを指定します。例: vcenter-creds-config.yaml
    • [CLUSTER_KUBECONFIG]: 更新する管理クラスタの kubeconfig ファイルを指定します。例: kubeconfig

      管理クラスタの場合は、--update-admin-cluster フラグも含める必要があります。

    • --update-admin-cluster: 管理クラスタに変更をデプロイする場合は必須のフラグです。ユーザー クラスタに変更をデプロイする際は、このフラグを除外します。

    結果: 変更された vCenter 認証情報はサーバーに対して即座に検証され、「vsphere credentials updated successfully」という確認がターミナルに出力されます。新しい認証情報が vCenter Server へのログインに失敗した場合は、構成ファイルの usernamepassword を編集し、変更を再デプロイします。

    例:

    • ユーザー クラスタの例: ユーザー クラスタに vCenter 認証情報をデプロイするには、次のコマンドを実行します。

      gkectl update credentials vsphere \
      --config vcenter-creds-user-config.yaml --kubeconfig admin-cluster-kubeconfig

      結果:

      validating new credentials against vcenter
      restarted "deployment/clusterapi-controllers" in namespace "testcluster"
      restarted "deployment/kube-controller-manager" in namespace "testcluster"
      restarted "statefulsets/kube-apiserver" in namespace "testcluster"
      vsphere credentials updated successfully.
    • 管理クラスタの例: 管理クラスタに vCenter 認証情報の変更をデプロイするには、次のコマンドを実行します。

      gkectl update credentials vsphere \
      --config vcenter-creds-admin-config.yaml --kubeconfig admin-cluster-kubeconfig \
      --update-admin-cluster

      結果:

      validating new credentials against vcenter
      restarted "deployment/clusterapi-controllers" in namespace "kube-system"
      vsphere credentials updated successfully.

ユーザー クラスタの F5 BIG-IP 認証情報を更新する

F5 ウェブ インターフェースで F5 BIG-IP 認証情報を更新します。

バージョン 1.4.1 以降の管理ワークステーションに SSH 接続します。

管理ワークステーションで、次の手順でユーザー クラスタの F5 BIG-IP 認証情報を更新します。

  1. ユーザー クラスタ構成ファイルのコピーを作成します。コピーに user-f5-creds.yaml という名前を付けます。例:

    cp user-cluster.yaml user-f5-creds.yaml
    
  2. user-f5-creds.yaml で、F5 認証情報を更新します。例:

    apiVersion: v1
    kind: UserCluster
    ...
     f5BigIP:
       ...
       credentials:
         username: "new-user"
         password: "new-password"
    
  3. ユーザー クラスタの F5 BIG-IP 認証情報を更新します。

    gkectl update credentials f5bigip --config user-f5-config.yaml \
       --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

管理クラスタの F5 BIG-IP 認証情報を更新する

F5 ウェブ インターフェースで F5 BIG-IP 認証情報を更新します。

バージョン 1.4.1 以降の管理ワークステーションに SSH 接続します。

管理ワークステーションで、次の手順で管理クラスタの F5 BIG-IP 認証情報を更新します。

  1. 管理クラスタ構成ファイルのコピーを作成します。コピーに admin-f5-creds.yaml という名前を付けます。例:

    cp admin-cluster.yaml admin-f5-creds.yaml
    
  2. admin-f5-creds.yaml で、F5 認証情報を更新します。例:

    apiVersion: v1
    kind: AdminCluster
    ...
     f5BigIP:
       ...
       credentials:
         username: "new-user"
         password: "new-password"
    
  3. 管理クラスタの F5 BIG-IP 認証情報を更新します。

    gkectl update credentials f5bigip --config admin-f5-config.yaml \
       --kubeconfig ADMIN_CLUSTER_KUBECONFIG --admin-cluster