Hello, cloud gurus.
I'm Nigel, the author of The Kubernetes Book and Quick Start Kubernetes, and a very happy
new year from me and all the folks at A Cloud Guru. Now, in this episode among other things, we'll take a look at my top picks from the recently
released Kubernetes 1.23.
Now while you're here, be sure to subscribe so you're always up to date
with everything going on in the world of containers and Kubernetes.
The biggest thing in the community since the last episode is, without doubt, the release of
Kubernetes 1.23.
So it was the third and final release of 2021.
And it was code-named The Next Frontier because, well partly because we all love a Star Trek
theme, but also due to the sheer number of enhancements.
Speaking of which there were 47 in total, with 11 moving to stable and 17 to beta.
So here's my top picks.
First up v2 of the Horizontal Pod Autoscaler went GA, and this is a real step towards auto-scaling,
better suited for the real world.
I mean, I dunno about you, but I always felt the initial v1 implementation was a bit, well,
it was a bit clunky, but it was also pretty basic as well, like scaling mainly on CPU
and memory usage.
Well, the v2 API has proper support for custom metrics.
So maybe your app cares about queue size, or maybe response time from the queue, no
sweat custom metrics to the rescue.
As well, though, it can evaluate and scale on multiple metrics.
You get better control over scale, up and scale down behavior, and you get stabilization
windows to prevent flip-flopping during turbulence, all good stuff.
My next topic is Pod Security graduating to beta.
Now this is the long-awaited replacement of the clunky old PodSecurityPolicies object.
Though, I guess it's not totally here yet as this is just beta, but I am already liking
what I see from a clarity and a simplicity perspective.
So it's implemented as a built-in admission controller that evaluates new Pods against
a set of pod security standards.
Then of course it decides whether or not to admit them the cluster or deny them.
Now there's a bunch of detail behind the scenes and we might be seeing tweaking to that before
it goes stable, but it is an out-of-the-box solution that makes it way easier to evaluate
new Pods against best practices.
Very much a step in the right direction.
Well, last but not least in my picks, dual stack networking went GA.
This means a single Kubernetes cluster, including Pods and Services, can run.
IPv4 and IPv6 side-by-side and it's production-grade.
Now there's a few prerequisites like your nodes need routable IPv4 and IPv6 addresses.
And your CNI plugin needs to support dual stacks.
But if you tick both of those boxes, heck yeah, Kubernetes can rock and roll with IPv4
and IPv6 on the same cluster, at the same time.
Now, obviously this is good news for anyone migrating to IPv6.
However, it is a huge deal for IOT, where thousands of devices need their own IPs.
Okay, so a bit of a prediction for 2022, or maybe a heads up of some things to come and
how to tackle them.
So as Kubernetes matures, features get tweaked and improved and eventually the older versions
need removing.
Now I've talked about this before, but Kubernetes has a deprecation policy, which is basically
a heads-up warning when something is gonna be removed in the future.
Well, as part of that, we get an idea of which version the feature will actually disappear
in.
And we get stuff like command line warnings to help us.
Well, 2022 is probably gonna see the biggest feature or tech removal so far in the history
of Kubernetes.
Though, saying that I am aware, I might be forgetting something that's totally bigger
than this.
Either way, Docker was deprecated as a runtime in version 1.20.
I think that was the back end of 2020, something like that.
And as I record this, it is slated to be removed.
So stop working in 1.24.
Now, considering we're already on 1.23, that's not far away and it's not the only thing that's
gonna be removed this year.
I was reminded just the other day that FlexVolumes are disappearing in 1.25.
So I think we're gonna see more and more of this kind of thing in 2022 and beyond.
And I think we really need to start tackling deprecations as soon as they're announced.
Like I've got this steady trickle of people pinging me, worried that deprecated features
are suddenly gonna stop working on them.
And every time I'm thinking to myself, why are you leaving it till the last minute?
Like Kubernetes is serious infrastructure at the core of a lot of businesses, do we
really wanna be brushing deprecations under the carpet and hoping that they never happen?
Cos if we do wanna act like that, we're gonna get hurt.
So make your new year's resolution to tackle deprecations as soon as they're announced.
All right, while sticking with themes for 2022, I'm really hoping the Inclusive Naming
Initiative will expand and have an impact.
It's basically an initiative to remove potentially harmful words and terminology from the tech
world.
So as an example, I'm in the process of publishing the 2022 editions of my Quick Start Kubernetes
book and The Kubernetes Book.
And part of the updates was me removing any and all references to masters, whitelists
and blacklists, and aborting, 'cos all of them have connotations that might be upsetting
to some people.
And I get that.
So while it took a bit of time for me updating sentences and diagrams, honestly I was more
than happy to do it, and I'm pleased that I did.
I mean, it is a simple and a worthy cause and I really hope it gains traction in 2022.
I know for example, the official Kubernetes docs are already all over it.
And I think, as it's been a holiday season in a lot of the world, that about does it
for this month's episode.
If you liked it, you can check out more of our original series with an ACG free plan.
You’ll also get free access to our learning paths, and new courses and quizzes every month.
Best thing is, you don’t even have to use a credit card to sign up - check out the link below.
Also check out our free course for January – Designing Applications for Kubernetes.
And on that note - stay safe and I'll see you again next month.
Same kube time, same kube place.