You've successfully subscribed to Nuvotex Blog
Great! Next, complete checkout for full access to Nuvotex Blog
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

Kubernetes v1.27 - what's new

Daniel Nachtrub
Daniel Nachtrub

Kubernetes 1.27 is released! Having the fancy name Chill Vibes it brings up to 60 enhancements. I've picked a few to highlight them in this post.

Image registry change to registry.k8s.io

This change has been active for several months already - the kubernetes image registry is migrated from k8s.gcr.io to registry.k8s.io. Depending on the limitation of your outbound connectivity you need to whitelist registry.k8s.io also.

If you never did an adjustment since kubernetes 1.25+ you are most likely already using the new registry.

Important: Patch releases for v1.24, v1.25, and v1.26 will no longer be published to the old registry after April. This means even if you do not upgrade kubernetes to 1.25 or newer, you won't receive any patches for 1.24 also.

ReadWriteOncePod access mode goes beta

In addition to the current access modes (mostly ReadWriteMany and ReadWriteOnce) you now also have (in beta) ReadWriteOncePod. This means that even multiple pods on the same node are not allowed to mount the same volume.

This is quite useful if you have stateful workloads and you want to delegate the ownership decision of the volume to kubernetes.

One change on 1.27 is that volumes can now be preemted between pods to help prioritizing ownership of a volume.

TimeZone support in CronJob is stable

Working on distributed environments tackling timezones can be tricky. Thanks to the devs you can now set a timezone in the spec of the CronJob.

.spec.timeZone: "Etc/UTC"
set timezone to UTC

A list if timezones and locations is available on Wikipedia: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Probes grace period goes stable

If probes fail you want to terminate the workload and start recovering from the failure. Normally kubernetes waits for terminationGracePeriodSeconds until the container is terminated. But this might be unintended if a liveness probe fails as you might then want to terminate faster than with the default grace period of the container.

This can help to recovery quicker from failed states while still being patient on regular shutdown of the workload.

See the docs for more details.

And much more

There are plenty of changes - most of them are improvements on the platform and brings new features to more graduate states. To see all changes, the the kubernetes blog regarding the release.

Daniel Nachtrub

Kind of likes computers. Linux foundation certified: LFCS / CKA / CKAD / CKS. Microsoft certified: Cybersecurity Architect Expert & Azure Solutions Architect Expert.