第2章 API 互換性ガイドラインについて
このガイダンスでは、レイヤー化された OpenShift Container Platform オファリングを説明しません。
2.1. API 互換性ガイドライン
Red Hat は、OpenShift Container Platform との互換性を向上させるために、アプリケーション開発者が以下の原則を採用することを推奨しています。
- アプリケーションのニーズに一致するサポート層を備えた API とコンポーネントを使用します。
- 可能な場合は、公開されたクライアントライブラリーを使用してアプリケーションを構築します。
- アプリケーションは、実行対象として構築された環境と同じくらい新しい環境で実行される場合にのみ、正しく実行されることが保証されます。OpenShift Container Platform 4.14 用にビルドされたアプリケーションは OpenShift Container Platform 4.13 で適切に機能することが保証されていません。
- システムパッケージまたは他のコンポーネントにより提供される設定ファイルに依存するアプリケーションを設計しないでください。アップストリームコミュニティーが、それを保存するように明示的にコミットしない限り、このファイルはバージョン間で変更する場合があります。必要に応じて、前方互換性を維持するために、これらの設定ファイルを通じて Red Hat が提供するインターフェイスの抽象化により異なります。設定ファイルを直接ファイルシステムで変更することは推奨しません。デュアルライターの競合を回避するために、利用可能な場合は、Operator が提供する API と統合することが強く推奨されます。
-
unsupported<FieldName>
の接頭辞が付いた API フィールドや、製品ドキュメントに明示的に記載されていないアノテーションに依存しないでください。 - お使いのアプリケーションより互換性の保証が短いコンポーネントには依存しないでください。
- etcd サーバーで直接ストレージ操作を実行しないでください。すべての etcd アクセスは、api-server を介して、または文書化されたバックアップと復元の手順を介して実行する必要があります。
Red Hat は、アプリケーション開発者が Red Hat Enterprise Linux (RHEL) によって定義された 互換性ガイドライン に従うことを推奨しています。OpenShift Container Platform は、プラットフォーム上でアプリケーションを構築またはホストする際に、以下のガイドラインを強く推奨します。
- 特定の Linux カーネルまたは OpenShift Container Platform のバージョンに依存しないでください。
-
proc
、sys
、およびdebug
ファイルシステム、または他の擬似ファイルシステムから読み込みは避けてください。 -
ioctls
は使用せず、ハードウェアと直接対話してください。 -
コンテナー実行環境を提供する OpenShift Container Platform ホストエージェントと競合しないように、
cgroup
との直接の対話を避けてください。
リリースのライフサイクルの間、Red Hat は、すべてのマイナーリリースと z-stream リリース間で API とアプリケーションオペレーティング環境 (AOE) の互換性を維持するために商業的に合理的な努力をします。ただし、必要に応じて、重大影響を及ぼすセキュリティー問題や、その他の重要な問題に対処するために、この互換性維持の目標に Red Hat が例外を設けることがあります。