はじめに
このエントリは、Kubernetes 1.12 の CHANGELOG から API Changes についてまとめています。翻訳に合わせて補足を追記しています。その他の内容は次のリンク先を参照してください。
- 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: API Changes
-
kubeadm
コマンドにおいてalpha phase kubelet config annotate-cri
phrase コマンドがサポートされました。(#68449, @fabriziopandini)**Note**
-
Windows 上の
kubeadm
において--cri-socket
のデフォルト値が--tcp://localhost:2375
になりました。(#67447, @benmoss) -
kubeadm
にて、実験的に--rootfs
フラグが実装されました。これを利用することでkubeadm
は (Kubernetes 設定のための) ファイル操作をする前にchroot
を行うようになります。この機能はたとえば docker から起動されたkubeadm
のように、 Kubernetes を異なるファイルシステム上にセットアップするために便利でしょう。(便利そう!) (#54935, @anguslees)
-
kubeadm config images pull
時に指定する--cri-socket-path
フラグが他のサブコマンドとの一貫性確保のために--cri-socket
へリネームされました。 -
kubeadm
にてControlPlaneEndpoint
の設定がAPI
からClusterConfiguration
へと移動しました。(#67830, @fabriziopandini) -
kubeadm
のInitConfiguration
がInitConfiguration
およびClusterConfiguration
の二つの構造体に分割されました。(#67441, @rosti)**Note**
-
RuntimeClass
API がアルファ機能として追加されました。この機能を利用する際にはRuntimeClass
feature gate を有効化してください。RuntimeClass
API リソースは、クラスタ内のコンテナを実行するために利用する、異なるランタイムのクラスを定義することできます。Pod
は、その定義内のRuntimeClassName
フィールドを通して、RuntimeClass
を選択することができます。(#67737, @tallclair) -
サーバサイドにおける dry-run の実行が、副作用 (side effect) や調整ループ (reconciliation mechanism) に依存する Admission webhook を実行してしまう問題を解決するために、
admissionregistration.k8s.io/v1beta1.ValidatingWebhookConfiguration
とadmissionregistration.k8s.io/v1beta1.MutatingWebhookConfiguration
に その Webhook がサーバサイドの dry-run をサポートしているかどうかを示す新しいフィールド(SideEffects
) が追加されました。もし、dry-run をサポートしていない Webhook が呼ばれるリソースに対するリクエストがあった場合、サーバは400: Bad Request
を返し、リクエストを拒否します。また、admission.k8s.io/v1beta1.AdmissionReview
に対しても、dry-run に対応している Webhook であるかを確認するために同じように新しくフィールドが追加されました。(#66936, @jennybuckley) -
CRI
のRunPodSandboxRequest
において sandobox を実行する際にランタイムの設定を選択するために利用できるruntime_hundler
field がサポートされました。(アルファ機能) (#67518, @tallclair)**Note**
-
status
サブリソースが有効化された際に、CRD バリデーションスキーマのルートにさらにいくつかのフィールドが許されるようになりました。(#65357, @nikhita) -
kubelet
における--docker-disable-shared-pid
フラグは削除されました。Pod 内の PID namespace の共用は個々のPod
のShareProcessNamespace
オプションを利用してください。(#66506, @verb) -
kube-dns
で利用されているdnsmasq
に--dns-loop-detect
オプションが追加されました。(#67302, @dixudx)**Note**
-
kube-addon-manager
において追加の--prune-whitelist
リソースをサポートしました。(#67743, @Random-Liu)**Note**
-
Resource Quota ScopeSelectors がベータに昇格し、デフォルトで有効化されます。(#67077, @vikaschoudhary16)
**Note**
-
OpenAPI spec とドキュメントに
DELETE
リクエスト時の202 Accepted
レスポンスが反映されました。この変更はエラーパスに依存しているいくつかのクライエントに影響を与える可能性があります。(#63418, @roycaihw)**Note**
-
アルファ機能であった
Initializer
アドミッションプラグインはデフォルトとして今後有効化されることはありません。これは、アルファ API としてデフォルトとしてオフにせよというポリシー通りの振る舞いです。(#66039, @liggitt) -
kube-scheduler
に API レベルでバリデーションが追加されました。(#66799, @noqcks)**Note**
-
PodDisruptionBudget
におけるDisruptedPods
フィールドが必須項目からオプション項目になりました。