製品アップデート情報
製品リリース記録
immutable: true)に設定すると、kubeletはこれらのオブジェクトの変化をwatchせず、再度コンテナ内にマウントし、apiserverの負荷を軽減することができます。この機能は1.21でGAに進みます。SeccompDefaultのalpha機能が導入されます。--seccomp-defaultのパラメータおよび設定を結合します。kubeletはUnconfinedではなくRuntimeDefault seccomp設定を使用するため、ワークロードの安全性が向上します。NodeResourcesFitが導入され、 NodeResourcesLeastAllocated, NodeResourcesMostAllocated、RequestedToCapacityRatioの3つのプラグインを代替するために使用されます。APIServerTracingが有効化されると、apiserverは分散型追跡をサポートします。--service-account-issuerのパラメータで複数のissuerの設定をサポートし、issuerを変更した場合、中断せずにサービスを提供することができます。net.ipv4.conf.all.route_localnet=1は自動的に設定されなくなります。アップグレードされたノードはnet.ipv4.conf.all.route_localnet=1を保持しますが、新しいノードはシステムのデフォルト値(一般的には0)を継承します。--cleanup-ipvsのパラメータを削除しました。--cleanupのパラメータを使用することができます。--horizontal-pod-autoscaler-use-rest-clientsのパラメータは削除されました。--portおよび--addressのパラメータは機能しなくなり、バージョン1.24で削除されます。--hard-pod-affinity-symmetric-weightおよび--scheduler-nameのパラメータは1.22から削除され、configファイルを使用して設定することができます。DynamicKubeletConfig機能は破棄されました。デフォルトでオフにされ、kubeletの起動時に--dynamic-config-dirのパラメータが設定されている場合、アラートを受信します。kube-controller-managerで--feature-gates="CronJobControllerV2=true"を指定することによって有効化します。以降のバージョンでは、デフォルトで新版のコントローラを使用します。InfoS、 ErrorSという2つの方法を追加することによってログの構造化をサポートしています。
すべてのコンポーネントに--logging-formatのパラメータを追加します。デフォルト値はtextで、以前の形式を維持します。jsonに設定してログの構造化をサポートしますが、このときこれらのパラメータは機能しません。--add_dir_header, --alsologtostderr, --log_backtrace_at, --log_dir, --log_file, --log_file_max_size, --logtostderr, --skip_headers, --skip_log_headers, --stderrthreshold, --vmodule, --log-flush-frequencyExecProbeTimeoutというスイッチを追加し、以前の行動を保持できるようにします(後続のリリース版では、この機能はロックされ、削除されます)。以前の行動を保持するには、ExecProbeTimeoutをfalseに設定する必要があります。
詳細な情報については、Configure Liveness, Readiness and Startup Probes - Configure Probesをご参照くださいkubectl alpha debugコマンドは beta段階に進み、kubectl debugに置換されました 。この機能は直接kubectlから一般的なデバッグ作業を行うことをサポートし、以下が含まれます。EphemeralContainersはAlpha機能です。デフォルトでは有効化されていません)kubectl alpha debugは使用が停止され、今後のバージョンで削除されます。kubectl debugに置換する必要があります 。詳細な情報については、Debug Running Podsをご参照くださいkube-apiserverが優先度に応じて渡すリクエストを分類できるようにします。SupportNodePidsLimit(ノードからPodのPID隔離)および SupportPodPidsLimit(各PodのPIDの機能を制限)はいずれもGA段階に進みました。GracefulNodeShutdown機能が追加されました。kubeletはノードのシステムシャットダウンイベントを監視し、それによってシステムのシャットダウン中にPodをグレースフルシャットダウンします。fsGroupPolicyフィールドを使用することによってmount時のオーナーおよび権限の変更をサポートするかどうかを制御します。(ReadWriteOnceWithFSType,File,None)PodFSGroupChangePolicy = OnRootMismatchをサポートしていますnode.k8s.io/v1beta1は破棄されました。node.k8s.io/v1を使用してくださいnetworking.k8s.io/v1beta1(バージョン1.22で削除予定)を破棄し、networking.k8s.io/v1に置換します。seccomp.security.alpha.kubernetes.io/podおよびcontainer.seccomp.security.alpha.kubernetes.io/... は破棄されました(バージョン1.22で削除予定)。Podおよびcontainer spec内で指定以下のフィールドを直接指定することができます。securityContext:seccompProfile:type: RuntimeDefault|Localhost|Unconfined ## choose one of the threelocalhostProfile: my-profiles/profile-allow.json ## only necessary if type == Localhost
certificates.k8s.io/v1beta1以外に、CertificateSigningRequestにバージョンcertificates.k8s.io/v1を追加しました。 certificates.k8s.io/v1を使用する時は、spec.signerNameを指定する必要があります。kubernetes.io/legacy-unknownを使用することはできません 。spec.usagesを指定する必要があります。重複する値を含むことはできず、値は既知のusageのみです。status.conditions[*].statusを指定する必要があります。status.certificateはPEMコーデックであり、CERTIFICATEブロックのみを含む必要があります。バージョンの破棄 | 新しいバージョン |
apiextensions.k8s.io/v1beta1 | apiextensions.k8s.io/v1 |
apiregistration.k8s.io/v1beta1 | apiregistration.k8s.io/v1 |
authentication.k8s.io/v1beta1 | authentication.k8s.io/v1 |
authorization.k8s.io/v1beta1 | authorization.k8s.io/v1 |
autoscaling/v2beta1 | autoscaling/v2beta2 |
coordination.k8s.io/v1beta1 | oordination.k8s.io/v1 |
storage.k8s.io/v1beta1 | storage.k8s.io/v1 |
componentstatusAPIは破棄されました。このAPIはetcd、kube-scheduler、kube-controller-managerの実行ステータスを提供するために使用されますが、これらの条件下でのみ動作できます。これらのコンポーネントとapiserverは1つのノードで実行されます。e-schedulerおよびkube-controller-managerは安全ではないヘルスチェックポートを公開しました。
このAPIを破棄すると、etcdのヘルスチェックはkube-apiserverのヘルスチェック内に含まれます。kube-scheduler/kube-controller-managerはそれぞれのヘルスチェックインターフェースをチェックできます。--addressおよび--insecure-bind-addressのパラメータは設定できますが無効になります。--portおよび--insecure-portのパラメータは0にのみ設定できます。これらのパラメータはバージョン1.24で削除されます。TokenRequestおよびTokenRequestProjectionはGAに進みました。kube-apiserverは以下のパラメータを設定する必要があります。--service-account-issuerは、このクラスターAPI Serverの固定されたURLを識別します。--service-account-key-fileは、1つまたは複数のtokenを検証する公開鍵です。--service-account-signing-key-fileは、service accountの秘密鍵を発行し、kube-controller-managerの--service-account-private-key-fileとパラメータは同じファイルを使用します。--seccomp-profile-root--cloud-provider、--cloud-config は、configに置換されます--really-crash-for-testing , --chaos-chancemetrics/resource/v1alpha1 endpointは削除されました。 metrics/resourceを使用してください。failure-domain.beta.kubernetes.io/zone およびfailure-domain.beta.kubernetes.io/region タグは破棄されました。topology.kubernetes.io/zoneおよびtopology.kubernetes.io/region によって代替してください。すべてのfailure-domain.beta...というプレフィックスのタグはいずれも対応するtopology...から始まるタグによって代替する必要があります。破棄されるタグ | 新しいタグ |
beta.kubernetes.io/instance-type | node.kubernetes.io/instance-type |
failure-domain.beta.kubernetes.io/region | topology.kubernetes.io/region |
failure-domain.beta.kubernetes.io/zone | topology.kubernetes.io/zone |
IngressClassリソースはKubernetesクラスター内のIngressコントローラタイプを記述します。IngressリソースにingressClassNameフィールドが追加され、IngressClassを使用するコントローラ名称を設定し、破棄されたkubernetes.io/ingress.classタグを代替するために使用されます。kubectl debugは、Alpha機能です。Windows CSI supportは、Alpha機能です。ImmutableEphemeralVolumesは、Alpha機能です(変更不可のConfigMapおよびSecretをサポートし、対応するvolumeは更新されません)。ScheduleDaemonSetPodsTaintNodesByConditionWatchBookmarkNodeLeaseCSINodeInfoVolumeSubpathEnvExpansionAttachVolumeLimitResourceQuotaScopeSelectorsVolumePVCDataSourceTaintBasedEvictionsBlockVolume、CSIBlockVolumeWindows RunAsUserNameEndpointSlices:デフォルトでオフCSIMigrationAWS:デフォルトでオフStartupProbeEvenPodsSpreadGCERegionalPersistentDiskEnableAggregatedDiscoveryTimeoutPersistentLocalVolumesCustomResourceValidationCustomResourceSubresourcesCustomResourceWebhookConversionCustomResourcePublishOpenAPICustomResourceDefaultingsystem:csi-external-provisionersystem:csi-external-attacher10.0.0.0/24)は破棄されました。kube-apiserverの--service-cluster-ip-rangeによってパラメータを設定する必要があります。rbac.authorization.k8s.io/v1alpha1および rbac.authorization.k8s.io/v1beta1は破棄されます。バージョン1.20で削除される予定です。rbac.authorization.k8s.io/v1に移行してください。CSINodeInfo機能は破棄されます。この機能はGAに達し、デフォルトでオンになっています。--encryption-provider-config:設定ファイル内でcacheSize: 0を指定した場合、1.18以前のバージョンは1000個のkeyをキャッシュするように自動的に設定されますが、バージョン1.18では設定検証エラーを報告します。cacheSizeを負の値に設定することによってキャッシュをオフにすることができます。--feature-gates:以下の機能はデフォルトでオンになり、コマンドラインによる設定はサポートされなくなります。PodPriorityTaintNodesByConditionResourceQuotaScopeSelectorsScheduleDaemonSetPodsapps/v1beta1およびapps/v1beta2。apps/v1を使用してください。extensions/v1beta1のdaemonsets、deploymentsおよびreplicasetsは、apps/v1を使用してください。networkpoliciesは networking.k8s.io/v1を使用してください。podsecuritypoliciesはpolicy/v1beta1を使用してください。--enable-cadvisor-endpoints:このパラメータはデフォルトでオフです。cAdvisor v1 Json APIにアクセスする必要がある場合、有効にする必要があります。--redirect-container-streamingは破棄され、今後のバージョンで削除されます。1.18のみデフォルト行動(kubeletによって streamingリクエストを代理)をサポートします。--redirect-container-streaming=trueに設定した場合、削除する必要があります。/metrics/resource/v1alpha1を破棄します。/metrics/resourceを使用してください。--healthz-portを破棄します。--healthz-bind-addressを使用してください。--metrics-portを破棄します。--metrics-bind-addressを使用してください。EndpointSliceProxying(デフォルトではオフ)を追加することによってkube-proxy内でEndpointSlicesを有効化するかどうかを制御します。機能スイッチEndpointSliceはkube-proxyの行動に影響しません。--ipvs-tcp-timeout--ipvs-tcpfin-timeout--ipvs-udp-timeoutscheduling_duration_seconds指標は破棄されます。scheduling_algorithm_predicate_evaluation_secondsは破棄され、 framework_extension_point_duration_seconds[extension_point="Filter"]に置換されますscheduling_algorithm_priority_evaluation_secondsは破棄され、framework_extension_point_duration_seconds[extension_point="Score"]に置換されますAlwaysCheckAllPredicatesは破棄されます。kube-apiserver、kube-controller-managerおよびkube-schedulerをアライメントするために、デフォルトでprofilingをオンにします。profilingをオフにする必要がある場合、パラメータ--enable-profiling=falseを指定する必要があります。--include-uninitializedのパラメータを削除します。kubectlおよびk8s.io/client-go はデフォルトでhttp://localhost:8080を apiserverのアドレスとして使用しなくなります。kubectl runはPodの作成をサポートし、以前破棄されたgeneratorを使用してその他のタイプのリソースを作成することはサポートしていません。kubectl rolling-updateコマンドを削除するには、rolloutコマンドを使用してください。–dry-runは3つのパラメータ値 client、server、noneをサポートしています。–dry-run=serverはコマンド:apply、patch、create、run、annotate、label、set、autoscale、 drain、rollout undo、exposeをサポートしています。kubectl alpha debugコマンドは、Pod内に一時的コンテナを追加してデバッグおよびトラブルシューティングを行うことができます(1.16で導入されるEphemeralContainers機能を有効化する必要があります)。kubeadm initおよびkubeadm joinコマンドを使用して可用性の高いコントロールパネルをデプロイすることができます。証明書管理はより安定して堅牢になり、kubeadmはクラスターのupdate時に、証明書は有効期限が切れる前にシームレスにすべての証明書を更新します。詳細については、pr357およびpr970をご参照ください。CRDAdmission WebhookGCERegionalPersistentDiskCustomResourcePublishOpenAPICustomResourceSubresourcesCustomResourceValidationCustomResourceWebhookConversionbeta.kubernetes.io/metadata-proxy-ready、 beta.kubernetes.io/metadata-proxy-readyおよびbeta.kubernetes.io/kube-proxy-ds-ready。ip-mask-agentはnode.kubernetes.io/masq-agent-ds-readyをnodeセレクターとして使用し、beta.kubernetes.io/masq-agent-ds-readyは使用しません。kube-proxyはnode.kubernetes.io/kube-proxy-ds-readyをnodeセレクターとして使用し、beta.kubernetes.io/kube-proxy-ds-readyは使用しません。metadata-proxyはcloud.google.com/metadata-proxy-readyをnodeセレクターとして使用し、beta.kubernetes.io/metadata-proxy-readyは使用しません。v1alpha3の設定はすべて削除されました。Node.Status.Volumes.Attached.DevicePathのフィールドを設定しなくなります。このフィールドを更新する外部コントローラが必要になります。StorageObjectInUseProtection admission プラグインを有効化します。事前にこのプラグインを有効化していない場合、クラスターの行動に変化が発生する可能性があります。csi.storage.k8s.io/ephemeralを追加します。driverが NodePublishVolumeを実現する時に、個別に現在のvolumeが一時的ストレージであるか持続的であるかを判断できるようにします。詳細については、pr79983をご参照ください。--enable-logs-handlerを破棄し、v1.19で削除される予定です。--basic-auth-fileおよび対応する認証モードは破棄され、今後削除される予定です。--service-cluster-ip-rangeのパラメータを使用することによってserviceのIPセグメントを設定する必要があります。v1beta1 Events APIを使用します。scheudlerイベントを消費するツールはv1beta1 Event APIを使用する必要があります。--conntrack-maxを削除します(--conntrack-minおよび--conntrack-max-per-coreによって代替できます)。--cleanup-iptablesを削除します。--resource-containerを削除します。--allow-privileged、--host-ipc-sources、--host-pid-sourcesおよび--host-network-sourcesを削除します(PodSecurityPolicyのアドミッションコントローラによって代替できます)。--containerizedを削除します。--node-labels パラメータによってkubernetes.io-を設定するかk8s.io-がプレフィックスの許可されていないタグはサポートしていません 。kubectl scale jobを削除します。kubectl execコマンドの--pod/-pのパラメータを削除します。kubectl convertコマンドを削除します。--include-uninitializedを削除します。kubectl cpはコンテナ内のシンボリックリンクをコピーすることをサポートしていません。以下のコマンドを使用して代替することができます。local to pod:tar cf - /tmp/foo | kubectl exec -i -n <some-namespace> <some-pod> -- tar xf - -C /tmp/barpod to local:kubectl exec -n <some-namespace> <some-pod> -- tar cf - /tmp/foo | tar xf - -C /tmp/barkubeadm upgrade node configおよびkubeadm upgrade node experimental-control-planeは破棄され、kubeadm upgrade nodeによって代替されます。--experimental-control-planeは破棄され、--control-planeによって代替されます。--experimental-upload-certsは破棄され、--upload-certsによって代替されます。kubeadm config uploadは破棄され、kubeadm init phase upload-confiによって代替されます。proxyプラグインは破棄され、 forwardプラグインによって代替されます。kubernetesプラグインはresyncperiodオプションを削除します。upstreamオプションを削除します。指定した場合、無視されます。etcd2はサポートされなくなり、デフォルトは--storage-backend=etcd3となります。--etcd-quorum-readは破棄されます。--storage-versionsは破棄されます。--repair-malformed-updatesは破棄されます。--insecure-experimental-approve-all-kubelet-csrs-for-groupは破棄されます。--google-json-keyは破棄されます。--experimental-fail-swap-onは破棄されます。componentconfig/v1alpha1はサポートされなくなります。run-containerはサポートされなくなります。node.alpha.kubernetes.io/notReadyおよびnode.alpha.kubernetes.io/unreachableはサポートされなくなり、node.kubernetes.io/not-readyおよびnode.kubernetes.io/unreachableに変更されます。/statusのサブリソースは.status フィールドを除いて更新できます(以前は.specおよび.metadataのみ更新が可能)。/statusサブリソースを有効化する場合、requiredおよびdescriptionはCRD OpenAPIが schemaを検証するために使用できます。また、ユーザーは複数のバージョンのCustomResourceDefinitionsを作成することができ、自動変換を行う必要はありません。 CustomResourceDefinitionsのspec.additionalPrinterColumnsフィールドによってkubectl getの出力に追加の列を含めることができます。dry run機能をサポートします。ユーザーがあるコマンドの実行結果を確認できるようにし、実際に関連する変更を送信する必要はありません。authorization.k8s.io/decision(authorizationはallowまたはforbidを決定)、および authorization.k8s.io/reason(この決定をする原因)を設定します。podsecuritypolicy.admission.k8s.io/admit-policyおよびpodsecuritypolicy.admission.k8s.io/validate-policyを設定し、Podアドミッションに関連するポリシー名を含みます(PodSecurityPolicyは同時にhostPathタイプのマウントポイントを読み取り専用モードに制限することができます)。--storage-versionのパラメータは削除され、--storage-versionsに置換されます。同時に--storage-versionsも破棄されます。--endpoint-reconciler-typeのデフォルト値はleaseに変更されました。--enable-admission-pluginsを使用する場合、デフォルトで含まれます。--admission-controlのパラメータを使用する場合、表示指定をする必要があります。--rotate-certificatesのパラメータは破棄され、設定ファイルの .RotateCertificatesフィールドに置換されます。run-pod/v1を除き、その他のkubectl runのgeneratorは破棄されました。kubectl logsは--interactive`のパラメータが削除されました。--use-openapi-print-columnsは破棄され--server-printに置換されました。フィードバック