kubernetes

Kubernetes 1.12: Action Required


はじめに

このエントリは、Kubernetes 1.12 の CHANGELOG から Action Required についてまとめています。翻訳に合わせて補足を追記しています。その他の内容は次のリンク先を参照してください。


Kubernetes 1.12: Action Required


  • Kubernetes のバックエンドとしての etcd2 は非推奨となり、1.13 にて削除されます。



  • kube-apiserver における --storage-versions もまた非推奨です。このフラグはデフォルト値を利用するよう省略すべきです、さもなければ 1.12 より新しいバージョンへのクラスターのアップグレードは安全でなくなります。このフラグは 1.13 にて削除されます。 (#68080, @caesarxuchao) [SIG API Machinery]




    :pencil: 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]




    :pencil: Note
    AWSElasticBlockStore, GCEPersistentDisk, AzureDisk タイプの PV において、StorageClassvolumeBindingModeWaitForFirstConsumer 時における 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]




    :pencil: 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]




    :pencil: Note
    kube-apiserver でアドミッションコントローラを指定する際には、できるだけ --admission-control フラグで全てのプラグインを指定するようなことはせずに、--enable-admission-plugins フラグを利用すべきです。そうすることで kube-apiserver の各バージョンでデフォルトで利用すべきプラグインを有効化できます。



  • system-node-critical および system-cluster-critical プライオリティクラスが Priority アドミッションプラグインによって kube-system ネームスペースに限定されるようになりました。(#65593, @bsalamat) [SIG Scheduling]




    :pencil: Note
    system-node-criticalsystem-cluster-critical の利用を kube-system ネームスペースに限定し、利用者がこれらのプライオリティクラスを気軽に利用してしまい、本当に必要な system critical なコンポーネントが preempt されてしまうことを防ぐことが目的のようです。



    :pencil: 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]




    :pencil: Note
    SIG の issue には細かいことが書いてありませんが、どうやら現在の実装は全て削除され、新たに kubeadm のサブコマンドとして再実装されるかも? (kubernetes/kubeadm#1072)というステータスのようです。


  • kube-scheduler の設定ファイルである KubeSchedulerConfiguration kind が、GroupVersioncomponentconfig/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)