2.4. OpenShift Container Platform 4.18 から新しいバージョンへの更新の準備
OpenShift Container Platform 4.18 から新しいバージョンに更新する前に、Red Hat Enterprise Linux (RHEL) コンピュートマシンに関する固有の考慮事項を確認してください。
2.4.1. パッケージベースの RHEL ワーカーノードからのワークロード移行 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.19 の導入に伴い、パッケージベースの RHEL ワーカーノードがサポートされなくなります。該当するノードが稼働している間にクラスターを更新しようとすると、更新が失敗します。
ノードセレクターを使用すると、RHEL コンピュートノードで実行中の Pod を、代わりに RHCOS ノードで実行するように再スケジュールできます。
たとえば、次の Node オブジェクトには、オペレーティングシステム情報 (この場合は RHCOS) のラベルがあります。
RHCOS のラベルを含む Node オブジェクトのサンプル
- 1
- ノードで実行されるオペレーティングシステムを識別し、Pod のノードセレクターに一致するラベル。
Pod を新しい RHCOS ノードにスケジュールするには、Pod の nodeSelector フィールドに一致するラベルが含まれている必要があります。次の手順では、ラベルを追加する方法を説明します。
手順
次のコマンドを入力して、既存の Pod を現在実行している RHEL ノードをスケジューリング対象から除外します。
oc adm cordon <rhel-node>
$ oc adm cordon <rhel-node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod に
rhcosノードセレクターを追加します。既存および将来の Pod にノードセレクターを追加するには、次のコマンドを入力して、Pod のコントローラーオブジェクトにノードセレクターを追加します。
rhcosラベルを含むDeploymentオブジェクトの例oc patch dc <my-app> -p '{"spec":{"template":{"spec":{"nodeSelector":{"node.openshift.io/os_id":"rhcos"}}}}}'$ oc patch dc <my-app> -p '{"spec":{"template":{"spec":{"nodeSelector":{"node.openshift.io/os_id":"rhcos"}}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Deployment制御オブジェクト配下にある既存の Pod が、RHCOS ノード上に再作成されます。特定の新しい Pod にノードセレクターを追加するには、セレクターを
Podオブジェクトに直接追加します。rhcosラベルを含むPodオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod にも制御オブジェクトがある場合、新しい Pod は RHCOS ノードに作成されます。
2.4.2. RHEL ワーカーノードの特定と削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.19 の導入に伴い、パッケージベースの RHEL ワーカーノードがサポートされなくなります。次の手順では、ベアメタルインストール環境のクラスターを削除するために RHEL ノードを特定する方法を説明します。クラスターを正常に更新するには、次の手順を完了する必要があります。
手順
次のコマンドを入力して、クラスター内で RHEL を実行しているノードを特定します。
oc get -l node.openshift.io/os_id=rhel
$ oc get -l node.openshift.io/os_id=rhelCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS ROLES AGE VERSION rhel-node1.example.com Ready worker 7h v1.33.4 rhel-node2.example.com Ready worker 7h v1.33.4 rhel-node3.example.com Ready worker 7h v1.33.4
NAME STATUS ROLES AGE VERSION rhel-node1.example.com Ready worker 7h v1.33.4 rhel-node2.example.com Ready worker 7h v1.33.4 rhel-node3.example.com Ready worker 7h v1.33.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノード削除プロセスに進みます。RHEL ノードは Machine API によって管理されず、コンピュートマシンセットが関連付けられていません。手動でクラスターからノードを削除する前に、ノードをスケジューリング対象から除外して drain (Pod の退避) を実行する必要があります。
このプロセスの詳細は、How to remove a worker node from Red Hat OpenShift Container Platform 4 UPI を参照してください。
2.4.3. 新しい RHCOS ワーカーノードのプロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
ワークロードに追加のコンピュートノードが必要な場合は、クラスターを更新する前または更新した後に新しいノードをプロビジョニングできます。詳細は、次の マシン管理 ドキュメントを参照してください。
installer-provisioned infrastructure インストールの場合、自動スケーリングによってデフォルトで RHCOS ノードが追加されます。ベアメタルプラットフォーム上の user-provisioned infrastructure インストールの場合、RHCOS コンピュートノードをクラスターに手動で追加 できます。