LoginSignup
35
19

More than 3 years have passed since last update.

Kubernetes 1.16: 廃止予定と削除されたもの (Deprecations and Removals)

Last updated at Posted at 2019-09-26

Kubernetes 1.16 の Changelog の Deprecations and Removals の内容についてまとめました。

廃止予定と削除されたもの

API

以下の API はデフォルトではサーブされなくなりました。

  • すべての apps/v1beta1apps/v1beta2apps/v1 を代わりに利用してください。
  • extensions/v1beta1daemonsets, deployments, replicasets リソース。apps/v1 を代わりに利用してください。
  • extensions/v1beta1networkpolicies リソース。networking.k8s.io/v1 を代わりに利用してください。
  • extensions/v1beta1podsecuritypolicies リソース。policy/v1beta1 を代わりに利用してください。

:pencil: サーブされなくなった APIVersion を使っているマニフェストは、1.16 以降デプロイできなくなります。マニフェストの適用時に以下のようなエラーとなります。最新の API Version にアップデートしましょう。

$ kubectl apply -f myapp-deploy.yaml
error: unable to recognize "myapp-deploy.yaml": no matches for kind "Deployment" in version "apps/v1beta1"

これらのリソースのサーブを一時的に有効化したい場合は、--runtime-config を API サーバーのフラグに指定します。

  • apps/v1beta1=true
  • apps/v1beta2=true
  • extensions/v1beta1/daemonsets=true,extensions/v1beta1/deployments=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/networkpolicies=true,extensions/v1beta1/podsecuritypolicies=true

これらのサーブ機能は v1.18 で完全に削除されます。(#70672, @liggitt)

  • v1.20 で Ingress リソースは extensions/v1beta1 からサーブされなくなります。.v1.14 から使える networking.k8s.io/v1beta1 API に移行してください。既存の永続化されたデータは networking.k8s.io/v1beta1 API からも取得できます
  • v1.17 で PriorityClass リソースは scheduling.k8s.io/v1beta1, scheduling.k8s.io/v1alpha1 からサーブされなくなります。v1.14 から利用できる scheduling.k8s.io/v1 API に移行してください。既存の永続されたデータは scheduling.k8s.io/v1 API から取得できます。
  • v1.14 から廃止予定だった list API の export クエリパラメータは v1.18 で削除されます。
  • events.k8s.io/v1beta1 Event API の series.state フィールドは廃止予定となり、v1.18 で削除されます。
  • apiextensions.k8s.io/v1beta1CustomResourceDefinition は廃止予定となり、v1.19 からサーブされなくなります。代わりに apiextensions.k8s.io/v1 を利用してください。(#79604, @liggitt)
  • admissionregistration.k8s.io/v1beta1MutatingWebhookConfigurationValidatingWebhookConfiguration は廃止予定となり、v1.19 からサーブされなくなります。代わりに admissionregistration.k8s.io/v1 を利用してください。(#79549, @liggitt)
  • 1.13 で廃止予定になったアルファの metadata.initializers フィールドは削除されました。(#79504, @yue9944882)
  • 廃止予定だったノードの状態 OutOfDisk が削除されました。代わりに DiskPressure を利用してください。(#72420, @Pingan2017)
  • 個々と List オブジェクトの metadata.selfLink フィールドは廃止予定となりました。v1.20 から返却されなくなり、v1.21 でフィールドが完全に削除されます。(#80978, @wojtek-t)
    • :pencil: KEP を見ると、元々活用されていないフィールドだったようです。(オブジェクトの URL が入っていたが、オブジェクトを取得するにはそもそも URL を知っている必要があった)
  • 廃止予定だったクラウドプロバイダー ovirt, cloudstack, photon が削除されました。(#72178, @dims)
  • ボリュームプロバイダーの CinderScaleIO が廃止予定となり、将来のリリースで削除されます。(#80099, @dims)
  • GAの PodPriority の feature gate はデフォルトで有効となり、無効にできなくなりました。feature gate は v1.18 で削除されます。(#79262, @draveness)
  • Aggregated discovery のリクエストがタイムアウトするようになりました。Aggregated API サーバーは discovery のコールを 5 秒以内に返す必要があります(discovery 以外のリクエストは関係ない)。もし、一時的に以前の30秒のタイムアウトの挙動に戻す必要がある場合は、feature gate の EnableAggregatedDiscoveryTimeout=false を利用してください。(v1.17 で EnableAggregatedDiscoveryTimeout は削除されます)(#82146, @deads2k)
  • scheduler.alpha.kubernetes.io/critical-pod アノテーションが削除されました。Pod をクリティカルとして扱いたい場合は Pod priority (spec.priorityClassName) を利用してください。(#80342, @draveness)
    • :pencil: 代用の PriorityClass として system-cluster-criticalsystem-node-critical (より高い) の 2つが用意されています。この2つはユーザが設定できる最大の優先度 1,000,000,000 を超える特別な優先度(2,000,000,000 と 2,000,001,000)になっています。
  • NormalizeScore プラグインセットがスケジューラフレームワークの config API から削除されました。ScorePlugin のみを使ってください。(#80930, @liu-cong)

機能

  • 以下の機能が GA となりました。関連する feature gate は廃止予定となり、v1.17 で削除されます。
    • GCERegionalPersistentDisk (1.15.0 から)
    • CustomResourcePublishOpenAPI
    • CustomResourceSubresources
    • CustomResourceValidation
    • CustomResourceWebhookConversion
  • feature フラグの HugePages, VolumeScheduling, CustomPodDNS,PodReadinessGates が削除されました。 (#79307, @draveness)

hyperkube

  • 1.14 から廃止予定だった --make-symlinks フラグが削除されました。(#80017, @Pothulapati)

kube-apiserver

  • --basic-auth-file フラグとその認証モード (basic 認証) が廃止予定となり、将来のリリースで削除されます。この認証方法はプロダクション環境では非推奨です。(#81152, @tedyu)
  • --cloud-provider-gce-lb-src-cidrs フラグが廃止予定となりました。このフラグは GCE Cloud Provider が kube-apiserver から削除された時点で、削除されます。(#81094, @andrewsykim)
  • v1.15 から廃止予定だった --enable-logs-handler フラグは v1.19 で削除される予定です。(#77611, @rohitsardesai83)
  • デフォルトの Service IP CIDR が 廃止予定になりました。今までののデフォルトは 10.0.0.0/24 は、6ヶ月(2リリース)後に削除されます。クラスタ管理者は kube-apiserver の --service-cluster-ip-range で希望する値を指定する必要があります。(#81668, @darshanime)

kube-proxy

  • kube-proxy から --resource-container フラグが削除され、指定した場合エラーになるようになりました。挙動は以前 --resource-container="" 指定したものになります。空以外を --resource-container に指定した場合は、1.16 では同じようにすることはできなくなります。(#78294, @vllry)

kube-scheduler

  • スケジューラは v1beta1 Event API を利用するように移行しました。スケジューラのイベントを対象としたツールは v1beta1 Event API を利用する必要があります。(#78447, @yastij)

    • Migrate scheduler to use v1beta1 Event API. any tool targeting scheduler events needs to use v1beta1 Event API (#78447, @yastij)

kubeadm

※以下すべて CoreDNS のバージョンが 1.6.2 に上がったことによる変更点です。

  • CoreDNS の Deployment は ready プラグインを使って readiness をチェックするようになりました。
  • proxy プラグインは廃止予定になりました。代わりに forward プラグインを使ってください
  • Kubernetes プラグインから resyncperiod オプションが削除されました。
  • upstream オプションは廃止予定となり、無視されるようになりました。(#82127, @rajansandeep)

kubectl

  • v1.14 から廃止予定だった kubectl convert は v1.17 で削除されます
  • v1.14 から廃止予定だった kubectl get--export フラグは、v1.18 で削除されます
  • kubectl cp はコンテナのシンボリックリンクのコピーをサポートしなくなりました。このようなユースケースの場合は kubectl exec --helptar を直接使う例をご覧ください。 (#82143, @soltysh)
    • :pencil: Changelog の間違いかもしれませんが、ヘルプは kubectl cp --help を見たほうが良さそうです。
  • 廃止予定だった --include-uninitialized フラグを削除しました。 (#80337, @draveness)

kubelet

  • v1.14 から 廃止予定だった --containerized フラグが削除されました。(#80043, @dims)
  • v1.14 から廃止予定だった beta.kubernetes.io/osbeta.kubernetes.io/arch ラベルは v1.18 で削除されます
    • :pencil: v1.14 からは正式版の kubernetes.io/oskubernetes.io/arch ラベルを代わりに利用します
  • v1.15 から廃止予定だった cAdvisor の json エンドポイントが削除されました (#78504, @dashpole)
  • specifically allowed labels/prefixes 以外の kubernetes.iok8s.io をプレフィクスとするラベルを -node-labels 経由で設定できる機能が削除されました。(#79305, @paivagustavo)

client-go

  • DirectCodecFactoryDirectEncoder が削除され、それぞれ、runtime.WithVersionEncoderruntime.WithoutVersionDecoder に置き換えられます。(#79263, @draveness)
35
19
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
19