Alibaba Cloud Container Service for Kubernetes (ACK) は Kubernetes コミュニティの適合性認定に準拠しています。クラスターのアップグレードに備えるために、Kubernetes 1.36 のコンポーネントバージョン、主な変更点、機能の更新、および非推奨事項をご確認ください。
コンポーネントのバージョン
次の表に、Kubernetes 1.36 に対応する主要な ACK クラスターコンポーネントのサポートバージョンを示します。
コンポーネント | バージョン |
Kubernetes | 1.36.1-aliyun.1 |
etcd | 3.6.10 |
containerd | 2.1.6 |
CoreDNS | 1.12.1.3 |
CSI | csi-plugin および csi-provisioner の最新バージョンについては、「csi-plugin」および「csi-provisioner」のリリースノートをご参照ください。 |
CNI | Flannel: 0.28.0.6 |
Terway および TerwayControlplane: 1.15.0 以降 |
主な変更点
サービスの .spec.externalIPs フィールドは Kubernetes 1.36 で非推奨となり、1.43 で完全に削除される予定です。長年にわたり、このフィールドはクラスターのトラフィックを中間者攻撃 (「CVE-2020-8554」をご参照ください) に晒す可能性のある、既知のセキュリティリスクでした。現在このフィールドを使用している場合は、できるだけ早く代替ソリューションに移行してください。
機能の更新
Kubernetes 1.36 では、以下の機能のステータスが変更されました。
一般提供 (GA)
VolumeGroupSnapshot — 複数の永続ボリューム要求 (PVC) にまたがる一貫性のあるスナップショットを同時に作成できるようになり、非同期スナップショットによるデータの不整合のリスクを低減します。
Mutable CSINode allocatable — CSI ドライバーがノードにマウント可能なボリューム数を動的に更新できるようになり、古いボリュームマウント制限情報に起因する不正確なスケジューリングやマウントの失敗を回避します。
MutatingAdmissionPolicies — 管理者が Common Expression Language (CEL) を使用してリソース変更ルールを API サーバーで直接定義できるようになります。これにより、多くのシナリオで従来の アドミッション Webhook に代わるネイティブな代替手段が提供されます。カスタム Webhook と比較して、ネットワークおよび運用オーバーヘッドを削減し、より予測可能なクラスターの動作を実現します。
UserNamespacesSupport — Pod に対する Linux ユーザー名前空間のサポートを有効にし、セキュリティを強化します。この機能は既存の Pod には影響しません。オプトインするには、手動で
pod.spec.hostUsersを指定する必要があります。Dynamic Resource Allocation (DRA) の機能 — 管理者アクセスや優先順位付きリストなどの主要な DRA 機能が安定版となり、ハードウェアリソース管理と一貫性のある予測可能なリソース選択のための長期的に安定した API 基盤を提供します。いくつかの追加機能がベータ版にアップグレードされました。詳細については、「Kubernetes 1.36 DRA Updates」をご参照ください。
ベータ版
KubeletPSI — Summary API および Prometheus エンドポイントを使用して、kubelet から Pressure Stall Information (PSI) メトリックを収集できます。
StrictIPCIDRValidation — API における IP および CIDR フィールドの検証を強化し、不正な形式のアドレスやネットワークセグメントの早期検出を可能にします。これにより、サービス、Pod、NetworkPolicies における無効な IP や CIDR に起因する構成の問題やセキュリティリスクを回避できます。
MutablePodResourcesForSuspendedJobs — デフォルトで有効です。ジョブが一時停止されている場合に、コンテナの CPU、メモリ、GPU、および拡張リソースのリクエストとリミットを変更できます。
ConstrainedImpersonation — ユーザー偽装メカニズムを最小権限の原則により準拠させます。有効にすると、偽装者は ID を偽装する権限と、その ID として特定のアクションを実行する権限の両方を持つ必要があります。
ComponentStatusz — デフォルトで有効です。主要な Kubernetes コンポーネントに
/statuszエンドポイントを提供し、起動時間、アップタイム、Go バージョン、バイナリバージョン、互換バージョンなどのビルドおよびバージョン情報をリアルタイムで表示します。ComponentFlagz — デフォルトで有効です。主要な Kubernetes コンポーネントに統一された
/flagzエンドポイントを提供し、コンポーネントの起動時に実際に有効になっているコマンドラインパラメーターを表示します。これにより、構成の問題のトラブルシューティングや、再起動後にパラメーターの変更が有効になったことの確認に役立ちます。
その他の改善点
コントローラーの陳腐化対策 — コントローラーが、古いクラスター状態に基づく陳腐化したローカルキャッシュを操作することで発生する、不正な操作、競合する更新、またはデータ破損を削減します。
非推奨
サービス
.spec.externalIPs— Kubernetes 1.36 以降、spec.externalIPsフィールドは非推奨となり、バージョン 1.43 で完全に削除される予定です。現在このフィールドを使用している場合は、できるだけ早く代替ソリューションに移行してください。gitrepo ボリュームドライバー — Kubernetes 1.36 から gitrepo ボリュームプラグインは完全に無効化されました。init コンテナや外部の git-sync ツールなどの代替手段を使用してください。
リファレンス
Kubernetes 1.36 の完全な変更履歴については、「CHANGELOG-1.36」をご参照ください。
Kubernetes 1.36 の機能の詳細については、「Kubernetes v1.36: Haru」をご参照ください。