Satellite ワーカーノードの RHCOS への移行
Satellite
Satellite のワーカーノードをRHCOSに移行するには、以下の手順を実行してください。
RHCOSに移行するには、新しいワーカープールをプロビジョニングしてから、以前のRHELワーカープールを削除する必要があります。 新しいワーカープールは、前のワーカープールと同じゾーンに存在しなければならない。
ステップ 1: クラスタ・マスターのアップグレード
マスターを更新するには、次のコマンドを実行してください。
ibmcloud ks cluster master update --cluster CLUSTERNAMEORID --version 4.18_openshift
ステップ2:新しいRHCOSワーカープールの作成
- 新しいプールの
--operating-systemとしてRHCOSを必ず指定すること。 --size-per-zoneオプションで指定したノードの数が、RHEL ワーカー プールのゾーンごとのワーカー数と一致していることを確認する。 ワーカー・プールのゾーンと、ゾーンごとのワーカー数をリストアップするには、ibmcloud oc worker-pool get --worker-pool WORKER_POOL --cluster CLUSTERを実行する。- Cloud Pak の権利がある場合は、
--entitlement ocp_entitledオプションを必ず含めること。
-
ibmcloud oc worker-pool createコマンドを実行して、新しいワーカープールを作成する。RHCOSワーカープールを作成するコマンド例。 Satellite クラスタの場合、ワーカープールを作成する前に、まず ロケーションにホストをアタッチする 必要があることに注意してください。
ibmcloud oc worker-pool create satellite --cluster CLUSTER --host-label "os=RHCOS" --name NAME --size-per-zone SIZE --operating-system RHCOS --zone ZONE [--label LABEL] -
ワーカー・プールが作成されていることを確認し、ワーカー・プールIDをメモする。
ibmcloud oc worker-pool ls --cluster CLUSTER_NAME_OR_ID出力例
Name ID Flavor OS Workers my_workerpool aaaaa1a11a1aa1aaaaa111aa11 b3c.4x16.encrypted REDHAT_8_64 0 -
ワーカープールに1つ以上のゾーンを追加します。 ゾーンを追加すると、
--size-per-zoneオプションで指定した数のワーカーノードがゾーンに追加される。 これらのワーカーノードはRHCOSオペレーティングシステムを実行する。 RHCOSワーカープールに追加するゾーンは、置き換えるRHELワーカープールに追加するゾーンと一致させることを推奨します。 ワーカープールに接続されたゾーンを表示するには、ibmcloud oc worker-pool zones --worker-pool WORKER_POOL --cluster CLUSTERを実行します。 RHELワーカープールのゾーンと一致しないゾーンを追加する場合、ワークロードを新しいゾーンに移動しても影響がないことを確認してください。 ファイルやブロックストレージはゾーンをまたいでサポートされていないことに注意。
ステップ3:RHCOSワーカープールにワーカーノードを追加する
VPCクラスタのワーカープールにゾーンを追加する 」を参照してください。
ステップ4:ワークロードの移行
OpenShift Data Foundation や Portworx のようなソフトウェア定義ストレージ(SDS)ソリューションを使用している場合は、RHEL ワーカーノードを削除する前に、新しいワーカーノードを含むようにストレージ構成を更新し、ワークロードを検証してください。
ワークロードの再スケジューリングの詳細については、 Kubernetes ドキュメントの Safely Drain a Node または Red Hat OpenShift ドキュメントの Understanding how to evacuate pods on nodes を参照してください。
-
ノードをコード化し、個々のポッドを削除することで、ポッドごとに移行する。
oc adm cordon no/<nodeName> oc delete po -n <namespace> <podName> -
Node、ノードの水抜きによって移動する。 詳細については、 ノードの安全な排出を参照してください。
-
RHELワーカープール全体を削除して、ワーカープール単位で移行する。
ibmcloud ks worker-pool rm --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID
ステップ 5: RHEL ワーカーノードの削除
RHELワーカーを含むワーカープールを削除する。
RHELワーカープールをスケールダウンし、削除する前に数日間保持することを検討してください。 こうすることで、移行プロセス中にワークロードが中断された場合でも、ワーカープールを簡単にスケールアップすることができます。 ワークロードが安定し、正常に機能することが確認できたら、RHEL ワーカープールを安全に削除できます。
- ワーカープールを一覧表示し、削除したいワーカープールの名前をメモしてください。
ibmcloud oc worker-pool ls --cluster CLUSTER - ワーカープールを削除するコマンドを実行する。
ibmcloud oc worker-pool rm --worker-pool WORKER_POOL --cluster CLUSTER
オプショナルステップ5: Object Storage プラグインをアンインストールし、再インストールする
クラスタでCOSプラグインを使用している場合、RHELからRHCOSに移行した後、2つのオペレーティングシステム間で kube-driver パスが異なるため、アンインストールして再インストールする必要があります。 これを行わないと、 Error: failed to mkdir /usr/libexec/kubernetes: mkdir /usr/libexec/kubernetes: read-only file system のようなエラーが表示されることがある。