Changelog for Kubernetes 1.22
Versions
- Kubernetes 1.22.8
- Nginx-ingress: 1.1.1
- Certmanager: 1.6.3
Major changes
- When our ingress is installed we set it as the default ingress, meaning it will be used unless a custom ingress class is used/specified
- Clusters are now running containerd instead of docker. This should not affect your workload at all
- We reserve 5% RAM on all nodes making it easier to calculate how much is left for your workload
- All components deployed by Elastx have tolerations for
NoSchedule
taints by default - Certmanager
cert-manager.io/v1alpha2
,cert-manager.io/v1alpha3
,cert-manager.io/v1beta1
,acme.cert-manager.io/v1alpha2
,acme.cert-manager.io/v1alpha3
andacme.cert-manager.io/v1beta1
APIs are no longer served. All existing resources will be converted automatically tocert-manager.io/v1
andacme.cert-manager.io/v1
, however you will still need to update your local manifests - Several old APIs are no longer served. A complete list can be found in Kubernetes documentation
Changes affecting new clusters:
- All new clusters will have the cluster domain
cluster.local
by default - The encrypted
*-enc
storage-classes (4k-enc
,8k-enc
and16k-enc
) are no longer available to new clusters since they are deprecated for removal in Openstack. Do not worry, all our other storage classes (4k
,8k
,16k
and future classes) are now encrypted by default. Read our full announcement here
Deprecations
Note that all deprecations will be removed in a future Kubernetes release. This does not mean you need to perform any changes right now. However, we recommend you to start migrating your applications in order to avoid issues in future releases.
APIs removed in Kubernetes 1.25
More details can be found in Kubernetes official documentation.
- Pod Security Policies will be removed in Kubernetes 1.25
- CronJob
batch/v1beta1
. The new APIbatch/v1
was implemented in Kubernetes 1.21 (this is a drop in replacement) - EndpointSlice
discovery.k8s.io/v1beta1
. The new APIdiscovery.k8s.io/v1
was implemented in Kubernetes 1.21 - Event
events.k8s.io/v1beta1
. The new APIevents.k8s.io/v1
was implemented in Kubernetes 1.19 - PodDisruptionBudget
policy/v1beta1
. The new APIpolicy/v1
was implemented in Kubernetes 1.21 - RuntimeClass
node.k8s.io/v1beta1
. The new APInode.k8s.io/v1
was implemented in Kubernetes 1.20
Other noteworthy deprecations
Kubernetes beta topology labels on nodes are deprecated and will be removed in a future release. You can follow the list below to see which labels are being replaced:
Please note: The following changes does not have a set Kubernetes release. However, the replacement labels are already implemented.
beta.kubernetes.io/instance-type
->node.kubernetes.io/instance-type
beta.kubernetes.io/arch
->kubernetes.io/arch
beta.kubernetes.io/os
->kubernetes.io/os
failure-domain.beta.kubernetes.io/region
->topology.kubernetes.io/region
failure-domain.beta.kubernetes.io/zone
->topology.kubernetes.io/zone
Is downtime expected
The upgrade drains (move all workload from) one node at the time, patches that node and brings it back in the cluster. First after all deployments and statefulsets are running again we will continue on with the next node.
Known issues
Custom node taints and labels lost during upgrade
All custom taints and labels on nodes are lost during upgrade.
Custom changes to non -customer security groups will be lost
All changes to security groups not suffixed with “-customer” will be lost during the upgrade.
Snapshots are not working
There is currently a limitation in the snapshot controller not making it topology aware.