11.3. コンピューティングマシンを vSphere に手動で追加する
コンピュートマシンを VMware vSphere の OpenShift Container Platform クラスターに追加することができます。
また、コンピューティングマシンセットを使用して クラスター用の追加の VMware vSphere コンピュートマシンの作成を自動化することもできます。
11.3.1. 前提条件
- クラスターを vSphere にインストール した。
- クラスターの作成に使用したインストールメディアおよび Red Hat Enterprise Linux CoreOS (RHCOS) イメージがある。これらのファイルがない場合は、インストール手順 の説明に従って取得する必要があります。
クラスターの作成に使用された Red Hat Enterprise Linux CoreOS (RHCOS) イメージへのアクセスがない場合、より新しいバージョンの Red Hat Enterprise Linux CoreOS (RHCOS) イメージと共にコンピュートマシンを OpenShift Container Platform クラスターに追加できます。手順は、OpenShift 4.6+ へのアップグレード後の新規ノードの UPI クラスターへの追加の失敗 を参照してください。
11.3.2. vSphere でのコンピュートマシンのクラスターへの追加
コンピュートマシンを VMware vSphere の user-provisioned OpenShift Container Platform クラスターに追加することができます。
vSphere テンプレートを OpenShift Container Platform クラスターにデプロイした後に、そのクラスター内のマシンの仮想マシン (VM) をデプロイできます。
前提条件
- コンピュートマシンの base64 でエンコードされた Ignition ファイルを取得します。
- クラスター用に作成した vSphere テンプレートにアクセスできる必要があります。
手順
- 
							テンプレートの名前を右クリックし、Clone Clone to Virtual Machine をクリックします。 
- Select a name and folder タブで、仮想マシンの名前を指定します。 - compute-1などのように、マシンタイプを名前に含めることができるかもしれません。注記- vSphere インストール全体のすべての仮想マシン名が一意であることを確認してください。 
- Select a name and folder タブで、クラスターに作成したフォルダーの名前を選択します。
- Select a compute resource タブで、データセンター内のホストの名前を選択します。
- Select storage タブで、設定ファイルとディスクファイル用のストレージを選択します。
- Select clone options で、Customize this virtual machine's hardware を選択します。
- Customize hardware タブで、Advanced Parameters をクリックします。 - Attribute フィールドおよび Values フィールドにデータを指定して、以下の設定パラメーター名と値を追加します。作成するパラメーターごとに Add ボタンを選択してください。 - 
											guestinfo.ignition.config.data: このマシンファイルの base64 でエンコードしたコンピュート Ignition 設定ファイルの内容を貼り付けます。
- 
											guestinfo.ignition.config.data.encoding:base64を指定します。
- 
											disk.EnableUUID:TRUEを指定します。
 
- 
											
 
- Customize hardware タブの Virtual Hardware パネルで、必要に応じて指定した値を変更します。RAM、CPU、およびディスクストレージの量がマシンタイプの最小要件を満たすことを確認してください。多くのネットワークが存在する場合は、Add New Device > Network Adapter を選択し、New Network メニュー項目に表示されるフィールドにネットワーク情報を入力します。
- 残りの設定手順を完了します。Finish ボタンをクリックして、クローン作成操作を完了します。
- 
							Virtual Machines タブで仮想マシンを右クリックし、Power Power On を選択します。 
次のステップ
- 継続してクラスター用の追加のコンピュートマシンを作成します。
11.3.3. マシンの証明書署名要求の承認
マシンをクラスターに追加する際に、追加したそれぞれのマシンに対して 2 つの保留状態の証明書署名要求 (CSR) が生成されます。これらの CSR が承認されていることを確認するか、必要な場合はそれらを承認してください。最初にクライアント要求を承認し、次にサーバー要求を承認する必要があります。
前提条件
- マシンがクラスターに追加されています。
手順
- クラスターがマシンを認識していることを確認します。 - oc get nodes - $ oc get nodes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME STATUS ROLES AGE VERSION master-0 Ready master 63m v1.29.4 master-1 Ready master 63m v1.29.4 master-2 Ready master 64m v1.29.4 - NAME STATUS ROLES AGE VERSION master-0 Ready master 63m v1.29.4 master-1 Ready master 63m v1.29.4 master-2 Ready master 64m v1.29.4- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力には作成したすべてのマシンがリスト表示されます。 注記- 上記の出力には、一部の CSR が承認されるまで、ワーカーノード (ワーカーノードとも呼ばれる) が含まれない場合があります。 
- 保留中の証明書署名要求 (CSR) を確認し、クラスターに追加したそれぞれのマシンのクライアントおよびサーバー要求に - Pendingまたは- Approvedステータスが表示されていることを確認します。- oc get csr - $ oc get csr- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME AGE REQUESTOR CONDITION csr-8b2br 15m system:serviceaccount:openshift-machine-config-operator:node-bootstrapper Pending csr-8vnps 15m system:serviceaccount:openshift-machine-config-operator:node-bootstrapper Pending ... - NAME AGE REQUESTOR CONDITION csr-8b2br 15m system:serviceaccount:openshift-machine-config-operator:node-bootstrapper Pending csr-8vnps 15m system:serviceaccount:openshift-machine-config-operator:node-bootstrapper Pending ...- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - この例では、2 つのマシンがクラスターに参加しています。このリストにはさらに多くの承認された CSR が表示される可能性があります。 
- 追加したマシンの保留中の CSR すべてが - Pendingステータスになった後に CSR が承認されない場合には、クラスターマシンの CSR を承認します。注記- CSR のローテーションは自動的に実行されるため、クラスターにマシンを追加後 1 時間以内に CSR を承認してください。1 時間以内に承認しない場合には、証明書のローテーションが行われ、各ノードに 3 つ以上の証明書が存在するようになります。これらの証明書すべてを承認する必要があります。クライアントの CSR が承認された後に、Kubelet は提供証明書のセカンダリー CSR を作成します。これには、手動の承認が必要になります。次に、後続の提供証明書の更新要求は、Kubelet が同じパラメーターを持つ新規証明書を要求する場合に - machine-approverによって自動的に承認されます。注記- ベアメタルおよび他の user-provisioned infrastructure などのマシン API ではないプラットフォームで実行されているクラスターの場合、kubelet 提供証明書要求 (CSR) を自動的に承認する方法を実装する必要があります。要求が承認されない場合、API サーバーが kubelet に接続する際に提供証明書が必須であるため、 - oc exec、- oc rsh、および- oc logsコマンドは正常に実行できません。Kubelet エンドポイントにアクセスする操作には、この証明書の承認が必要です。この方法は新規 CSR の有無を監視し、CSR が- system:nodeまたは- system:adminグループの- node-bootstrapperサービスアカウントによって提出されていることを確認し、ノードの ID を確認します。- それらを個別に承認するには、それぞれの有効な CSR に以下のコマンドを実行します。 - oc adm certificate approve <csr_name> - $ oc adm certificate approve <csr_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- <csr_name>は、現行の CSR のリストからの CSR の名前です。
 
- すべての保留中の CSR を承認するには、以下のコマンドを実行します。 - oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs --no-run-if-empty oc adm certificate approve- $ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs --no-run-if-empty oc adm certificate approve- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- 一部の Operator は、一部の CSR が承認されるまで利用できない可能性があります。 
 
- クライアント要求が承認されたら、クラスターに追加した各マシンのサーバー要求を確認する必要があります。 - oc get csr - $ oc get csr- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME AGE REQUESTOR CONDITION csr-bfd72 5m26s system:node:ip-10-0-50-126.us-east-2.compute.internal Pending csr-c57lv 5m26s system:node:ip-10-0-95-157.us-east-2.compute.internal Pending ... - NAME AGE REQUESTOR CONDITION csr-bfd72 5m26s system:node:ip-10-0-50-126.us-east-2.compute.internal Pending csr-c57lv 5m26s system:node:ip-10-0-95-157.us-east-2.compute.internal Pending ...- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 残りの CSR が承認されず、それらが - Pendingステータスにある場合、クラスターマシンの CSR を承認します。- それらを個別に承認するには、それぞれの有効な CSR に以下のコマンドを実行します。 - oc adm certificate approve <csr_name> - $ oc adm certificate approve <csr_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- <csr_name>は、現行の CSR のリストからの CSR の名前です。
 
- すべての保留中の CSR を承認するには、以下のコマンドを実行します。 - oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve- $ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- すべてのクライアントおよびサーバーの CSR が承認された後に、マシンのステータスが - Readyになります。以下のコマンドを実行して、これを確認します。- oc get nodes - $ oc get nodes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- サーバー CSR の承認後にマシンが - Readyステータスに移行するまでに数分の時間がかかる場合があります。
関連情報
- CSR の詳細は、Certificate Signing Requests を参照してください。