Alibaba Cloud Container Service for Kubernetes (ACK) は、Kubernetes 準拠として認定されています。このドキュメントでは、ACK 上の Kubernetes 1.36 における主な変更点、機能アップデート、非推奨事項に加え、アップグレード時の注意事項とコンポーネントのバージョンについて説明します。
コンポーネントのバージョン
次の表に、ACK クラスターのコアコンポーネントのバージョンを示します。
コアコンポーネント | バージョン |
Kubernetes | 1.36.1-aliyun.1、1.36.2-aliyun.1 |
etcd | v3.6.10 |
containerd | 2.1.6 |
CoreDNS | v1.12.1.3 |
CSI | コンポーネントをサポートされている最新バージョンにアップグレードしてください。詳細については、「csi-plugin」および「csi-provisioner」のリリースノートをご参照ください。 |
CNI | Flannel v0.28.0.6 |
Terway および TerwayControlplane v1.15.0 以降 |
主な変更点
Kubernetes 1.36 では、Service の
.spec.externalIPsフィールドが非推奨となり、v1.43 で削除される予定です。このフィールドは既知のセキュリティ脆弱性であり、CVE-2020-8554 に記載されているとおり、クラスターのトラフィックを中間者攻撃にさらします。このフィールドを使用している場合は、できるだけ早く代替手段に移行してください。Kubernetes 1.36 を実行する新規クラスターでは、Gateway API コンポーネントのデフォルトバージョンが 1.3.0 から 1.5.1 に変更されます。Gateway API 1.5.1 では TLSRoute API の v1alpha2 バージョンが非推奨となるため、Alibaba Cloud Service Mesh (ASM) の v1.25 以前のインスタンス、および Istio 1.29.2 より前のバージョンは互換性がありません。
既存のクラスターを Kubernetes 1.36 にアップグレードする場合、Gateway API コンポーネントは自動的にはアップグレードされません。コンポーネントを手動でアップグレードするには、「Gateway API」をご参照ください。
機能アップデート
VolumeGroupSnapshot 機能が一般提供 (GA) になりました。この機能を使用すると、複数の永続ボリューム要求に対して同時に整合性のあるスナップショットを作成でき、非同期スナップショットによって発生するデータの不整合のリスクを低減できます。
Mutable CSINode allocatable 機能が GA になりました。この機能を使用すると、CSI ドライバーがノードにアタッチできるボリューム数を動的に更新できます。これにより、古いボリュームのアタッチ上限が原因で発生するスケジューリングの不正確さやアタッチ失敗を防止できます。
DRA 管理者アクセスや優先リストなど、主要な Dynamic Resource Allocation (DRA) 機能が GA になりました。これらは、グローバルなハードウェアリソース管理のための長期的で安定した API 基盤と、一貫性があり予測可能なリソース選択ロジックを提供します。さらに、期待されていた一部の機能が Beta に昇格しました。詳細については、「Kubernetes 1.36 DRA Updates」をご参照ください。
MutatingAdmissionPolicies が GA になりました。この機能を使用すると、管理者は Common Expression Language (CEL) を使用して、API サーバー内で直接リソースのミューテーションルールを定義できます。多くのシナリオにおいて、従来のアドミッション Webhook に代わるネイティブな代替手段となり、ネットワークおよび運用のオーバーヘッドを削減しつつ、より予測可能なクラスター動作を実現します。
UserNamespacesSupport 機能が GA になりました。この機能はデフォルトで有効であり、Pod が Linux ユーザーネームスペースを使用してセキュリティを強化できるようになります。この変更は既存の Pod には影響しません。この機能を有効または無効にするには、
pod.spec.hostUsersを手動で指定します。KubeletPSI が Beta に昇格しました。この機能により、kubelet は Summary API と Prometheus メトリクスを通じて Pressure Stall Information (PSI) メトリクスを公開できます。
このリリースでは、コントローラー向けの陳腐化緩和が導入されます。この改善により、コントローラーが古いキャッシュデータに基づいて動作した場合に発生し得る誤った操作を防止できます。
StrictIPCIDRValidation 機能が Beta に昇格しました。この機能は、API 内の IP および CIDR フィールドの検証を強化し、不正な形式のアドレスやネットワークセグメントをより早期に検出できるようにします。これにより、無効な IP アドレスまたは CIDR が原因で Service、Pod、NetworkPolicies などのリソースで発生する、見えにくい設定問題やセキュリティリスクの防止に役立ちます。
MutablePodResourcesForSuspendedJobs が Beta に昇格し、デフォルトで有効になりました。この機能を使用すると、Job が一時停止されている間に、コンテナの CPU、メモリ、GPU、および拡張リソースの要求と制限を変更できます。
Beta に昇格した ConstrainedImpersonation は、ユーザー偽装の仕組みを最小権限の原則に合わせます。有効化すると、偽装を行う主体は、特定のアイデンティティを偽装する権限と、そのアイデンティティとして意図した操作を実行する権限の両方を持つ必要があります。
ComponentStatusz が Beta に昇格し、デフォルトで有効になりました。この機能は、コア Kubernetes コンポーネント向けに
/statuszエンドポイントを提供し、起動時刻、稼働時間、Go バージョン、バイナリバージョン、互換性バージョンなど、リアルタイムのビルド情報とバージョン情報を表示します。これにより、運用担当者と開発者は現在の稼働状況を迅速に把握できます。ComponentFlagz が Beta に昇格し、デフォルトで有効になりました。この機能は、コア Kubernetes コンポーネント向けに統一された
/flagzエンドポイントを提供し、起動時に有効だったコマンドラインパラメーターを表示します。これにより、運用担当者と開発者は設定問題のトラブルシューティングや、再起動後にパラメーター変更が適用されているかの確認を行えます。
非推奨事項
Kubernetes 1.36 では、Service の
.spec.externalIPsフィールドが非推奨となり、v1.43 で削除される予定です。このフィールドを使用している場合は、できるだけ早く代替手段に移行してください。Kubernetes 1.36 以降、gitRepo ボリュームプラグインは永続的に無効化されます。init コンテナや外部の git-sync ツールなどの代替手段の使用を推奨します。
関連ドキュメント
Kubernetes 1.36 の完全な変更履歴については、「CHANGELOG-1.36」および「Kubernetes v1.36: ハル (Haru)」をご参照ください。