1.3. API の非推奨ポリシー
OpenShift Container Platform は、多くのアップストリームコミュニティーから供給された多くのコンポーネントで構成されています。コンポーネントのセット、関連する API インターフェイス、および相関する機能は時間の経過とともに進化し、機能を削除するために正式な非推奨が必要になる可能性があると予想されます。
1.3.1. API の一部の使用の終了
OpenShift Container Platform は、複数のコンポーネントが一連の構造化 API を介してクラスターコントロールプレーンによって管理される共有状態と相互作用する分散システムです。Kubernetes の規則に従い、OpenShift Container Platform によって提供される各 API はグループ識別子に関連付けられ、各 API グループは個別にバージョン管理されます。各 API グループは、Kubernetes、Metal3、Multus、Operator Framework、Open Cluster Management、OpenShift 自体などを含む個別のアップストリームコミュニティーで管理されます。
各アップストリームコミュニティーは、特定の API グループおよびバージョンに対して固有の非推奨ポリシーを定義する場合がありますが、Red Hat はコミュニティー固有のポリシーを各アップストリームコミュニティーの統合と認識に基づいて定義された互換性レベルのいずれかに正規化し、エンドユーザーの消費やサポートを簡素化します。
API の非推奨ポリシーとスケジュールは、互換性レベルによって異なります。
非推奨ポリシーは、API のすべての要素を対象とします。以下に例を示します。
- API オブジェクトとしても知られる REST リソース
- REST リソースのフィールド
- バージョン固有の修飾子を除く、REST リソースのアノテーション
- 列挙値または定数値
各グループの最新の API バージョンを除き、古い API バージョンは、次の期間以上、非推奨が発表された後にサポートされる必要があります。
API 階層 | 期間 |
---|---|
階層 1 | メジャーリリース内で安定しています。これらはメジャーリリース内で非推奨になる可能性があります。ただし、次のメジャーリリースまで削除されません。 |
階層 2 | 非推奨の発表から 9 か月または 3 回のリリースのいずれか長い方。 |
階層 3 | コンポーネント固有のスケジュールを参照してください。 |
階層 4 | なし。互換性は保証されません。 |
次のルールは、すべての階層 1 API に適用されます。
- API 要素は、グループのバージョンをインクリメントすることによってのみ削除できます。
- API オブジェクトは、一部のバージョンに存在しない REST リソース全体を除いて、情報を失うことなく API バージョン間をラウンドトリップできるようにする必要があります。バージョン間に同等のフィールドが存在しない場合に、データは変換中にアノテーションの形式で保存されます。
- 特定のグループの API バージョンは、API オブジェクト全体が削除される場合を除いて、少なくとも安定した新しい API バージョンがリリースされるまで非推奨にすることはできません。
1.3.2. CLI 要素の廃止
クライアント向けの CLI コマンドは、API と同じ方法でバージョン管理されていませんが、ユーザー向けのコンポーネントシステムです。ユーザーが CLI を操作する 2 つの主な方法は、コマンドまたはフラグを使用することです。これは、このコンテキストでは CLI 要素と呼ばれます。
特に明記されていない限り、または CLI が下位層の API に依存している場合を除き、すべての CLI 要素はデフォルトで API 階層 1 になります。
要素 | API 階層 | |
---|---|---|
一般提供 (GA) | フラグおよびコマンド | 階層 1 |
テクノロジープレビュー | フラグおよびコマンド | 階層 3 |
開発者プレビュー | フラグおよびコマンド | 階層 4 |
1.3.3. コンポーネント全体の非推奨化
コンポーネント全体を非推奨にする期間とスケジュールは、そのコンポーネントが公開している API の最上位 API 層に関連付けられている期間に直接マップされます。たとえば、ティア 1 とティア 2 の API を表面化したコンポーネントは、ティア 1 の非推奨スケジュールが満たされるまで削除できませんでした。
API 階層 | 期間 |
---|---|
階層 1 | メジャーリリース内で安定しています。これらはメジャーリリース内で非推奨になる可能性があります。ただし、次のメジャーリリースまで削除されません。 |
階層 2 | 非推奨の発表から 9 か月または 3 回のリリースのいずれか長い方。 |
階層 3 | コンポーネント固有のスケジュールを参照してください。 |
階層 4 | なし。互換性は保証されません。 |