1.3. API の非推奨ポリシー
Red Hat build of MicroShift は、多くのアップストリームコミュニティーから供給された多くのコンポーネントで設定されています。コンポーネントのセット、関連する API インターフェイス、および相関する機能は時間の経過とともに進化し、機能を削除するために正式な非推奨が必要になる可能性があると予想されます。
1.3.1. API の一部の使用の終了
Red Hat build of MicroShift は、一連の構造化された API を介して、複数のコンポーネントがクラスターコントロールプレーンによって管理される共有状態と相互作用する分散システムです。Kubernetes の規則に従って、Red Hat build of MicroShift によって提示される各 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 | なし。互換性は保証されません。 |
次のルールは、すべての Tier1API に適用されます。
- 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 | なし。互換性は保証されません。 |