アップグレード
Red Hat OpenShift Service on AWS のアップグレードオプションについて
概要
第1章 Red Hat OpenShift Service on AWS クラスターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
1.1. Red Hat OpenShift Service on AWS クラスターのアップグレードオプション リンクのコピーリンクがクリップボードにコピーされました!
OpenShift では、アップグレードとは、更新されたソフトウェアを使用して新しいコンポーネントをプロビジョニングし、それを使用して古いソフトウェアを含む既存のコンポーネントを置き換えることを意味します。
クラスターのどの部分をアップグレードするかを制御することで、ワークロードへのアップグレードの影響を制御できます。次に例を示します。
- Hosted Control Plane のみをアップグレードする
- これにより、Hosted Control Plane のアップグレードが開始します。ワーカーノードには影響しません。
- マシンプール内のノードをアップグレードする
- Red Hat OpenShift Service on AWS マシンプールのアップグレードは、アップグレードプロセス中にマシンプール内の各ノードを完全に置き換えるように設計されています。これにより、インプレースアップグレードを実行する場合よりもセキュリティーと安定性が向上します。マシンプール内のノードをアップグレードすると、指定されたマシンプール内のノードのローリング置換が開始され、そのマシンプールのワーカーノードに一時的に影響が及びます。複数のマシンプールを同時にアップグレードすることもできます。
マシンプールのアップグレードと同時に Hosted Control Plane をアップグレードすることはできません。まず Hosted Control Plane をアップグレードし、次にマシンプールをアップグレードする必要があります。
クラスター内のノード間の互換性を維持するために、マシンプール内のノードは Hosted Control Plane よりも新しいバージョンを使用できません。つまり、マシンプールを同じバージョンにアップグレードする前に、必ず Hosted Control Plane を特定のバージョンにアップグレードする必要があります。
各マシンプールの --max-surge
値と --max-unavailable
値を編集することで、マシンプールのアップグレードに必要な時間と、アップグレードがワークロードに与える影響をさらに制御できます。これらのオプションは、マシンプールで同時にアップグレードできるノードの数、およびアップグレードによって余分なノードがプロビジョニングされるか、既存のノードの一部が使用不可になるか、またはその両方を制御するものです。次に例を示します。
-
高いワークロードの可用性を優先するには、
--max-surge
に高い値を設定し、--max-unavailable
を0
に設定することで、既存のノードを使用不可にする代わりに余分なノードをプロビジョニングできます。 -
インフラストラクチャーコストの削減を優先するには、
--max-unavailable
に高い値を設定し、--max-surge
を0
に設定することで、既存のノードの一部を利用不可にし、余分なノードのプロビジョニングを回避することができます。 -
複数のノードを同時にアップグレードしてアップグレード速度を優先するには、
--max-surge
と--max-unavailable
の両方に適度な値を設定して、余分なノードをプロビジョニングし、一部の既存ノードを使用不可にすることができます。
これらのパラメーターとその使用方法の詳細は、ROSA CLI リファレンス の rosa edit machinepool
を参照してください。
1.2. ライフサイクルポリシーおよびプランニング リンクのコピーリンクがクリップボードにコピーされました!
アップグレードを計画するには、Red Hat OpenShift Service on AWS の更新ライフサイクル を確認してください。
ライフサイクルページには、リリースの定義、サポートおよびアップグレードの要件、インストールポリシー情報、およびライフサイクルの日付が含まれます。
アップグレードは手動で開始されるか、自動的にスケジュールされます。Red Hat Site Reliability Engineers (SRE) はアップグレードの進捗を監視し、発生した問題に対応します。
コントロールプレーンが現在マルチアーキテクチャーに対応していない場合、アップグレードプロセスでは、クラスターをマルチアーキテクチャーイメージに移行してからバージョンアップグレードを適用します。マルチアーキテクチャークラスターは、x86 ベースと Arm ベースの両方のワークロードを実行できます。2024 年 7 月 25 日以降に作成されたクラスターは、デフォルトでマルチアーキテクチャー対応になっています。
1.3. ROSA CLI を使用した Hosted Control Plane のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI を使用して、Red Hat OpenShift Service on AWS クラスターの Hosted Control Plane を手動でアップグレードできます。このメソッドは、より新しいバージョンが利用可能になった場合に、すぐに、または指定された将来の時間にコントロールプレーンのアップグレードをスケジュールします。
コントロールプレーンがサポートするのは、2 マイナー (y-stream) バージョン以内のマシンプールだけです。たとえば、バージョン 4.15.z を使用するコントロールプレーンを備えた Red Hat OpenShift Service on AWS クラスターは、バージョン 4.13.z および 4.14.z を使用するマシンプールはサポートしますが、バージョン 4.12.z を使用するマシンプールはサポートしません。
前提条件
- ROSA CLI の最新バージョンがインストール、設定されている。
- Hosted Control Plane のアップグレードと同時にマシンプールのアップグレードは実行しておらず、実行する予定もない。
手順
次のコマンドを実行して、クラスターの現在のバージョンを確認します。
rosa describe cluster --cluster=<cluster_name_or_id>
$ rosa describe cluster --cluster=<cluster_name_or_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_name_or_id>
は、クラスター名またはクラスター ID に置き換えます。
次のコマンドを実行して、コントロールプレーンをアップグレードできるバージョンをリスト表示します。
rosa list upgrade --cluster=<cluster_name_or_id>
$ rosa list upgrade --cluster=<cluster_name_or_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、推奨バージョンを含む、利用可能な更新のリストを返します。
出力例
VERSION NOTES 4.14.8 recommended 4.14.7 4.14.6
VERSION NOTES 4.14.8 recommended 4.14.7 4.14.6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、クラスターの Hosted Control Plane をアップグレードします。
rosa upgrade cluster -c <cluster_name_or_id> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
$ rosa upgrade cluster -c <cluster_name_or_id> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定したバージョンへの即時アップグレードをスケジュールするには、次のコマンドを実行します。
rosa upgrade cluster -c <cluster_name_or_id> --version <version_number>
$ rosa upgrade cluster -c <cluster_name_or_id> --version <version_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Hosted Control Plane は即時アップグレードされる予定です。
指定したバージョンへのアップグレードを将来の日付でスケジュールするには、次のコマンドを実行します。
rosa upgrade cluster -c <cluster_name_or_id> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version=<version_number>
$ rosa upgrade cluster -c <cluster_name_or_id> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version=<version_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Hosted Control Plane は、協定世界時 (UTC) で指定された時間にアップグレードされる予定です。
トラブルシューティング
- スケジュールされたアップグレードが開始されない場合があります。詳細は、Upgrade maintenance canceled を参照してください。
1.4. ROSA CLI を使用したマシンプールのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
ROSA CLI を使用して、ROSA with HCP クラスター内の 1 つ以上のマシンプールを手動でアップグレードできます。このメソッドは、より新しいバージョンがすぐに、または指定された将来の時間に利用可能になった場合に、指定されたマシンプールのアップグレードをスケジュールします。
コントロールプレーンがサポートするのは、2 マイナー (y-stream) バージョン以内のマシンプールだけです。たとえば、バージョン 4.15.z を使用するコントロールプレーンを備えた ROSA with HCP クラスターは、バージョン 4.13.z および 4.14.z のマシンプールをサポートしますが、バージョン 4.12.z を使用するマシンプールをサポートしません。
前提条件
- ROSA CLI の最新バージョンがインストール、設定されている。
- クラスター上で Hosted Control Plane のアップグレードが進行中ではなく、マシンプールのアップグレードと同時に実行する予定もない。
ノードドレインタイムアウト、max-unavailable、max-surge などのマシンプール設定は、アップグレードのタイミングと成功に影響を及ぼす可能性があります。
手順
次のコマンドを実行して、クラスターの現在のバージョンを確認します。
rosa describe cluster --cluster=<cluster_name_or_id>
$ rosa describe cluster --cluster=<cluster_name_or_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_name_or_id>
は、クラスター名またはクラスター ID に置き換えます。
出力例
OpenShift Version: 4.14.0
OpenShift Version: 4.14.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、マシンプールをアップグレードできるバージョンをリスト表示します。
rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
$ rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、推奨バージョンを含む、利用可能な更新のリストを返します。
出力例
VERSION NOTES 4.14.5 recommended 4.14.4 4.14.3
VERSION NOTES 4.14.5 recommended 4.14.4 4.14.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要マシンプールをコントロールプレーンよりも高いバージョンにアップグレードしないでください。より高いバージョンに移行する場合は、まずコントロールプレーンをそのバージョンにアップグレードします。
次のコマンドを実行して、アップグレードするマシンプールのアップグレード動作を確認します。
rosa describe machinepool --cluster=<cluster_name_or_id> <machinepool_name>
$ rosa describe machinepool --cluster=<cluster_name_or_id> <machinepool_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、これらの設定により、マシンプールはアップグレード中に 1 つの余分なノード (
replicas
の 20% のmax-surge
) をプロビジョニングし、最大 1 つのノードを使用不可 (replicas
の 20% のmax-unavailable
) にすることができます。したがって、このマシンプールは、レプリカ数を超えて 1 つの新しいノードをプロビジョニングし、1 つのノードを使用不可にして置き換えることで、一度に 2 つのノードをアップグレードできます。Pod 中断予算を持つワークロードを保護するために必要な場合、ノードのアップグレードは最大 30 分 (node-drain-grace-period
は 30 分) 遅延されることがあります。次のコマンドを実行してマシンプールをアップグレードします。
rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードするマシンプールごとにこのコマンドを実行すると、複数のマシンプールを同時にアップグレードできます。
マシンプールの即時アップグレードをスケジュールするには、次のコマンドを実行します。
rosa upgrade machinepool -c <cluster_name> <machinepool_name> --version <version_number>
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --version <version_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マシンプールは即時アップグレードするようにスケジュールされており、指定されたマシンプール内のすべてのノードのローリング置換が開始します。
アップグレードを将来の時刻に開始するようにスケジュールするには、次のコマンドを実行します。
rosa upgrade machinepool -c <cluster_name> <machinepool_name> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version <version_number>
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version <version_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow マシンプールは、協定世界時 (UTC) で指定された日時にアップグレードを開始するようにスケジュールされています。これにより、指定された時刻から、指定されたマシンプール内のすべてのノードのローリング置換が開始します。
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.