第5章 EUS から EUS への更新を実行するための準備
基本的な Kubernetes の設計により、マイナーバージョン間のすべての OpenShift Container Platform の更新をシリアル化する必要があります。OpenShift Container Platform 4.8 から 4.9 に更新してから、4.10 に更新する必要があります。OpenShift Container Platform 4.8 から 4.10 に直接更新することはできません。ただし、OpenShift Container Platform 4.8 から 4.9、そして 4.10 への更新以降、2 つの Extended Update Support (EUS) バージョン間で更新を希望する管理者は、コントロールプレーン以外のホストを 1 回再起動するだけで更新できます。
EUS から EUS への更新を試みる際に考慮すべきいくつかの注意事項があります。
-
EUS から EUS への更新は、関連するすべてのバージョン間の更新が
stable
チャネルで利用可能になった後にのみ提供されます。 - 奇数のマイナーバージョンへのアップグレード中またはアップグレード後 (ただし、次の偶数のバージョンにアップグレードする前) に問題が発生した場合、これらの問題を修正するには、コントロールプレーン以外のホストが先に進む前に奇数のバージョンへの更新を完了する必要がある場合があります。
- 中間ステップで一時停止することにより、複数のメンテナンスウィンドウ中に更新プロセスを完了することができます。ただし、更新全体を 60 日以内に完了するように計画してください。これは、証明書のローテーションに関連するプロセスを含め、通常のクラスター自動化プロセスを確実に完了するために重要です。
- EUS から EUS への更新手順を開始する前に、少なくとも OpenShift Container Platform 4.8.14 を実行している必要があります。この最小要件を満たしていない場合は、EUS から EUS への更新を試みる前に、以降の 4.8.z に更新してください。
- RHEL7 ワーカーのサポートは OpenShift Container Platform 4.10 で削除され、RHEL8 ワーカーに置き換えられたため、RHEL7 ワーカーを使用するクラスターでは EUS から EUS への更新は利用できません。
- ノードコンポーネントは OpenShift Container Platform 4.9 に更新されません。OpenShift Container Platform 4.10 への更新を完了し、すべての Machine Config Pools の更新を有効にするまで、OpenShift Container Platform 4.9 で修正されたすべての機能とバグが利用可能になることを期待しないでください。
-
すべてのクラスターは、プールを一時停止せずに従来の更新に EUS チャネルを使用して更新できますが、プールを一時停止して EUS から EUS への更新を実行できるのは、コントロールプレーン以外の
MachineConfigPools
オブジェクトを持つクラスターのみです。
5.1. EUS から EUS への更新
次の手順では、マスター以外のすべての MachineConfigPools を一時停止し、OpenShift Container Platform 4.8 から 4.9、そして 4.10 への更新を実行してから、以前に一時停止した MachineConfigPools の一時停止を解除します。この手順に従うと、合計更新期間とワーカーノードが再起動される回数が減ります。
前提条件
- OpenShift Container Platform 4.9 および 4.10 のリリースノートを確認します
- 階層化された製品および OLM オペレーターのリリースノートおよび製品ライフサイクルを確認します。EUS から EUS への更新前または更新中に更新が必要になる場合があります。
- OpenShift Container Platform 4.8 から 4.9 にアップグレードする前に必要な 管理者の確認 など、バージョン固有の前提条件に精通していることを確認してください。
- クラスターが OpenShift Container Platform バージョン 4.8.14 以降を実行していることを確認します。クラスターが OpenShift Container Platform 4.8.14 より前のバージョンを実行している場合は、4.9 に更新する前に、より新しい 4.8.z バージョンに更新する必要があります。MachineConfigPools を一時停止せずに実行する必要がある最小バージョン要件を満たすには、4.8.14 以降への更新が必要です。
- MachineConfigPools が一時停止されていないことを確認します。
手順
- OLM オペレーターを、更新する両方のバージョンと互換性のあるバージョンにアップグレードします。
すべての MachineConfigPools が
UPDATED
のステータスを表示し、MachineConfigPools がUPDATING
のステータスを表示しないことを確認します。すべての MachineConfigPools のステータスを表示するには、次のコマンドを実行します。$ oc get mcp
出力例
わかりやすくするために、出力はトリミングされています。
NAME CONFIG UPDATED UPDATING master rendered-master-ecbb9582781c1091e1c9f19d50cf836c True False worker rendered-worker-00a3f0c68ae94e747193156b491553d5 True False
再起動をスキップする MachineConfigPools を一時停止するには、次のコマンドを実行します。
注記マスタープールを一時停止することはできません。
$ oc patch mcp/worker --type merge --patch '{"spec":{"paused":true}}'
eus-4.10
チャネルに変更し、次のコマンドを実行します。$ oc adm upgrade channel eus-4.10
4.9 に更新するには、次のコマンドを実行します。
$ oc adm upgrade --to-latest
出力例
Updating to latest version 4.9.18
クラスターのバージョンを確認し、以下のコマンドを実行して更新が完了したことを確認します。
$ oc get clusterversion
出力例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.9.18 True False 6m29s Cluster version is 4.9.18
- 必要に応じて、Web コンソールの管理者パースペクティブを使用して OLM オペレーターをアップグレードします。
4.10 に更新するには、次のコマンドを実行します。
$ oc adm upgrade --to-latest
クラスターのバージョンを確認し、以下のコマンドを実行して更新が完了したことを確認します。
$ oc get clusterversion
出力例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.10.1 True False 6m29s Cluster version is 4.10.1
以前に一時停止したすべての MachineConfigPools の一時停止を解除するには、次のコマンドを実行します。
$ oc patch mcp/worker --type merge --patch '{"spec":{"paused":false}}'
注記プールの一時停止が解除されていない場合、クラスターは将来のマイナーへの更新が許可されず、証明書のローテーションなどの保守タスクが禁止されます。これにより、クラスターは将来の劣化のリスクにさらされます。
以前に一時停止したプールが更新され、クラスターが 4.10 への更新を完了したことを確認するには、次のコマンドを実行します。
$ oc get mcp
出力例
わかりやすくするために、出力はトリミングされています。
NAME CONFIG UPDATED UPDATING master rendered-master-52da4d2760807cb2b96a3402179a9a4c True False worker rendered-worker-4756f60eccae96fb9dcb4c392c69d497 True False