はじめに
ここでは Cluster API v0.3.13 の変更内容についてまとめています。
Cluster API は複数の Kubernetes クラスタのプロビジョニングやアップグレード、オペレーションをするための宣言的な API とツールを提供する SIG Cluster Lifecycle のサブプロジェクトです。
✨ 新しい機能
- ApiServer、ControllerManager、Scheduler について KubeadmControlPlane (KCP) spec の変更を許可 (#4080)
- APIServer、ControllerManager、 Scheduler の設定が変更できなかったようです(どう考えてもそれは困る
- そういえばこないだ設定変更しようとしてできないなと思っていたところでした🤘
- "delete" annotation によってスケールインで優先する KubeadmControlPlane マシンのマーキングをサポート (#4019)
-
KCP の Machine オブジェクトに
cluster.x-k8s.io/delete-machine
annotation を付けておくとそのマシンが最優先で削除されるようになりました
-
KCP の Machine オブジェクトに
-
clusterctl describe cluster
コマンドの追加 (#4088)- Cluster オブジェクトに連なる Cluster API 関連のオブジェクトをツリー形式で出力するコマンドです
🐛 バグ修正
- kubeadm bootstrap スクリプトで、
error_exit
コード引数を設定 (#4106)- エラー時に終了コードを出力するように変更されています(バグ修正ではない気がするが)
- IPv6 の APIEndpoint を修正 (#4066)
- IP アドレスとポートをジョインする部分のコードが IPv6 が入ってくることが考慮されていなかったようです
- KubeadmControlPlane は、v1alphav2 kubeconfig secrets を受け付けるようになりました (#4050)
- v1alphav2 で作成された kubeconfig を含む Secrets が v1alphav3 にアップグレードすると使われないという問題があったようです
📖 ドキュメンテーション
- 開発者ガイドに必須な情報として envsubst を追加 (#4025)
- Cluster API のプロバイダの開発者にとって envsubst について知っておくのは必須です!
- ちなみにこの enbsubst は、gettext のものではなく Go で実装された別のコマンドなことに注意してください(drone/envsubst)
🌱 そのほか
- repolist を使用するための任意のパラメータを追加 (#4102)