VPCワーカーノードのRHCOSへの移行

仮想プライベートクラウド

VPC ワーカーノードを RHCOS に移行するには、以下の手順を実行してください。

このページの情報はVPCクラスタにのみ適用されます。 Satellite、クラシッククラスタには適用されない。

クラスターバージョンから 4.18:

  • Red Hat Enterprise Linux CoreOS (RHCOS)は、VPCクラスタのデフォルト・オペレーティング・システムです。
  • RHELワーカーノードはVPCクラスタでは非推奨です。
  • バージョン 4.22 は、VPC上のRHELワーカーノードをサポートする最後のバージョンです。 今後のバージョンでは、RHCOS ワーカーノードが必要となります。

VPCクラスタをできるだけ早くRHCOSワーカーノードに移行してください。

RHEL非推奨スケジュール
マイルストーン 説明
4.18 をリリースした: 23 2025年5月 クラスタバージョンから 4.18、Red Hat Cluster Red Hat Enterprise LinuxCoreOS OS (RHCOS) がデフォルトのオペレーティングシステムとなり、RHELワーカーノードは本バージョンで非推奨となります。 RHELワーカーは、RHCOSワーカーへの移行を完了するためにのみ、バージョン 4.18。
4.22 リリース バージョン 4.22 は、VPC上のRHELワーカーノードをサポートする最後のバージョンです。 今後のバージョンにアップグレードする前に、RHEL 9 ワーカーノードを RHCOS に移行してください。

ワーカーノードをRHCOSに移行するには、以下の手順を実行します。

RHCOSに移行するには、新しいワーカープールをプロビジョニングしてから、以前のRHELワーカープールを削除する必要があります。 新しいワーカープールは、前のワーカープールと同じゾーンに存在しなければならない。

ステップ 1: クラスタ・マスターのアップグレード

マスターを更新するには、次のコマンドを実行してください。

ibmcloud ks cluster master update --cluster CLUSTERNAMEORID --version 4.18_openshift

ステップ2:新しいRHCOSワーカープールの作成

新しいRHCOSワーカープールを作成する前に、インスタンスグループのクォータ制限を確認してください。 RHCOSクラスタでは、1クラスタあたり最大12のインスタンスグループを作成できます。 各ワーカープール内の各ゾーンに対して、1つのインスタンスグループが作成されます。 たとえば、各ゾーンに3つのワーカープールがある場合、利用可能な12のインスタンスグループのうち9つを使用することになります。 12 以上のインスタンスグループが必要な場合は、 IBM サポートにお問い合わせいただき、 アカウント アカウント申請してください。

  • 新しいプールの --operating-system として RHCOS を必ず指定すること。
  • --size-per-zone オプションで指定したノードの数が、RHEL ワーカー プールのゾーンごとのワーカー数と一致していることを確認する。 ワーカー・プールのゾーンと、ゾーンごとのワーカー数をリストアップするには、 ibmcloud oc worker-pool get --worker-pool WORKER_POOL --cluster CLUSTER を実行する。
  • Cloud Pak の権利がある場合は、 --entitlement ocp_entitled オプションを必ず含めること。
  1. ibmcloud oc worker-pool create コマンドを実行して、新しいワーカー・プールを作成する。

    RHCOSワーカープールを作成するコマンド例。 worker pool create vpc-gen2 、コマンドの詳細については CLIリファレンスを 参照してください。 VPCクラスタにワーカーノードを追加する

    ibmcloud oc worker-pool create vpc-gen2 --name WORKER_POOL_NAME --cluster CLUSTER_NAME_OR_ID --flavor FLAVOR --size-per-zone NUMBER_OF_WORKERS_PER_ZONE --operating-system RHCOS [--entitlement ocp_entitled]
    
  2. ワーカー・プールが作成されていることを確認し、ワーカー・プール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
    
  3. ワーカープールに1つ以上のゾーンを追加します。 ゾーンを追加すると、 --size-per-zone オプションで指定した数のワーカーノードがゾーンに追加される。 これらのワーカーノードはRHCOSオペレーティングシステムを実行する。 RHCOSワーカープールに追加するゾーンは、置き換えるRHELワーカープールに追加するゾーンと一致させることを推奨します。 ワーカープールに接続されたゾーンを表示するには、 ibmcloud oc worker-pool zones --worker-pool WORKER_POOL --cluster CLUSTER を実行します。 RHELワーカープールのゾーンと一致しないゾーンを追加する場合、ワークロードを新しいゾーンに移動しても影響がないことを確認してください。 ファイルやブロックストレージはゾーンをまたいでサポートされていないことに注意。

ステップ3:RHCOSワーカープールにワーカーノードを追加する

VPCクラスタのワーカープールにゾーンを追加する 」を参照してください。

ステップ4:ワークロードの移行

Data Foundation OpenShift などのソフトウェア定義ストレージ(SDS)ソリューションをご利用 Portworx の場合は、RHELワーカーノードを削除する前に、新しいワーカーノードを含めるようストレージ構成を更新し、ワークロードを検証してください。

ワークロードの再スケジュールに関する詳細については、GitHub Kubernetes ドキュメントの Node 「安全なドレイン」 または「 ノード上のポッドの避難方法の理解 」を参照してください Red Hat OpenShift。

  • ノードをコード化し、個々のポッドを削除することで、ポッドごとに移行する。

    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 ワーカープールを安全に削除できます。

  1. ワーカープールを一覧表示し、削除したいワーカープールの名前をメモしておいてください。
    ibmcloud oc worker-pool ls --cluster CLUSTER
    
  2. ワーカープールを削除するコマンドを実行する。
    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 のようなエラーが表示されることがある。