GKE On-Prem バージョン 1.3.1 以降では、gkectl update credentials vsphere
コマンドを使用して、管理クラスタとユーザー クラスタの vCenter 認証情報を更新します。
それぞれの管理クラスタとユーザー クラスタは、クラスタの作成に使用した vCenter のユーザー名とパスワードを使用して、最初に構成されます。vCenter 認証情報を更新するか、管理者のオーナー権限を別の vSphere ユーザー アカウントに移行する必要がある場合は、クラスタの構成ファイルを更新し、gkectl update credentials vsphere
コマンドを使用して変更をデプロイします。
vCenter のユーザー名とパスワードの構成の例:
...
vcenter:
credentials:
...
username: "vCenter-username@vsphere.local"
password: "vCenter-user-password"
...
始める前に
vCenter 認証情報を更新する前に、次の前提条件を満たしていることを確認してください。
クラスタ バージョン 1.3.1 以降のみがサポートされています。
gkectl update credentials vsphere
コマンドは現在、クラスタの vCenterusername
とpassword
のみをサポートしています。構成ファイルにある他の変更はすべて無視されます。クラスタに追加する vCenter 認証情報はすでに存在している必要があります。vCenter のロールとユーザー権限について確認してください。
クラスタ認証情報の更新
クラスタの vCenter 認証情報を更新するには、次の手順を実行します。
管理クラスタまたはユーザー クラスタを構成する既存の vCenter 認証情報のユーザー名とパスワードを取得します。
次のコマンドを実行して、管理ワークステーションに SSH で接続します。
ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
ここで、[IP_ADDRESS] は管理ワークステーションの IP アドレスです。
構成ファイルをエディタで開きます。
この目的でのみ変更および使用できるコピーの作成を検討してください。例:
vcenter-creds-config.yaml
構成ファイルを変更します。
管理クラスタとユーザー クラスタのどちらを更新するかに応じて、次のいずれかのセクションを削除して構成ファイルを変更する必要があります。
ユーザー クラスタを更新するには、
admincluster
セクションを削除します。構成の
usercluster
セクションはそのままにしますが、admincluster
セクションの内容はすべて削除します。例:admincluster: vcenter: network: "" bigip: ... podiprange: ""管理クラスタを更新するには、
usercluster
セクションを削除します。構成の
admincluster
セクションはそのままにしますが、usercluster
セクションの内容はすべて削除します。例:usercluster: vcenter: network: "" bigip: ... clustername: "" masternode: ... podiprange: ""
vCenter.credentials
のusername
属性と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" ...
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 へのログインに失敗した場合は、構成ファイルのusername
とpassword
を編集し、変更を再デプロイします。例:
ユーザー クラスタの例: ユーザー クラスタに 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.
- [VCENTER_CREDS_CONFIG.YAML]: クラスタにデプロイする vCenter 認証情報を含む構成ファイルを指定します。例: