Skip to content

Commit 46a5ddb

Browse files
authored
Merge pull request #39862 from ystkfujii/feat/using-api_index
[ja] Clarify API version stability and guidelines
2 parents 3254b2c + 58cf159 commit 46a5ddb

File tree

2 files changed

+25
-14
lines changed

2 files changed

+25
-14
lines changed

content/ja/docs/concepts/overview/kubernetes-api.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,9 @@ APIの発展や拡張を簡易に行えるようにするため、Kubernetesは[
145145

146146
APIリソースは、APIグループ、リソースタイプ、ネームスペース(namespacedリソースのための)、名前によって区別されます。APIサーバーは、APIバージョン間の変換を透過的に処理します。すべてのバージョンの違いは、実際のところ同じ永続データとして表現されます。APIサーバーは、同じ基本的なデータを複数のAPIバージョンで提供することができます。
147147

148-
例えば、同じリソースで`v1``v1beta1`の2つのバージョンが有ることを考えてみます。`v1beta1`バージョンのAPIを利用しオブジェクトを最初に作成したとして、`v1beta1`もしくは`v1`どちらのAPIバージョンを利用してもオブジェクトのread、update、deleteができます。
148+
例えば、同じリソースで`v1``v1beta1`の2つのバージョンが有ることを考えてみます。
149+
`v1beta1`バージョンのAPIを利用しオブジェクトを最初に作成したとして、`v1beta1`バージョンが非推奨となり削除されるまで、`v1beta1`もしくは`v1`どちらのAPIバージョンを利用してもオブジェクトのread、update、deleteができます。
150+
その時点では、`v1` APIを使用してオブジェクトの修正やアクセスを継続することが可能です。
149151

150152
## APIの変更
151153

@@ -156,10 +158,18 @@ Kubernetesプロジェクトは、既存のクライアントとの互換性を
156158
基本的に、新しいAPIリソースと新しいリソースフィールドは追加することができます。
157159
リソースまたはフィールドを削除するには、[API非推奨ポリシー](/docs/reference/using-api/deprecation-policy/)に従ってください。
158160

159-
Kubernetesは、公式のKubernetes APIが一度一般提供(GA)に達した場合、通常は`v1`APIバージョンです、互換性を維持することを強い責任があります。さらに、Kubernetesは _beta_ についても可能な限り互換性を維持し続けます。ベータAPIを採用した場合、その機能が安定版になったあとでも、APIを利用してクラスタを操作し続けることができます。
161+
Kubernetesは、通常はAPIバージョン`v1`として、公式のKubernetes APIが一度一般提供(GA)に達した場合、互換性を維持することを強く確約します。
162+
さらに、Kubernetesは、公式Kubernetes APIの _beta_ APIバージョン経由で永続化されたデータとの互換性を維持します。
163+
そして、機能が安定したときにGA APIバージョン経由でデータを変換してアクセスできることを保証します。
164+
165+
beta APIを採用した場合、APIが卒業(Graduate)したら、後続のbetaまたはstable APIに移行する必要があります。
166+
これを行うのに最適な時期は、オブジェクトが両方のAPIバージョンから同時にアクセスできるbeta APIの非推奨期間中です。
167+
beta APIが非推奨期間を終えて提供されなくなったら、代替APIバージョンを使用する必要があります。
160168

161169
{{< note >}}
162-
Kubernetesは、 _alpha_ APIバージョンについても互換性の維持に注力しますが、いくつかの事情により不可である場合もあります。アルファAPIバージョンを使っている場合、クラスタのアップグレードやAPIが変更された場合に備えて、Kubernetesのリリースノートを確認してください。
170+
Kubernetesは、 _alpha_ APIバージョンについても互換性の維持に注力しますが、いくつかの事情により不可である場合もあります。
171+
alpha APIバージョンを使っている場合、クラスターをアップグレードする時にKubernetesのリリースノートを確認してください。
172+
APIが互換性のない方法で変更された場合は、アップグレードをする前に既存のalphaオブジェクトをすべて削除する必要があります。
163173
{{< /note >}}
164174

165175
APIバージョンレベルの定義に関する詳細は[APIバージョンのリファレンス](/docs/reference/using-api/#api-versioning)を参照してください。

content/ja/docs/reference/using-api/_index.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ card:
1414
このセクションでは、Kubernetes APIのリファレンス情報を提供します。
1515

1616
REST APIはKubernetesの基本的な構造です。
17-
すべての操作とコンポーネント間のと通信、および外部ユーザーのコマンドは、REST API呼び出しでありAPIサーバーが処理します。
17+
すべての操作とコンポーネント間の通信、および外部ユーザーのコマンドは、REST API呼び出しでありAPIサーバーが処理します。
1818

1919
その結果、Kubernetesプラットフォーム内のすべてのものは、APIオブジェクトとして扱われ、[API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)に対応するエントリーがあります。
2020

@@ -38,30 +38,31 @@ APIのバージョンが異なると、安定性やサポートのレベルも
3838
各レベルの概要は以下の通りです:
3939

4040
- Alpha:
41-
- バージョン名に「alpha」が含まれています(例:「v1alpha1」)。
41+
- バージョン名に`alpha`が含まれています(例:`v1alpha1`)。
42+
- 組み込みのalpha APIバージョンはデフォルトで無効化されており、使用するためには`kube-apiserver`の設定で明示的に有効にする必要があります。
4243
- バグが含まれている可能性があります。
4344
機能を有効にするとバグが露呈する可能性があります。
44-
機能がデフォルトで無効になっている可能性があります。
45-
- ある機能のサポートは、予告なしにいつでも中止される可能性があります。
45+
- alpha APIのサポートは、予告なしにいつでも中止される可能性があります。
4646
- 後にリリースされるソフトウェアで、互換性のない方法で予告なく変更される可能性があります。
4747
- バグのリスクが高く、長期的なサポートが得られないため、短期間のテストクラスターのみでの使用を推奨します。
4848

4949
- Beta:
5050
- バージョン名には `beta` が含まれています(例:`v2beta3`)。
51+
- 組み込みのbeta APIバージョンはデフォルトで無効化されており、使用するためには`kube-apiserver`の設定で明示的に有効にする必要があります。
52+
(**例外として**Kubernetes 1.22以前に導入されたAPIのbetaバージョンはデフォルトで有効化されています)
53+
- 組み込みのbeta APIバージョンは、導入から非推奨となるまでが9ヶ月または3マイナーリリース(どちらかの長い期間)、そして非推奨から削除まで9ヶ月または3マイナーリリース(どちらかの長い期間)の最大存続期間を持ちます。
5154
- ソフトウェアは十分にテストされています。
5255
機能を有効にすることは安全であると考えられています。
53-
機能はデフォルトで有効になっています。
5456
- 機能のサポートが打ち切られることはありませんが、詳細は変更される可能性があります。
5557

56-
- オブジェクトのスキーマやセマンティクスは、その後のベータ版や安定版のリリースで互換性のない方法で変更される可能性があります
58+
- オブジェクトのスキーマやセマンティクスは、その後のベータ版や安定版のAPIバージョンで互換性のない方法で変更される可能性があります
5759
このような場合には、移行手順が提供されます。
58-
スキーマの変更に伴い、APIオブジェクトの削除、編集、再作成が必要になる場合があります。
59-
編集作業は単純ではないかもしれません。
60+
後続のbetaまたはstable APIバージョンに適応することはAPIオブジェクトの編集や再作成が必要になる場合があり、単純ではないかもしれません。
6061
移行に伴い、その機能に依存しているアプリケーションのダウンタイムが必要になる場合があります。
6162

6263
- 本番環境での使用は推奨しません。
63-
後続のリリース は、互換性のない変更を導入する可能性があります。
64-
独立してアップグレード可能な複数のクラスターがある場合、この制限を緩和できる可能性があります
64+
後続のリリースは、互換性のない変更を導入する可能性があります。
65+
beta APIを使用する場合、そのbeta APIが非推奨となり提供されなくなった際には、後続のbetaまたはstable APIバージョンに移行する必要があります
6566

6667
{{< note >}}
6768
ベータ版の機能をお試しいただき、ご意見をお寄せください。
@@ -70,7 +71,7 @@ APIのバージョンが異なると、安定性やサポートのレベルも
7071

7172
- Stable:
7273
- バージョン名は `vX` であり、`X` は整数である。
73-
- 安定版の機能は、リリースされたソフトウェアの中で、その後の多くのバージョンに登場します
74+
- stable APIバージョンはKubernetesのメジャーバージョン内の全てのリリースで利用可能であり、stable APIを削除するようなKubernetesのメジャーバージョンの修正は、現在計画されていません
7475

7576
## APIグループ
7677

0 commit comments

Comments
 (0)