14.2. ベアメタルホストのメンテナンス
OpenShift Container Platform Web コンソールからクラスター内のベアメタルホストの詳細を維持することができます。Compute
ベアメタルホストをメンテナンスモードに移行できます。ホストをメンテナンスモードに移行すると、スケジューラーはすべての管理ワークロードを対応するベアメタルノードから移動します。新しいワークロードは、メンテナンスモードの間はスケジュールされません。
Web コンソールでベアメタルホストのプロビジョニングを解除することができます。ホストのプロビジョニング解除により以下のアクションが実行されます。
-
ベアメタルホスト CR に
cluster.k8s.io/delete-machine: trueのアノテーションを付けます。 - 関連するコンピュートマシンセットをスケールダウンします
デーモンセットおよび管理対象外の静的 Pod を別のノードに最初に移動することなく、ホストの電源をオフにすると、サービスの中断やデータの損失が生じる場合があります。
14.2.1. Web コンソールを使用したベアメタルホストのクラスターへの追加 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールのクラスターにベアメタルホストを追加できます。
前提条件
- RHCOS クラスターのベアメタルへのインストール
-
cluster-admin権限を持つユーザーとしてログインしている。
手順
-
Web コンソールで、Compute
Bare Metal Hosts に移動します。 -
Add Host
New with Dialog を選択します。 - 新規ベアメタルホストの一意の名前を指定します。
- Boot MAC address を設定します。
- Baseboard Management Console (BMC) Address を設定します。
- ホストのベースボード管理コントローラー (BMC) のユーザー認証情報を入力します。
- 作成後にホストの電源をオンにすることを選択し、Create を選択します。
-
利用可能なベアメタルホストの数に一致するようにレプリカ数をスケールアップします。Compute
MachineSets に移動し、Actions ドロップダウンメニューから Edit Machine count を選択してクラスター内のマシンレプリカ数を増やします。
oc scale コマンドおよび適切なベアメタルコンピュートマシンセットを使用して、ベアメタルノードの数を管理することもできます。
14.2.2. Web コンソールの YAML を使用したベアメタルホストのクラスターへの追加 リンクのコピーリンクがクリップボードにコピーされました!
ベアメタルホストを記述する YAML ファイルを使用して、Web コンソールのクラスターにベアメタルホストを追加できます。
前提条件
- クラスターで使用するために RHCOS コンピュートマシンをベアメタルインフラストラクチャーにインストールします。
-
cluster-admin権限を持つユーザーとしてログインしている。 -
ベアメタルホストの
SecretCR を作成します。
手順
-
Web コンソールで、Compute
Bare Metal Hosts に移動します。 -
Add Host
New from YAML を選択します。 以下の YAML をコピーして貼り付け、ホストの詳細で関連フィールドを変更します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
credentialsNameは有効なSecretCR を参照する必要があります。baremetal-operatorは、credentialsNameで参照される有効なSecretなしに、ベアメタルホストを管理できません。シークレットの詳細および作成方法は、シークレットについて を参照してください。- 2
disableCertificateVerificationをtrueに設定すると、クラスターとベースボード管理コントローラー (BMC) の間の TLS ホスト検証が無効になります。
- Create を選択して YAML を保存し、新規ベアメタルホストを作成します。
利用可能なベアメタルホストの数に一致するようにレプリカ数をスケールアップします。Compute
MachineSets に移動し、Actions ドロップダウンメニューから Edit Machine count を選択してクラスター内のマシン数を増やします。 注記oc scaleコマンドおよび適切なベアメタルコンピュートマシンセットを使用して、ベアメタルノードの数を管理することもできます。
14.2.3. 利用可能なベアメタルホストの数へのマシンの自動スケーリング リンクのコピーリンクがクリップボードにコピーされました!
利用可能な BareMetalHost オブジェクトの数に一致する Machine オブジェクトの数を自動的に作成するには、metal3.io/autoscale-to-hosts アノテーションを MachineSet オブジェクトに追加します。
前提条件
-
クラスターで使用する RHCOS ベアメタルコンピュートマシンをインストールし、対応する
BareMetalHostオブジェクトを作成している。 -
OpenShift Container Platform CLI (
oc) をインストールしている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
metal3.io/autoscale-to-hostsアノテーションを追加して、自動スケーリング用に設定するコンピュートマシンセットにアノテーションを付けます。<machineset>をコンピュートマシンセットの名前に置き換えます。oc annotate machineset <machineset> -n openshift-machine-api 'metal3.io/autoscale-to-hosts=<any_value>'
$ oc annotate machineset <machineset> -n openshift-machine-api 'metal3.io/autoscale-to-hosts=<any_value>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいスケーリングされたマシンが起動するまで待ちます。
BareMetalHost オブジェクトを使用してクラスター内にマシンを作成し、その後ラベルまたはセレクターが BareMetalHost で変更される場合、BareMetalHost オブジェクトは Machine オブジェクトが作成された MachineSet に対して引き続きカウントされます。
14.2.4. プロビジョナーノードからのベアメタルホストの削除 リンクのコピーリンクがクリップボードにコピーされました!
特定の状況では、プロビジョナーノードからベアメタルホストを一時的に削除する場合があります。たとえば、OpenShift Container Platform 管理コンソールを使用して、または Machine Config Pool の更新の結果として、ベアメタルホストの再起動がトリガーされたプロビジョニング中に、OpenShift Container Platform は統合された Dell Remote Access Controller (iDrac) にログインし、ジョブキューの削除を発行します。
利用可能な BareMetalHost オブジェクトの数と一致する数の Machine オブジェクトを管理しないようにするには、baremetalhost.metal3.io/detached アノテーションを MachineSet オブジェクトに追加します。
このアノテーションは、Provisioned、ExternallyProvisioned、または Ready/Available 状態の BareMetalHost オブジェクトに対してのみ効果があります。
前提条件
-
クラスターで使用する RHCOS ベアメタルコンピュートマシンをインストールし、対応する
BareMetalHostオブジェクトを作成している。 -
OpenShift Container Platform CLI (
oc) をインストールしている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
プロビジョナーノードから削除するコンピューティングマシンセットに、
baremetalhost.metal3.io/detachedアノテーションを追加してアノテーションを付けます。oc annotate machineset <machineset> -n openshift-machine-api 'baremetalhost.metal3.io/detached'
$ oc annotate machineset <machineset> -n openshift-machine-api 'baremetalhost.metal3.io/detached'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいマシンが起動するまで待ちます。
注記BareMetalHostオブジェクトを使用してクラスター内にマシンを作成し、その後ラベルまたはセレクターがBareMetalHostで変更される場合、BareMetalHostオブジェクトはMachineオブジェクトが作成されたMachineSetに対して引き続きカウントされます。プロビジョニングのユースケースでは、次のコマンドを使用して、再起動が完了した後にアノテーションを削除します。
oc annotate machineset <machineset> -n openshift-machine-api 'baremetalhost.metal3.io/detached-'
$ oc annotate machineset <machineset> -n openshift-machine-api 'baremetalhost.metal3.io/detached-'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.2.5. ベアメタルホストの電源をオフにする リンクのコピーリンクがクリップボードにコピーされました!
ベアメタルクラスターホストの電源は、Web コンソールからオフにするか、OpenShift CLI (oc) を使用してクラスター内でパッチを適用することでオフにできます。ホストの電源をオフにする前に、ノードにスケジュール対象外 (unschedulable) のマークを付け、ノードからすべての Pod およびワークロードをドレインする必要があります。
前提条件
- クラスターで使用するために、ベアメタルインフラストラクチャーに RHCOS コンピュートマシンをインストールしている。
-
cluster-admin権限を持つユーザーとしてログインしている。 -
管理対象となるようにホストを設定し、クラスターホストの BMC 認証情報を追加している。BMC 認証情報を追加するには、クラスターで
Secretカスタムリソース (CR) を適用するか、Web コンソールにログインして管理対象となるようにベアメタルホストを設定します。
手順
Web コンソールで、電源をオフにするノードをスケジュール対象外としてマークします。以下の手順を実行します。
- Nodes に移動し、電源をオフにするノードを選択します。Actions メニューを展開し、Mark as unschedulable を選択します。
- Pod デプロイメントを調整するか、またはノードでワークロードをゼロにスケールダウンして、ノード上で実行中の Pod を手動で削除または再配置します。ドレインプロセスが完了するまで待ちます。
-
Compute
Bare Metal Hosts に移動します。 - 電源をオフにするベアメタルホストの Options メニュー を展開し、Power Off を選択します。Immediate power off を選択します。
または、
ocを使用して、電源をオフにするホストのBareMetalHostリソースにパッチを適用できます。管理対象ベアメタルホストの名前を取得します。以下のコマンドを実行します。
oc get baremetalhosts -n openshift-machine-api -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.provisioning.state}{"\n"}{end}'$ oc get baremetalhosts -n openshift-machine-api -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.provisioning.state}{"\n"}{end}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードをスケジューリング対象外としてマークします。
oc adm cordon <bare_metal_host>
$ oc adm cordon <bare_metal_host>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<bare_metal_host>は、シャットダウンするホストです (例:worker-2.example.com)。
ノード上のすべての Pod をドレイン (解放) します。
oc adm drain <bare_metal_host> --force=true
$ oc adm drain <bare_metal_host> --force=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow レプリケーションコントローラーでサポートされる Pod は、クラスター内の他の利用可能なノードに再スケジュールされます。
ベアメタルホストの電源を安全にオフにします。以下のコマンドを実行します。
oc patch <bare_metal_host> --type json -p '[{"op": "replace", "path": "/spec/online", "value": false}]'$ oc patch <bare_metal_host> --type json -p '[{"op": "replace", "path": "/spec/online", "value": false}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ホストの電源をオンにしたら、ノードをワークロードに対してスケジュール可能な状態にします。以下のコマンドを実行します。
oc adm uncordon <bare_metal_host>
$ oc adm uncordon <bare_metal_host>Copy to Clipboard Copied! Toggle word wrap Toggle overflow