27
loading...
This website collects cookies to deliver better user experience
v1
API group could absolutely be deprecated.containers
, volumes
or env
as well as constants such Always
, IfNotPresent
and Never
that are used for imagePullPolicy
.kubectl
, but it also includes things like kubelet
, kube-apiserver
or kube-scheduler
as well as all their subcommands and flags./metrics
endpoints of various services. Considering that a lot of them are being used for example for monitoring, they also can't just be changed or removed whenever, so they have their own set of rules.v1
and it's decided that it should be deprecated, so what would really happen?Release | API Versions | Preferred | Action |
---|---|---|---|
X | v1 | v1 | Task object is GA and non-deprecated in v1 |
X+1 | v2alpha1, v1 | v1 | Task is announced as being deprecated, v2alpha1 is introduced, Task object doesn't exist in new version |
X+2 | v2alpha2, v1 | v1 | v2alpha1 is replaced with v2alpha2 |
X+3 | v2beta1, v1 | v1 | v2alpha2 is replaced with v2beta1 |
X+4 | v2beta2, |
v1 | v2beta2 is introduced, v2beta1 still exists, but is now deprecated |
X+5 | v2, |
v1 | v2 is introduced, all other versions including preferred v1 are deprecated |
X+6 | v2, |
v2 | No version are being removed yet, but v2 is now preferred version |
X+7 | v2, |
v2 | v2beta1 gets removed |
X+8 | v2, |
v2 | v2beta2 gets removed |
X+9 | v2, |
v2 | Nothing changes, v1 has to live for one more release |
X+10 | v2 | v2 | v1 is finally removed and with it also Task object is gone |
v2alpha1
, it takes another 9 releases for it to be really gone from Kubernetes. Let me also remind you, that with current release cadence of 3 releases per year, this whole deprecation process would take more than 3 years!kubectl api-resources | grep beta
get list of all beta API in your cluster.Always
, IfNotPresent
and Never
we all use for imagePullPolicy
won't just disappear or change randomly and in the same way fields won't move from one section to another.selfLink
field. This one is part of KEP-1164 and work on this change is also tracked in this GitHub issue.kubectl
or kubelet
subcommands or their flags can be deprecated and therefore have its own policy.kubectl
the policy is:kubelet
, kube-apiserver
or kube-scheduler
it's:dockershim
which is part of kubelet
. Its deprecation and removal is outlined in following KEP which includes whole section for removal plan which lists release v1.20 as target for deprecation as well as release v1.24 as target for removal.kubectl alpha ...
command for automation, then you better check deprecations before upgrading your cluster or even CLI binary/tool.AffinityInAnnotations
feature which went from alpha to deprecated, for the ones that went all the way to GA we could list e.g. BlockVolume
, DryRun
or EndpointSlice
. As for the case of feature getting deprecated after getting to beta stage - I wasn't able to find any.rest_client_request_latency_seconds
metric. You can also find it in release notes of v1.17 along with bunch of other changed/deprecated metrics.27