Kubernetes入門にあたり、最近どんな動きしてるかな?という観点でざっと把握するため、ChangeLogに軽く目を通してみた。
なお読むのは1.19以降のみ。というのものこれから学習のベースにしようと思っているKubernetes完全ガイド 第2版が1.18準拠なので、本 + ChangeLogで最新までを補完しよう、という魂胆。
全てに目を通すとしんどいので、トピックスを把握するためにWhat's New!のみ確認。
資料
kubernetes/CHANGELOG at master · kubernetes/kubernetes
v1.19.0
kubernetes/CHANGELOG-1.19.md at master · kubernetes/kubernetes
- 非推奨APIを使用していた場合に警告を表示するようになった
- 警告はAdmission Webhooksで取得可能
- API実装における新しいポリシーをv1.20に適用するとのアナウンス(ベータ機能のライフサイクル)
- 9ヶ月以内にGAに到達しベータ版を削除するか、新しいベータ版を用意して以前のベータ版を廃止する。のどちらか
- 機能が長期間ベータ版のままになることを防ぐため
- EndpointSlicesのデフォルト有効化
- Kubernetesコンテナイメージがコミュニティ管理下へ
- Kubernetes Dashboardのv2がリリース
- Kubernetesのサポートを9ヶ月から1年へ延長
GA
- Ingress
- seccomp((Secure computing mode)
Beta
- KubeSchedulerConfiguration(kube-schedulerの振る舞いをカスタマイズ)
- CSI Migration - AzureDisk & vSphere
- Secret / ConfigMapをイミュータブルとしてマーク可能
- Windows向けCSI Proxy
- Windowsのcontainerdサポート
Alpha
v1.20.0
kubernetes/CHANGELOG-1.20.md at master · kubernetes/kubernetes
- Dockershim非推奨化
- client-go クレデンシャルプラグインが環境変数を介して現在のクラスタ情報を渡せるようになった
- go1.15.5対応
- K8sコンポーネントログのサニタイズ機能
k8s.io/klog
のFilter
- 実行中Podのリソースメトリクス取得
- kubeadmの非推奨機能削除
- Cloud Controller Managerのバイナリ非提供
- 各クラウドプロバイダが自分たちで提供することを期待
GA
- SupportNodePidsLimit / SupportPodPidsLimit
- Node / Pod単位での消費可能なPID数の制限
- CSI Volume Snapshot
- TokenRequest / TokenRequestProjection
- ServiceAccountで発行したトークンをPodのVolumeに動的にマウントする機能
- node.k8s.io APIグループがv1beta1からv1に昇格
Beta
- API Priority / Fairness
- kube-apiserverが優先度に応じて受けたリクエストをカテゴライズするもの
- Non-recursive Volume Ownership (FSGroup)
- CSIDriver policy (FSGroup)
- RootCAConfigMap
- BoundServiceAccountTokenVolumeから分離
- kubectl debug
- ただしエフェメラルコンテナはAlphaのままなので注意
- setHostnameAsFQDN
- Podのホスト名を完全修飾ドメイン名とする
Alpha
v1.21.0
kubernetes/CHANGELOG-1.21.md at master · kubernetes/kubernetes
- PodSecurityPolicy非推奨
- 代替手段が今後出てくる
- APIリファレンスの移設
- kubectlのkustomizeがアップデート
- v2.0.3 -> v4.0.5
- デフォルトコンテナのアノテーション
- kubectl.kubernetes.io/default-containerアノテーションをつかってコンテナを事前に指定することができる
- 複数コンテナを含むPodの場合、コンテナリストの先頭に対してコマンドが実行されるので、意図しないコマンド実行を引き起こしていた
- リリースタイムライン内kubeletが構造化ロギングを採用
GA
- Secret / ConfigMapのイミュータブル化
Beta
v1.22.0
kubernetes/CHANGELOG-1.22.md at master · kubernetes/kubernetes
GA
- Kubernetesクライアントのcredential plugin
- Server-side Apply
- CSIServiceAccountToken
Alpha
- kubeadmのコントロールプレーンを非rootで実行可能
- Kubernetesノードのシステムスワップサポート
- クラスターレベルでのなseccompのデフォルト設定
- メモリの割り当てをコントロール&分離するためにAPI提供
- エフェメラルコンテナのAPI変更 & 改善
v1.23.0
kubernetes/CHANGELOG-1.23.md at master · kubernetes/kubernetes
- FlexVolumeが非推奨化
- ロギングオプションのいくつかが非推奨化
- SLSA Lv1準拠のための証明書ファイル生成
- KubeletがCRI v1をサポート & デフォルト化
- kube-schedulerの複数拡張点を持つプラグインの設定を簡略化
- CSI Migrationの更新
GA
- IPv4/IPv6 デュアルスタックネットワーキング
- HorizontalPodAutoscaler v2
- 自動スケールアウト
- Generic ephemeral volumes
- Skip Volume Ownership
- CSIドライバのfsGroupのパーミッション宣言機能
Beta
- PodSecurity
- PodSecurityPolicyの代替
- 構造化ロギング
v1.24.0
kubernetes/CHANGELOG-1.24.md at master · kubernetes/kubernetes
GA
- ストレージ容量のトラッキング
- 自動ボリューム拡張
- NonPreemptingPriority
- Pod preemptionの有効・無効を管理するオプション
Beta
- OpenApi v3でAPIを公開する機能
- gRPC probe機能
- HTTPエンドポイントの公開
- startup/liveness/readiness probeを設定可能
- kubeletのimage credential providersのサポート