The following table lists the deprecated tags and new tags:
Deprecated Tag | New Tag |
---|---|
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 |
VolumeSnapshotDataSource is enabled by default. For more information, see Kubernetes 1.17 Feature: Kubernetes Volume Snapshot Moves to Beta.
CSI Migration is enabled by default. For more information, see Kubernetes 1.17 Feature: Kubernetes In-Tree to CSI Volume Migration Moves to Beta.
Topology Manager enters the Beta stage in Kubernetes 1.18 and enables the CPU to implement NUMA alignment with other devices (such as SR-IOV-VF) so that workloads can support low-latency scenarios.
Before Topology Manager was introduced, the CPU and device manager could only make resource allocation decisions independently. As a result, a multi-socket CPU system might fail to allocate resources appropriately, affecting the performance of latency-sensitive applications.
Server-side Apply entered the Beta stage in Kubernetes 1.16. In Kubernetes 1.18, its second beta version (ServerSideApply) was introduced. This version can record and manage changes to all new Kubernetes object fields, ensuring that users are informed of resource statuses.
IngressClass
describes an Ingress controller type in a Kubernetes cluster. The ingressClassName
field is added for Ingress
resources to set the name of the controller that uses IngressClass
. This replaced the deprecated kubernetes.io/ingress.class
annotation.
kubectl debug
supports the Alpha feature.Windows CSI support
supports the Alpha feature.ImmutableEphemeralVolumes
supports the Alpha feature (which supports non-changeable ConfigMap and Secret and does not refresh the corresponding volume).ScheduleDaemonSetPods
TaintNodesByCondition
WatchBookmark
NodeLease
CSINodeInfo
VolumeSubpathEnvExpansion
AttachVolumeLimit
ResourceQuotaScopeSelectors
VolumePVCDataSource
TaintBasedEvictions
BlockVolume
, CSIBlockVolume
Windows RunAsUserName
EndpointSlices
: disabled by defaultCSIMigrationAWS
: disabled by defaultStartupProbe
EvenPodsSpread
The following features, which were enabled by default and could not be configured, were removed:
GCERegionalPersistentDisk
EnableAggregatedDiscoveryTimeout
PersistentLocalVolumes
CustomResourceValidation
CustomResourceSubresources
CustomResourceWebhookConversion
CustomResourcePublishOpenAPI
CustomResourceDefaulting
The following built-in cluster roles were removed:
system:csi-external-provisioner
system:csi-external-attacher
10.0.0.0/24
) was deprecated. You must set the service IP CIDR block by using the --service-cluster-ip-range
parameter of kube-apiserver, rbac.authorization.k8s.io/v1alpha1
and rbac.authorization.k8s.io/v1beta1
API groups were deprecated, and we plan to remove them in Kubernetes 1.20. Therefore, migrate your resources to rbac.authorization.k8s.io/v1
.CSINodeInfo
feature, which has entered the GA stage and was enabled by default, was deprecated.--encryption-provider-config
: if cacheSize: 0
is specified in the configuration file, versions earlier than 1.18 are configured to cache 1,000 Keys automatically, while version 1.18 will report a configuration verification error. You can disable the cache by setting cacheSize
to a negative value.--feature-gates
: the following features are enabled by default and no longer support CLI-based configuration.PodPriority
TaintNodesByCondition
ResourceQuotaScopeSelectors
ScheduleDaemonSetPods
apps/v1beta1
and apps/v1beta2
. Use apps/v1
instead.extensions/v1beta1
:daemonsets
, deployments
, and replicasets
. Use apps/v1
instead.networkpolicies
. Use networking.k8s.io/v1
instead.podsecuritypolicies
. Use policy/v1beta1
instead.--enable-cadvisor-endpoints
: this parameter is disabled by default. For access to the cAdvisor v1 JSON API, you must enable this parameter.--redirect-container-streaming
parameter was deprecated and will be removed in later versions. Kubernetes 1.18 supports only the default action (kubelet proxy for streaming requests). If --redirect-container-streaming=true
is set, it must be removed./metrics/resource/v1alpha1
metrics endpoint was deprecated. Use /metrics/resource
instead.--healthz-port
was deprecated. Use --healthz-bind-address
instead.--metrics-port
was deprecated. Use --metrics-bind-address
instead.EndpointSliceProxying
feature switch (disabled by default) was added to control whether to enable EndpointSlices in kube-proxy. The EndpointSlice
feature switch does not affect the actions of kube-proxy any more.--ipvs-tcp-timeout
--ipvs-tcpfin-timeout
--ipvs-udp-timeout
scheduling_duration_seconds
metric:scheduling_algorithm_predicate_evaluation_seconds
. Use framework_extension_point_duration_seconds[extension_point="Filter"]
instead.scheduling_algorithm_priority_evaluation_seconds
. Use framework_extension_point_duration_seconds[extension_point="Score"]
instead.AlwaysCheckAllPredicates
in the scheduler policy API.For the alignment of kube-apiserver
, kube-controller-manager
, and kube-scheduler
, profiling is enabled by default. To disable profiling, specify --enable-profiling=false
.
--include-uninitialized
parameter.kubectl
and k8s.io/client-go
no longer use http://localhost:8080 as the default apiserver address.kubectl run
supports pod creation and no longer supports using the deprecated generator to create other types of resources.kubectl rolling-update
command. Use the rollout
command instead.–dry-run
supports three parameter values: client
, server
, and none
.–dry-run=server
supports the following commands: apply
, patch
, create
, run
, annotate
, label
, set
, autoscale
, drain
, rollout undo
, and expose
.kubectl alpha debug
command, which can be used for debugging and troubleshooting on ephemeral containers in pods (the EphemeralContainers
feature introduced in version 1.16 needs to be enabled.)The implementation of hyperkube was changed from Go code to a bash script.
kubernetes 1.18 changelog
kubernetes 1.17 changelog
Improved and enhanced the production-ready features like BM cluster tool and HA.
The kubeadm support for HA has entered the Beta stage. Users can run the kubeadm init
and kubeadm join
commands to deploy HA control planes. Certificate management is more stable and robust. During cluster update, kubeadm can seamlessly update all certificates prior to certificate expiry. For more information, see pr357 and pr970.
Storage SIG continues to migrate built-in storage plug-ins to CSI APIs and support features such as built-in storage plug-in resizing and inline storage volumes. It also introduced some Alpha features that are not available in the Kubernetes storage subsystem, such as storage volume cloning.
Storage volume cloning allows users to specify another PVC as "DataSource" when configuring a new storage volume. If the underlying storage system supports this feature and has implemented the "CLONE_VOLUME" feature in its CSI driver, the new storage volume will become a clone of the source storage volume. For more information, see pr625.
CRD
Admission Webhook
GCERegionalPersistentDisk
CustomResourcePublishOpenAPI
CustomResourceSubresources
CustomResourceValidation
CustomResourceWebhookConversion
In version 1.15, when the --log-file
parameter was used, a log might be written to the same file multiple times. For more information, see pr78734.
beta.kubernetes.io/metadata-proxy-ready
, beta.kubernetes.io/metadata-proxy-ready
, and beta.kubernetes.io/kube-proxy-ds-ready
.ip-mask-agent
uses node.kubernetes.io/masq-agent-ds-ready
as the node selector and no longer uses beta.kubernetes.io/masq-agent-ds-ready
.kube-proxy
uses node.kubernetes.io/kube-proxy-ds-ready
as the node selector and no longer uses beta.kubernetes.io/kube-proxy-ds-ready
. metadata-proxy
uses cloud.google.com/metadata-proxy-ready
as the node selector and no longer uses beta.kubernetes.io/metadata-proxy-ready
. v1alpha3
configurations.centos
and local
.Node.Status.Volumes.Attached.DevicePath
field. The external controller of this field needs to be updated.StorageObjectInUseProtection
admission plug-in is enabled by default. Previously, if this plug-in is not enabled, cluster actions may change.csi.storage.k8s.io/ephemeral
parameter will be added in the volume context. During NodePublishVolume implementation, this parameter allows the driver to determine, one by one, whether the current volume is ephemeral storage or persistent storage. For more information, see pr79983.--enable-logs-handler
parameter. We plan to remove it in v1.19.--basic-auth-file
and the corresponding authentication mode. Both of them will be removed in the future.--service-cluster-ip-range
parameter is required for configuring the service IP CIDR block.v1beta1
Events API is used. Tools that consume scheduler events need to use the v1beta1 Events API.--conntrack-max
parameter (which can be replaced with --conntrack-min
and --conntrack-max-per-core
).--cleanup-iptables
parameter.--resource-container
.--allow-privileged
, --host-ipc-sources
, --host-pid-sources
, and --host-network-sources
parameters (which can be replaced with the admission controller of PodSecurityPolicy
).--containerized
.--node-labels
parameter can no longer be used to configure tags with the forbidden prefixes of kubernetes.io-
or k8s.io-
.kubectl scale job
.--pod/-p
parameter in the kubectl exec
command.kubectl convert
command.--include-uninitialized
.kubectl cp
no longer supports copying symbol links in a container. This feature can be replaced with the following commands:local to pod
:tar cf - /tmp/foo | kubectl exec -i -n <some-namespace> <some-pod> -- tar xf - -C /tmp/bar
pod to local
:kubectl exec -n <some-namespace> <some-pod> -- tar cf - /tmp/foo | tar xf - -C /tmp/bar
kubeadm upgrade node config
and kubeadm upgrade node experimental-control-plane
and replaced them with kubeadm upgrade node
.--experimental-control-plane
parameter and replaced it with --control-plane
.--experimental-upload-certs
parameter and replaced it with --upload-certs
.kubeadm config upload
command and replaced it with kubeadm init phase upload-confi
.proxy
plug-in and replaced it with forward
.resyncperiod
option from the kubernetes
plug-in.upstream
option. If it is specified, it will be ignored.kubernetes 1.16 changelog
kubernetes 1.15 changelog
etcd2
is no longer supported. Default: --storage-backend=etcd3
.--etcd-quorum-read
parameter.--storage-versions
parameter.--repair-malformed-updates
parameter.--insecure-experimental-approve-all-kubelet-csrs-for-group
parameter.--google-json-key
parameter.--experimental-fail-swap-on
parameter.componentconfig/v1alpha1
is no longer supported.run-container
command is no longer supported. node.alpha.kubernetes.io/notReady
and node.alpha.kubernetes.io/unreachable
are no longer supported and have been replaced with node.kubernetes.io/not-ready
and node.kubernetes.io/unreachable
, respectively.kubernetes 1.14 changelog
kubernetes 1.13 changelog
/status
sub-resources, except for the .status
field (previously, only .spec and .metadata could be updated.) When the /status
sub-resources are enabled, required
and rescription
can be used for CRD OpenAPI verification schemas. In addition, users can create multiple versions of CustomResourceDefinitions, without the need for automatic switching. The spec.additionalPrinterColumns
field of CustomResourceDefinitions can be used to allow the output of kubectl get
to contain additional columns.dry run
feature is supported. It allows users to view the execution results of some commands without having to submit relevant modifications.authorization.k8s.io/decision
(the allow or forbid authorization decision) and authorization.k8s.io/reason
(the reason for this decision).podsecuritypolicy.admission.k8s.io/admit-policy
and podsecuritypolicy.admission.k8s.io/validate-policy
, containing the names of the policies allowing pod admission (PodSecurityPolicy can also restrict mount targets of the hostPath type to the read-only mode.)The CLI implemented a new plug-in mechanism and provided a development library that contains common CLI tools to facilitate plug-in development by plug-in developers.
--storage-version
parameter was removed and replaced by --storage-versions
. Meanwhile, --storage-versions
was also deprecated.--endpoint-reconciler-type
was changed to lease
.--enable-admission-plugins
is used, it is contained by default. When the --admission-control
parameter is used, it must be explicitly specified.--rotate-certificates
parameter and replaced it with the .RotateCertificates field in the configuration file.run-pod/v1
, other kubectl run
generators have been deprecated.--interactive
parameter from kubectl logs
.--use-openapi-print-columns
was deprecated and replaced with --server-print
.
Was this page helpful?