第11章 Serverless のアップグレード
OpenShift Serverless は、リリースバージョンをスキップせずにアップグレードする必要があります。本セクションでは、アップグレードに関する問題を解決する方法を説明します。
11.1. Serverless Operator メンテナンスリリースのアップグレード
11.1.1. 最新リリースとメンテナンスリリース
OpenShift Serverless 1.29 以降、次のようなさまざまな製品バージョンが利用できます。
-
最新リリースは
stable
チャネルから入手できます。 メンテナンスリリースは、バージョンベースのチャネル (
stable-1.29
など) を通じて入手できます。注記メンテナンスリリースは、最新リリースよりも前のリリースです。たとえば、
stable
チャネルにバージョン 1.30 が含まれている場合、メンテナンスリリースはstable-1.29
チャネルで利用可能になります。
バージョンベースのチャネルを使用すると、特定の x.y
ストリーム内にとどまることができます。さらに、重大な変更が含まれる可能性がある製品の最新バージョンへのアップグレードが妨げられます。
メンテナンスリリースに切り替えるには、サブスクリプションオブジェクト YAML ファイルのチャネルパラメーターを stable
から対応するバージョンベースのチャネル (stable-1.29
など) に更新します。
11.1.2. メンテナンスリリースのパッチとホットフィックス
安定版リリースと同様に、メンテナンスリリースにはパッチとホットフィックスが適用されるため、重要なバグやセキュリティーの修正によりデプロイメントを最新の状態に保つことができます。
- パッチは、z-release として配布される更新です。たとえば、OpenShift Serverless 1.29.1 は、バージョン 1.29.0 以降に行われた更新を提供するパッチです。
ホットフィックスは、ダウンタイムを必要とせず、運用環境で直接使用される修正です。これらは、最新のリリースされたバージョンではなく、顧客がデプロイメントしたバージョンをアップグレードするという点で、通常の更新とは異なります。
ホットフィックスは、すべてのお客様にすぐに提供されるわけではありません。ただし、ホットフィックスによって導入された変更は、多くの場合、将来のリリースの一部としてすべての顧客が利用できるようになります。
導入に関連するホットフィックスが利用可能になると、サブスクリプションを更新してホットフィックスを入手するためのホットフィックス CatalogSource が提供されます。
新しいオペレーターのリリースが利用可能になった後、ホットフィックスを適用してデプロイされたオペレーターもアップグレードできます。最新の GA バージョンを使用するには、ホットフィックスの代わりにパブリック CatalogSource を使用するようにサブスクリプションを変更します。
次の図は、パッチとホットフィックスがどのように機能するかを示しています。
stable stable-1.28 +--------------+ +--------------------------------------------+ | | | | | +--------+ | corresponds to | +--------+ +--------+ +--------+ | | | 1.28.0 |----------------------> | 1.28.0 | | 1.28.1 | | 1.28.2 | | | +--------+ | | +--------+ +--------+ +--------+ | | | | | ^ | | | | +-----|-------------------|------------|-----+ | +--------+ | created| |upgrades | | | 1.28.1 | | from | hotfix_xyz |to | | +--------+ | | +------------+ | | | | +-->| |--+ | | | | | | | +--------+ | upgrades to +------------+ | | | 1.29.0 |<----------------------------------------------------------+ | +--------+ | | | | | | +--------+ | | | 1.30.0 | | | +--------+ | | | +--------------+
11.1.3. メンテナンスリリースのアップグレードパス
バージョンベースのチャネルを使用している場合は、チャネルまたはヘッドでいつでも最新バージョンにアップグレードできます。たとえば、stable-1.29
チャネルでは 1.29.0 から 1.29.2 にアップグレードできます。
さらに、チャネルの先頭から、次の x.y
リリースにアップグレードできます。たとえば、1.29.2 が stable-1.29
チャネルの先頭である場合、1.29.2 から 1.30 にアップグレードできます。このようなクロスチャネル更新は自動的には行われないため、管理者はサブスクリプションを更新してチャネルを手動で切り替える必要があります。
11.1.4. アップグレードの例
11.1.4.1. シナリオ 1
このシナリオでは、次の状況が当てはまります。
-
チャネルが
stable-1.28
-
stable
チャネルに切り替えている - 現在インストールされているバージョンは 1.28.0
- 1.29.0 は 1.28.1 より前にリリースされている
-
1.30.0 は
stable
チャネルのヘッド
このシナリオにおける stable-1.28
の 1.28.0 から stable
の 1.29.0 へのアップグレードパスは、1.28.0、1.28.1、1.29.0 です。
stable stable-1.28 +--------------+ +--------------+ | | | | | +--------+ | | +--------+ | | | 1.28.0 | | | | 1.28.0 | | | +--------+ | | +--------+ | | | | | | | | | | | | +--------+ | | | | | | 1.29.0 |<-------- | v | | +--------+ | | | +--------+ | | | +---------| 1.28.1 | | | | | +--------+ | | +--------+ | | | | | 1.30.0 | | | | | +--------+ | | | | | | | +--------------+ +--------------+
11.1.4.2. シナリオ 2
このシナリオでは、次の状況が当てはまります。
-
チャネルは
stable-1.29
- 現在インストールされているバージョンは 1.29.0
-
1.29.1 は、
1. 30.0
がstable
チャネルにリリースされる前にstable-1.29
チャネルとstable
チャネルの両方にリリースされている
このシナリオでは、stable-1.29
の 1.29.0 から stable
の 1.30.0 へのアップグレードパスは、1.29.0 から 1.29.1 から 1.30.0 です。
stable stable-1.29 +--------------+ +--------------+ | | | | | +--------+ | | +--------+ | | | 1.29.0 | | | | 1.29.0 | | | +--------+ | | +--------+ | | | | | | | | | v | | +--------+ | | +--------+ | | | 1.29.1 | | | | 1.29.1 | | | +--------+ | | +--------+ | | | | | | | | | | | | +--------+ | | | | | | 1.30.0 |<---------------------+ | | +--------+ | | | | | | | +--------------+ +--------------+
11.1.4.3. シナリオ 3
このシナリオでは、次の状況が当てはまります。
-
チャネルは
stable-1.29
-
stable-1.30
チャネルに切り替えている - 現在インストールされているバージョンは 1.29.1
-
1.29.1 は
stable-1.29
チャネルのヘッド
このシナリオでは、stable-1.29
の 1.29.1 から stable-1.30
の 1.30.0 へのアップグレードパスは、1.29.1 から 1.30.0 です。
stable-1.29 stable-1.30 +--------------+ +--------------+ | | | | | +--------+ | | +--------+ | | | 1.29.0 | | ------> | 1.30.0 | | | +--------+ | | | +--------+ | | | | | | | | | | | | +--------+ | | | | | | 1.29.1 |-------+ | | | +--------+ | | | | | | | +--------------+ +--------------+