はじめに
このエントリは、Kubernetes 1.12 の CHANGELOG から Action Required についてまとめています。翻訳に合わせて補足を追記しています。その他の内容は次のリンク先を参照してください。
- Kubernetes 1.12: 既知の問題 (Known Issues) と 廃止された機能および廃止予定の機能 (Deprecations and removals)
- Kubernetes 1.12: 主な変更点 (Major Themes)
- Kubernetes 1.12: Action Required
- Kubernetes 1.12: 新機能 (New Features)
- Kubernetes 1.12: API Changes
Kubernetes 1.12: Action Required
-
Kubernetes のバックエンドとしての
etcd2
は非推奨となり、1.13 にて削除されます。 -
kube-apiserver
における--storage-versions
もまた非推奨です。このフラグはデフォルト値を利用するよう省略すべきです、さもなければ 1.12 より新しいバージョンへのクラスターのアップグレードは安全でなくなります。このフラグは 1.13 にて削除されます。 (#68080, @caesarxuchao) [SIG API Machinery]**Note**etcd2 が非推奨となり `--storage-versions` で指定すべき値が `etcd3` のみになったための変更のようです。 -
Volume scheduling における Dynamic provisioning がベータに昇格しました。それに伴い
DynamicProvisioningScheduling
のアルファ feature gate が削除されましたが、VolumeScheduling
のベータ feature gate はこの機能を有効化するのにまだ必要となっていますのでご注意ください。(#67432, @lichuqiang) [SIG Apps, SIG Architecture, SIG Storage, and SIG Testing]**Note**AWSElasticBlockStore, GCEPersistentDisk, AzureDisk タイプの PV において、`StorageClass` の `volumeBindingMode` が `WaitForFirstConsumer` 時における dynamic provisioning がベータとなりました。 -
kube-apiserver
およびclient-go
ライブラリが、UserInfo の "extra" データキーの中で英数字以外をサポートするように修正されました。(SIG Auth) -
kubeadm
にて join 時に利用されていたNodeConfiguration
kind が v1alpha3 にてJoinConfiguration
にリネームされました。(#65951, @luxas) [SIG Cluster Lifecycle] -
kubeadm
にて init 時に利用されていたMasterConfiguration
kind が v1alpha3 にてInitConfiguration
にリネームされました。(#65945, @luxas) [SIG Cluster Lifecycle] -
kubelet
が cAdvisor の Web UI を公開するために利用していた--cadvisor-port
が 1.12 にて完全に削除されました。もし、それがまだ必要な場合はDaemonSets
の機能などを使い、自分で起動してください。(#65707, @dims) -
Cluster Autoscaler のバージョンが 1.3.1-beta.1 にアップデートされました。(#65857, @aleksandra-malinowska) [SIG Autoscaling]
**Note**GPU Type のメトリクスサポート、GKE における GPU limits のサポートなどです。 -
kubeadm
におけるv1alpha1
の config API が削除されました。(#65628, @luxas) [SIG Cluster Lifecycle] -
kube-apiserver
におけるPriority
アドミッションプラグインが--enable-admission-plugins
フラグを利用時にデフォルトで有効化されるようになりました。--admission-control
フラグを使っている場合、PodPriority
を有効化するためには明示的にPriority
アドミッションプラグインをリストに追加にする必要があります。(#65739, @liggitt) [SIG Scheduling]**Note**`kube-apiserver` でアドミッションコントローラを指定する際には、できるだけ `--admission-control` フラグで全てのプラグインを指定するようなことはせずに、`--enable-admission-plugins` フラグを利用すべきです。そうすることで `kube-apiserver` の各バージョンでデフォルトで利用すべきプラグインを有効化できます。 -
system-node-critical
およびsystem-cluster-critical
プライオリティクラスがPriority
アドミッションプラグインによってkube-system
ネームスペースに限定されるようになりました。(#65593, @bsalamat) [SIG Scheduling]**Note**`system-node-critical` と `system-cluster-critical` の利用を `kube-system` ネームスペースに限定し、利用者がこれらのプライオリティクラスを気軽に利用してしまい、本当に必要な system critical なコンポーネントが preempt されてしまうことを防ぐことが目的のようです。**Note**この修正はワークアラウンドだと思われます。より一般的には、Quota Admission Configuration API を用いて実装することが可能です。 -
kubeadm
において、etcd
,kube-apiserver
,kube-proxy
と言った control plane のコンテナイメージの指定にarch suffix
を利用しないように変更しました。(#66960,
@rosti) [SIG Cluster Lifecycle, SIG Release, and SIG Testing] -
kubeadm
においてHighAvailability
,SelfHosting
,CertsInSecrets
の機能が非推奨になり、新しいクラスタ作成時に指定できなくなりました。またこれらのフラグを有効化されたクラスタのアップデートはサポートされません。(#67786, @fabriziopandini) [SIG Cluster Lifecycle]**Note**SIG の issue には細かいことが書いてありませんが、どうやら現在の実装は全て削除され、新たに `kubeadm` のサブコマンドとして再実装されるかも? ([kubernetes/kubeadm#1072](https://github.com/kubernetes/kubeadm/issues/1072))というステータスのようです。 -
kube-scheduler
の設定ファイルであるKubeSchedulerConfiguration
kind が、GroupVersion
のcomponentconfig/v1alpha1
からkubescheduler.config.k8s.io/v1alpha1
に変更になりました。(#66916, @dixudx) [SIG Cluster Lifecycle, SIG Scheduling, and SIG Testing] -
kubeadm
における--skip-preflight-checks
が削除されました。--ignore-preflight-errors
を利用してください。(#62727, @xiangpengzhao) -
cloud config に OpenStack のロードバランサーの設定がなかった場合、ロードバランサーの初期化が行われないようになりました。(#65781, @zetaab)