ここでは、Kubernetes 1.32 の CHANGELOG から SIG-CLI (kubectl) の取り組みについてまとめています。 は筆者によるコメントです。
新たに追加されたコマンドとフラグ
-
kubectl apply --subresource
フラグ:kubectl patch
コマンドの--subresource
フラグ同様にkubectl apply
コマンドでも使えるようになった。なお、server-side apply のみのサポート。 -
kubectl kustomize --helm-debug
フラグ: Helm chart inflator generator からのデバッグ出力を有効にする -
kubectl apply/edit/get/patch/replace --subresource
フラグ: これまでstatus
サブリソースしか指定できなかったが InPlacePodVerticalScaling のresize
サブリソースのサポートのためにその制限を削除
変更があったコマンドとフラグ
-
kubectl explain -o
フラグ:--output
フラグの省略形が追加
廃止予定のコマンドとフラグ
なし
削除されたコマンドとフラグ
なし
そのほか、細かい変更は、 https://github.com/superbrothers/kubernetes-docs/compare/kubernetes-1.31...kubernetes-1.32 で参照できます。
所感
InPlacePodVerticalScaling 関連の変更が kubectl にも入ってきています。1.32 での beta 昇格は見送られましたが 1.33 には入ってくると思われるのでどう使われていくのかが興味深いです。kubectl 自体は完全に落ち着いていて特に言うことはありません。
What's New (Major Themes)
なし
Urgent Upgrade Notes
なし
Changes by Kind
Deprecation
なし
API Change
- kubectl コマンドで subresource フラグの制限が削除された (#128296, AnishShah) [SIG CLI]
-
これまで subresource フラグには
status
しか指定できなかったが、InPlacePodVerticalScaling で resize サブリソースを扱いたいのでこの制限が削除された
-
これまで subresource フラグには
- persistentVolumeClaimRetentionPolicy の不正確な説明が更新された (#126545, yangjunmyfm192085) [SIG API Machinery, Apps and CLI]
-
persistentVolumeClaimRetentionPolicy
feature gate は beta に昇格していたが alpha であるという記述のままになってしまっていた。よくある。
-
-
kubectl get PriorityClass -owide
に preemptionPolicy フィールドが追加された (#126529, googs1025) [SIG CLI] - image volume を持つ pod が kubectl describe された際にそのボリュームが出力されていなかった問題が修正された (#126706, carlory)
-
alpha 機能の image volume が pod で使用されている場合に
kubectl describe
で出力されていなかった -
kubectl describe
はどのフィールドをどう出力するかが作り込まれているので新しく追加されたフィールドの対応が漏れることがよくある
-
alpha 機能の image volume が pod で使用されている場合に
-
kubectl debug
で custom profiling 機能が有効に固定された (#127187, ardaguclu) [SIG CLI and Testing]-
つまりデフォルトで有効になったということ。これまで有効にするために使用されていた
KUBECTL_DEBUG_CUSTOM_PROFILE
環境変数は 1.34 で削除される予定
-
つまりデフォルトで有効になったということ。これまで有効にするために使用されていた
-
ScalingReplicaSet
event の出力が変更された。変更前:Scaled <up|down> replica set <replica-set-name> to <new-value> from <old-value>
, 変更後:Scaled <up|down> replica set <replica-set-name> from <old-value> to <new-value>
(#125118, jsoref) [SIG Apps and CLI]- 英語話者にとって変更前のように to ... from ...の順序に混乱するらしい。そうなんだ。
-
kubectl explain
の説明の改行位置が調整された (#126533, ah8ad3)- コマンド自体が説明文に改行を挿入していたが、元文章内の改行位置でも改行されてしまっていて見にくくなっていたので、元文章の改行をすべて削除するようになっている
- Job controller が pods が削除される際に sidecar container のリスタート回数を考慮するようになった (#124952, AxeZhan) [SIG Apps and CLI]
- maxContainerRestarts という関数で再起動関数が多い Pod 順に並び替えたりが行われているが、sidecar container (restartable init container) が考慮されていなかったみたい
Documentation
-
kubectl wait
の--for=create
オプションについて文書化された (#127327, ryanwinter) [SIG CLI]-
kubectl wait
のヘルプメッセージに追記されたということ
-
Failing Test
なし
Bug or Regression
- kubectl cp でローカルから pod にコピーした際に宛先パスの確認の出力ストリームが破棄されるようになった。またこの確認に3秒のタイムアウトが追加された。 (#126652, ardaguclu) [SIG CLI]
-
kubectl cp コマンドで指定された宛先となるパスがディレクトリであるかどうかを
test -d <path>
コマンドを実行して確認するフェイズがあるが、タイムアウトが設定されていなかったみたい。なお、CHANGELOG 上ではタイムアウト値は3秒となっているが、コード上では10秒になっている。
-
kubectl cp コマンドで指定された宛先となるパスがディレクトリであるかどうかを
Other (Cleanup or Flake)
-
kubectl explain
に短いoutput
の引数が追加された。kubectl explain <resource> --output plaintext-openapiv2
のようなコマンドで--output
の省略形として-o
が使えるようになった。 (#127869, ak20102763) - kubectl delete で
--interactive
フラグを使用した例が追加された (#127512, bergerhoffer) [SIG CLI] - kubectl で
--validate
フラグの説明のスペースが修正された (#128081, soltysh)- フラグの説明に変なスペースが入っちゃってたみたい。ヒアドキュメントとして書かれている中で改行されちゃっているのがまずくて一行になるように修正されている。
-
legacy
profile が廃止される計画であることをユーザへ通知するための警告メッセージが表示されるようになった (#127230, mochizuki875) [SIG CLI]- 将来削除されるとあり、どのバージョンという明記はなかった
-
kubectl top node
のパーセント表記が%
から(%)
に変更された (#126995, googs1025) [SIG CLI]-
CPU(cores) MEMORY(bytes)
のように括弧がそっちでは使われているのでパーセントも合わせるよってことみたい
-
-
https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2fv5.4.2 と https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2fv5.5.0. で紹介される内容で
kubectl kustomize
の機能がアップグレードされた (#127965, koba1t)- つまり組み込みの kustomize バージョンが 5.4.2 から 5.5.0 に更新されたということ
-
kubectl apply --server-side
でkubectl patch
と同等の--subresource
がサポートされた (#127634, deads2k) [sig cli and testing]-
kubectl patch
では使えていた--subresource
コマンドが server-side apply でも使えるようになった
-