第1章 API 階層について
このガイドでは、階層化された Red Hat build of MicroShift オファリングに関する説明は対象外です。
Red Hat をお使いのアプリケーション開発者は、未特定の実装に特有の動作への依存や、特定の API 実装におけるバグへの依存を防ぐために、アプリケーション開発者が依存する動作が、API の公式ドキュメントで明示的に定義されていることを確認することが求められます。たとえば、ingress ルーターの新しいリリースは、アプリケーションが文書化されていない API を使用するか、未定義の動作に依存している場合に、過去のリリースとは互換性がない場合があります。
1.1. API 階層
商用サポートされているすべての API、コンポーネント、および機能は、次のいずれかのサポートレベルに関連付けられています。
API 階層 1
API とアプリケーション動作環境 (AOE) は、メジャーリリースの間は安定性が確保されます。これらはメジャーリリース内で非推奨になる可能性があります。ただし、次のメジャーリリースまで削除されません。
API 階層 2
API と AOE は、メジャーリリース内で最低 9 か月間、または非推奨の発表から 3 つのマイナーリリースのいずれか長い方で安定しています。
API 階層 3
このレベルは、Operator Hub を通じて Red Hat build of MicroShift に含まれる言語、ツール、アプリケーション、およびオプションの Operator に適用されます。各コンポーネントは、API および AOE がサポートされるライフサイクルを指定します。言語ランタイム固有のコンポーネントの新しいバージョンは、マイナーバージョンからマイナーバージョンまで、API および AOE と可能な限り互換性があるように試みます。ただし、マイナーバージョン間の互換性は保証されません。
Operator Hub (オペランドおよび Operator と呼ばれる) を介して継続的に更新を受け取るコンポーネントおよび開発ツールは、API 階層 3 とみなされます。開発者は注意を払い、これらのコンポーネントがマイナーリリースごとにどのように変化するかを理解する必要があります。コンポーネント別に文書化されている互換性ガイドラインを参照することを推奨します。
API 階層 4
互換性は提供されません。API および AOE はいつでも変更できます。これらの機能は、長期サポートを必要とするアプリケーションで使用できません。
Operator がタスクを実行するためにカスタムリソース定義 (CRD) を内部で使用する方法は一般的な方法です。これらのオブジェクトは Operator の外部にあるアクターによって使用されることが意図されておらず、非表示にされることが意図されています。CRD が Operator の外部のアクターによる使用を意図していない場合は、ClusterServiceVersion
(CSV) の operators.operatorframework.io/internal-objects
アノテーションを指定して、対応するリソースが内部使用のみである必要があります。また、CRD は、ティア 4 として排他的にラベル付けできます。