13.2. CLI を使用した vSphere のインストール後の設定
プラットフォーム統合機能を有効にして、vSphere で Assisted Installer を使用して OpenShift Container Platform クラスターをインストールした後、以下の vSphere 設定を手動で更新する必要があります。
- vCenter ユーザー名
- vCenter パスワード
- vCenter アドレス
- vCenter クラスター
- データセンター
- データストア
- フォルダー
前提条件
- Assisted Installer によってクラスターのインストールを正常に完了した。
- クラスターが console.redhat.com に接続されている。
手順
vCenter 用の base64 でエンコードされたユーザー名とパスワードを生成します。
echo -n "<vcenter_username>" | base64 -w0
$ echo -n "<vcenter_username>" | base64 -w0Copy to Clipboard Copied! Toggle word wrap Toggle overflow <vcenter_username>を vCenter ユーザー名に置き換えます。echo -n "<vcenter_password>" | base64 -w0
$ echo -n "<vcenter_password>" | base64 -w0Copy to Clipboard Copied! Toggle word wrap Toggle overflow <vcenter_password>を vCenter パスワードに置き換えます。vSphere 認証情報をバックアップします。
oc get secret vsphere-creds -o yaml -n kube-system > creds_backup.yaml
$ oc get secret vsphere-creds -o yaml -n kube-system > creds_backup.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vSphere 認証情報を編集します。
cp creds_backup.yaml vsphere-creds.yaml
$ cp creds_backup.yaml vsphere-creds.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vi vsphere-creds.yaml
$ vi vsphere-creds.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow <vcenter_address>は vCenter アドレスに置き換えます。<vcenter_username_encoded>は base64 でエンコードされたバージョンの vSphere ユーザー名に置き換えます。<vcenter_password_encoded>は base64 でエンコードされたバージョンの vSphere パスワードに置き換えます。vSphere 認証情報を置き換えます。
oc replace -f vsphere-creds.yaml
$ oc replace -f vsphere-creds.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow kube-controller-manager Pod を再デプロイします。
oc patch kubecontrollermanager cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' \ --type=merge$ oc patch kubecontrollermanager cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' \ --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow vSphere クラウドプロバイダー設定をバックアップします。
oc get cm cloud-provider-config -o yaml -n openshift-config > \ cloud-provider-config_backup.yaml
$ oc get cm cloud-provider-config -o yaml -n openshift-config > \ cloud-provider-config_backup.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラウドプロバイダーの設定を編集します。
OCP バージョン 4.17 以前では、
.yamlファイルのdata.configセクションで INI 構文を使用します。vi cloud-provider-config.yaml
$ vi cloud-provider-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow <vcenter_address>は vCenter アドレスに置き換えます。<datacenter>をデータセンターの名前に置き換えます。<datastore>をデータストアの名前に置き換えます。<folder>をクラスターの仮想マシンを含むフォルダーに置き換えます。OCP バージョン 4.18 以降では、
.yamlファイルのdata.configセクションで YAML 構文を使用します。cp cloud-provider-config_backup.yaml cloud-provider-config.yaml
$ cp cloud-provider-config_backup.yaml cloud-provider-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vi cloud-provider-config.yaml
$ vi cloud-provider-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow <vcenter_address>は vCenter アドレスに置き換えます。<vcenter_port>は vCenter のポート番号に置き換えます。デフォルトはポート 443 です。<datacenter>をデータセンターの名前に置き換えます。
クラウドプロバイダーの設定を適用します。
oc apply -f cloud-provider-config.yaml
$ oc apply -f cloud-provider-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow uninitializedテイントでノードをテイントします。重要OpenShift Container Platform 4.13 以降をインストールする場合は、ステップ 9 から 12 に従います。
テイントするノードを特定します。
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードごとに以下のコマンドを実行します。
oc adm taint node <node_name> node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
$ oc adm taint node <node_name> node.cloudprovider.kubernetes.io/uninitialized=true:NoScheduleCopy to Clipboard Copied! Toggle word wrap Toggle overflow <node_name>はノード名に置き換えてください。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow インフラストラクチャー設定をバックアップします。
oc get infrastructures.config.openshift.io -o yaml > infrastructures.config.openshift.io.yaml.backup
$ oc get infrastructures.config.openshift.io -o yaml > infrastructures.config.openshift.io.yaml.backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow インフラストラクチャー設定を編集します。
cp infrastructures.config.openshift.io.yaml.backup infrastructures.config.openshift.io.yaml
$ cp infrastructures.config.openshift.io.yaml.backup infrastructures.config.openshift.io.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vi infrastructures.config.openshift.io.yaml
$ vi infrastructures.config.openshift.io.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow <vcenter_address>を vCenter アドレスに置き換えます。<datacenter>を vCenter データセンターの名前に置き換えます。<datastore>を vCenter データストアの名前に置き換えます。<folder>をクラスターの仮想マシンを含むフォルダーに置き換えます。<vcenter_cluster>を、OpenShift Container Platform がインストールされている vSphere vCenter クラスターに置き換えます。インフラストラクチャー設定を適用します。
oc apply -f infrastructures.config.openshift.io.yaml --overwrite=true
$ oc apply -f infrastructures.config.openshift.io.yaml --overwrite=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow