5.3.5. OpenShift Container Platform バージョンとの互換性
クラスター管理者は、OpenShift Container Platform クラスターを次のマイナーバージョンに更新する前に、インストールされているすべての Operator がクラスターの次のマイナーバージョン (4.y+1) と互換性のあるバンドルバージョンに更新されていることを確認する必要があります。
たとえば、Kubernetes は定期的に特定の API を非推奨とし、後続のリリースで削除します。拡張機能が非推奨の API を使用している場合、OpenShift Container Platform クラスターをその API が削除された Kubernetes バージョンに更新すると、拡張機能が機能しなくなる可能性があります。
Operator の作成者は、特定のバンドルバージョンがサポートされておらず、何らかの理由で特定のクラスターマイナーバージョン以降の OpenShift Container Platform で正しく動作しないことがわかっている場合、Operator と互換性のある OpenShift Container Platform の最大バージョンを設定できます。
作成者は、Operator プロジェクトのクラスターサービスバージョン (CSV) で olm.maxOpenShiftVersion アノテーションを設定することで、インストール済みの Operator を互換性のあるバージョンに更新する前に管理者がクラスターを更新するのを防ぐことができます。
olm.maxOpenShiftVersion アノテーションを含む CSV の例
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
"olm.properties": '[{"type": "olm.maxOpenShiftVersion", "value": "<cluster_version>"}]'
- 1
- Operator と互換性のある OpenShift Container Platform (4.y) の最新のマイナーバージョンを指定します。たとえば、
valueを4.20に設定すると、このバンドルがクラスターにインストールされている場合に、クラスターが 4.20 より後のマイナーバージョンに更新されなくなります。olm.maxOpenShiftVersionフィールドが省略されている場合、この Operator によってクラスターの更新はブロックされません。
OLM v1 は、クラスターの次のマイナーバージョン (4.y+1) を決定するときに、メジャーバージョンとマイナーバージョン (x と y) のみを比較対象として考慮します。パッチリリースまたはプレリリースバージョンとも呼ばれる z-stream バージョン (4.y.z) は無視されます。
たとえば、クラスターの現在のバージョンが 4.20.0 の場合、次のマイナーバージョンは 4.21 です。現在のバージョンが 4.20.0-rc1 の場合も、次のマイナーバージョンは 4.21 です。
5.3.5.1. olm クラスター Operator によってブロックされたクラスターの更新 リンクのコピーリンクがクリップボードにコピーされました!
インストール済み Operator の olm.maxOpenShiftVersion フィールドが設定されており、クラスター管理者が、Operator が有効な更新パスを提供しないバージョンにクラスターを更新しようとすると、クラスターの更新が失敗し、olm クラスター Operator の Upgradeable ステータスが False に設定されます。
この問題を解決するには、クラスター管理者は、インストールされている Operator を有効な更新パスのあるバージョンに更新するか (有効な更新パスがある場合)、Operator をアンインストールする必要があります。その後、クラスターの更新を再度試みることができます。