リリース
Kubernetesプロジェクトは、最新の3つのマイナーリリース(1.34、1.33、1.32)のリリースブランチをメンテナンスしています。
Kubernetes 1.19以降のバージョンは、約1年間のパッチサポートを受け付けています。
Kubernetes 1.18以前のバージョンは、約9ヶ月間のパッチサポートを受け付けていました。
Kubernetesのバージョンは、x.y.zと表されます。
ここで、xはメジャーバージョン、yはマイナーバージョン、zはパッチバージョンを指し、これらはセマンティックバージョニングの用語に従います。
詳細は、バージョンスキューポリシーのドキュメントで確認できます。
リリース履歴
1.34
最新リリース1.34.1 (リリース日: )
サポート終了日
Complete 1.34
Schedule and
Changelog
1.33
最新リリース1.33.5 (リリース日: )
サポート終了日
Complete 1.33
Schedule and
Changelog
1.32
最新リリース1.32.9 (リリース日: )
サポート終了日
Complete 1.32
Schedule and
Changelog
1.31
最新リリース1.31.13 (リリース日: )
サポート終了日
パッチリリース
1.31.0,
1.31.1,
1.31.2,
1.31.3,
1.31.4,
1.31.5,
1.31.6,
1.31.7,
1.31.8,
1.31.9,
1.31.10,
1.31.11,
1.31.12,
1.31.13
Complete 1.31
Schedule and
Changelog
リリース予定
Kubernetes1.35のリリーススケジュールをチェックしてみてください!
リソース
1 - バージョンスキューポリシー
さまざまなKubernetesコンポーネント間でサポートされる最大のバージョンスキュー。
このドキュメントでは、さまざまなKubernetesコンポーネント間でサポートされる最大のバージョンの差異(バージョンスキュー)について説明します。特定のクラスターデプロイツールは、バージョンの差異に追加の制限を加える場合があります。
サポートされるバージョン
Kubernetesのバージョンはx.y.zの形式で表現され、xはメジャーバージョン、yはマイナーバージョン、zはパッチバージョンを指します。これはセマンティック バージョニングに従っています。詳細は、Kubernetesのリリースバージョニングを参照してください。
Kubernetesプロジェクトでは、最新の3つのマイナーリリースについてリリースブランチを管理しています (1.34, 1.33, 1.32)。
Kubernetes 1.19 以降では、パッチリリースに対して約1年間のサポートが提供されます。Kubernetes 1.18 以前のバージョンは約9ヶ月間のパッチサポートを受け付けていました。
セキュリティフィックスを含む適用可能な修正は、重大度や実行可能性によってはこれら3つのリリースブランチにバックポートされることもあります。パッチリリースは、これらのブランチから 定期的に 切り出され、必要に応じて追加の緊急リリースも行われます。
リリースマネージャーグループがこれを決定しています。
詳細は、Kubernetesパッチリリースページを参照してください。
サポートされるバージョンの差異
kube-apiserver
高可用性 (HA) クラスターでは、最新および最古のkube-apiserverインスタンスがそれぞれ1つのマイナーバージョン内でなければなりません。
例:
- 最新の
kube-apiserverが1.34であるとします
- ほかの
kube-apiserverインスタンスは1.34および1.33がサポートされます
kubelet
kubeletはkube-apiserverより新しいものであってはならず、2つの古いマイナーバージョンまで有効です。
例:
kube-apiserverが1.34であるとします
kubeletは1.34、1.33および1.32がサポートされます
備考:
HAクラスター内のkube-apiserver間にバージョンの差異がある場合、有効なkubeletのバージョンは少なくなります。
例:
kube-apiserverインスタンスが1.34および1.33であるとします
kubeletは1.33および1.32がサポートされます(1.34はバージョン1.33のkube-apiserverよりも新しくなるためサポートされません)
kube-controller-manager、kube-scheduler、およびcloud-controller-manager
kube-controller-manager、kube-schedulerおよびcloud-controller-managerは、通信するkube-apiserverインスタンスよりも新しいバージョンであってはなりません。kube-apiserverのマイナーバージョンと一致することが期待されますが、1つ古いマイナーバージョンでも可能です(ライブアップグレードを可能にするため)。
例:
kube-apiserverが1.34であるとします
kube-controller-manager、kube-schedulerおよびcloud-controller-managerは1.34および1.33がサポートされます
備考:
HAクラスター内のkube-apiserver間にバージョンの差異があり、これらのコンポーネントがクラスター内のいずれかのkube-apiserverと通信する場合(たとえばロードバランサーを経由して)、コンポーネントの有効なバージョンは少なくなります。
例:
kube-apiserverインスタンスが1.34および1.33であるとします
- いずれかの
kube-apiserverインスタンスへ配信するロードバランサーと通信するkube-controller-manager、kube-schedulerおよびcloud-controller-managerは1.33がサポートされます(1.34はバージョン1.33のkube-apiserverよりも新しくなるためサポートされません)
kubectl
kubectlはkube-apiserverの1つ以内のバージョン(古い、または新しいもの)をサポートします。
例:
kube-apiserverが1.34であるとします
kubectlは1.35、1.34および1.33がサポートされます
備考:
HAクラスター内のkube-apiserver間にバージョンの差異がある場合、有効なkubectlバージョンは少なくなります。
例:
kube-apiserverインスタンスが1.34および1.33であるとします
kubectlは1.34および1.33がサポートされます(ほかのバージョンでは、あるkube-apiserverコンポーネントからマイナーバージョンが2つ以上離れる可能性があります)
サポートされるコンポーネントのアップグレード順序
コンポーネント間でサポートされるバージョンの差異は、コンポーネントをアップグレードする順序に影響されます。このセクションでは、既存のクラスターをバージョン1.33から1.34 へ移行するために、コンポーネントをアップグレードする順序を説明します。
kube-apiserver
前提条件:
- シングルインスタンスのクラスターにおいて、既存の
kube-apiserverインスタンスは1.33とします
- HAクラスターにおいて、既存の
kube-apiserverは1.33または1.34 とします(最新と最古の間で、最大で1つのマイナーバージョンの差異となります)
- サーバーと通信する
kube-controller-manager、kube-schedulerおよびcloud-controller-managerはバージョン1.33とします(必ず既存のAPIサーバーのバージョンよりも新しいものでなく、かつ新しいAPIサーバーのバージョンの1つ以内のマイナーバージョンとなります)
- すべてのノードの
kubeletインスタンスはバージョン1.33または1.32 とします(必ず既存のAPIサーバーよりも新しいバージョンでなく、かつ新しいAPIサーバーのバージョンの2つ以内のマイナーバージョンとなります)
- 登録されたAdmission webhookは、新しい
kube-apiserverインスタンスが送信するこれらのデータを扱うことができます:
ValidatingWebhookConfigurationおよびMutatingWebhookConfigurationオブジェクトは、1.34 で追加されたRESTリソースの新しいバージョンを含んで更新されます(または、v1.15から利用可能なmatchPolicy: Equivalentオプションを使用してください)
- Webhookは送信されたRESTリソースの新しいバージョン、および1.34 のバージョンで追加された新しいフィールドを扱うことができます
kube-apiserverを1.34 にアップグレードしてください。
備考:
非推奨APIおよび
APIの変更ガイドラインのプロジェクトポリシーにおいては、シングルインスタンスの場合でも
kube-apiserverのアップグレードの際にマイナーバージョンをスキップしてはなりません。
kube-controller-manager、kube-scheduler、およびcloud-controller-manager
前提条件:
- これらのコンポーネントと通信する
kube-apiserverインスタンスが1.34 であること(これらのコントロールプレーンコンポーネントが、クラスター内のkube-apiserverインスタンスと通信できるHAクラスターでは、これらのコンポーネントをアップグレードする前にすべてのkube-apiserverインスタンスをアップグレードしなければなりません)
kube-controller-manager、kube-schedulerおよびcloud-controller-managerを1.34 にアップグレードしてください。
kubelet
前提条件:
kubeletと通信するkube-apiserverが1.34 であること
必要に応じて、kubeletインスタンスを1.34 にアップグレードしてください(1.33や1.32 のままにすることもできます)。
警告:
kube-apiserverと2つのマイナーバージョンのkubeletインスタンスを使用してクラスターを実行させることは推奨されません:
- コントロールプレーンをアップグレードする前に、インスタンスを
kube-apiserverの1つのマイナーバージョン内にアップグレードさせる必要があります
- メンテナンスされている3つのマイナーリリースよりも古いバージョンの
kubeletを実行する可能性が高まります
kube-proxy
kube-proxyのマイナーバージョンはノード上のkubeletと同じマイナーバージョンでなければなりません
kube-proxyはkube-apiserverよりも新しいものであってはなりません
kube-proxyのマイナーバージョンはkube-apiserverのマイナーバージョンよりも2つ以上古いものでなければなりません
例:
kube-proxyのバージョンが1.32の場合:
kubeletのバージョンは1.32でなければなりません
kube-apiserverのバージョンは1.32と1.34の間でなければなりません
2 - ノート
Kubernetesのリリースノート
リリースノートは、使用しているKubernetesのバージョンに合ったChangelogを読むことで確認できます。
1.34のchangelogを見るにはGitHubを参照してください。
またリリースノートは、relnotes.k8s.io上で検索してフィルタリングすることもできます。
1.34のフィルタリングされたリリースノートを見るにはrelnotes.k8s.ioを参照してください。