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=rhel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS ROLES AGE VERSION rhel-node1.example.com Ready worker 7h v1.32.3 rhel-node2.example.com Ready worker 7h v1.32.3 rhel-node3.example.com Ready worker 7h v1.32.3
NAME STATUS ROLES AGE VERSION rhel-node1.example.com Ready worker 7h v1.32.3 rhel-node2.example.com Ready worker 7h v1.32.3 rhel-node3.example.com Ready worker 7h v1.32.3
Copy 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 コンピュートノードをクラスターに手動で追加 できます。