Kubernetes 1.30の概要
Kubernetes 1.30「Uwubernetes」は2024年4月にリリースされました。45の機能強化が含まれ、そのうち17がStableに昇格しました。
主要な新機能
1. Pod Scheduling Readiness(GA)
Podがスケジューリング可能かどうかを制御できる機能がGAになりました。
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
schedulingGates:
- name: example.com/wait-for-resources
containers:
- name: app
image: nginx
2. PodDisruptionConditions(GA)
Podが中断された理由を詳細に把握できるようになりました。
# Podの状態確認
kubectl get pod my-pod -o jsonpath='{.status.conditions}'
3. Min Domains in PodTopologySpread(GA)
PodTopologySpreadConstraintsで最小ドメイン数を指定できます。
topologySpreadConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
minDomains: 3
whenUnsatisfiable: DoNotSchedule
GAとは: General Availabilityの略で、本番環境での使用が推奨される安定版機能を意味します。
Betaに昇格した機能
Recursive Read-only Mounts
マウントされたボリューム内のサブマウントも再帰的に読み取り専用にできます。
volumeMounts:
- name: data
mountPath: /data
readOnly: true
recursiveReadOnly: Enabled
Job Success/Failure Policy
Jobの成功・失敗条件をより細かく制御できます。
非推奨・削除された機能
削除
- SecurityContextDeny admission plugin
- 古いcloud provider関連の機能
非推奨
status.nodeInfo.kubeProxyVersionフィールド- 一部の古いAPIバージョン
アップグレード時の注意点
- 削除された機能を使用していないか確認
- 非推奨のAPIを使用している場合は移行を計画
- クラスタのバックアップを取得してからアップグレード
- ステージング環境で事前テスト
# 現在のバージョン確認
kubectl version
# 非推奨APIの使用状況確認
kubectl get --raw /metrics | grep apiserver_requested_deprecated_apis
まとめ
Kubernetes 1.30は、スケジューリングとPod管理に関する多くの機能がGAに昇格し、本番環境での利用がより安心になりました。アップグレード時は非推奨機能の確認を忘れずに行いましょう。
← 一覧に戻る