#243 December 12, 2024

Kubernetes v1.32 Penelope, with Frederico Muñoz

Hosts: Abdel Sghiouar, Kaslin Fields

Release Lead Frederico Muñoz walks us through the 1.32 release: new feature highlights, deprecations and removals, and the release theme: Penelope.

Do you have something cool to share? Some questions? Let us know:

News of the week

Links from the post-interview chat

KASLIN FIELDS: Hello, and welcome to the "Kubernetes Podcast" from Google. I'm your host, Kaslin Fields.

ABDEL SGHIOUAR: And I am Abdel Sghiouar.

[MUSIC PLAYING]

KASLIN FIELDS: Welcome to the 1.32 release episode. In this episode, we speak to the release lead, Frederico Muñoz. We talked about the theme, what makes this release unique and why you might be interested in upgrading your clusters to this new version. But first, let's get to the news.

[MUSIC PLAYING]

ABDEL SGHIOUAR: Kubernetes special interest group network announced the general availability of the gateway API version 1.2. The new version brings a number of new features to the standard release channel like HTTP route timeouts, infrastructure labels, and backend protocols.

Some new experimental features has been introduced, like name rules, retries, and percentage-based mirroring. There are also two breaking changes that you will want to be careful of. Check the link in the show notes for more details.

KASLIN FIELDS: AWS announced the general availability of EKS Auto Mode. Elastic Kubernetes Services Auto Mode is a fully managed Kubernetes offering where AWS manages the cluster lifecycle, including selecting the right compute nodes, auto scaling, and cost management.

ABDEL SGHIOUAR: AWS re:Invent took place last week on December 2 to 6 in Las Vegas. AWS announced many new features across infrastructure, machine learning, and of course, AI. Check the link in the show notes for a detailed list of top announcements.

KASLIN FIELDS: And that's the news.

[MUSIC PLAYING]

Hello, everyone, and welcome to our 1.32 release episode. I'm excited today to be speaking with the release lead, Frederico Muñoz. Thank you for being on the show, Frederico. Would you like to introduce yourself?

FREDERICO MUÑOZ: Thank you for having me, Kaslin. Of course. So I'm Frederico Muñoz. Fred is perfectly fine. And as you mentioned, I'm the release lead for Kubernetes 1.32.

I mean, I've been on the release team since 1.25, and I've played and done different roles in the release team, up until my nomination as release leads for this one. And I'm quite happy to have been involved and looking forward to the rest of the interview, of course.

KASLIN FIELDS: Excellent, and one reason I'm so excited to talk to you today is because we actually work with each other a lot in the comms team in open source. So release team is not the only thing you do in open source Kubernetes. [LAUGHS]

FREDERICO MUÑOZ: No, no, not at all. And it's very interesting, this interview, because it's a bit of a full circle for me because actually, I don't know if you know this, but the very first contribution that I had in the Kubernetes project was with you, because it was when I ended up helping out with some tweets that we needed for KubeCon North America--

KASLIN FIELDS: Nice.

FREDERICO MUÑOZ: --2021 or 2022, something like that. That was the very first contribution that I did.

So obviously, being with my continuous involvement in the Kubernetes project, obviously where we work together in the SIG contributor experience comms, where I also do some work on the blogging and obviously making the overall community and the world aware of the great work that our contributors do.

And I started there in the Kubernetes projects, and it's still a substantial part of my involvement. And to a large extent, I think that very first step was instrumental in me giving the other steps, and then joining the release team as we release in 2025, et cetera.

KASLIN FIELDS: It's kind of how it works in open source. You find one place that you kind of start getting involved in, and then it just kind of builds as you find more activities that are interesting to you. So I'm so excited to hear that you got to do the KubeCon tweets.

Everyone out there, call for help if you ever want to help out with the communities KubeCon coverage. We always welcome new contributors to help out with that. We have a little program where we define all of the social media posts that we need to make about what the contributor community is doing at KubeCon, and we welcome anyone to contribute to that.

So thank you, Frederico, for doing that. And I also want to call out that Frederico has also received a Contributor Award for his work as a blogging lead in the Comms project.

FREDERICO MUÑOZ: Yeah, that was actually a very-- well, I obviously loved it. And it was one of the ways that I think the Kubernetes community and the community work that we do end up being, in my experience, slightly different from the work that I started doing in free software and open source, when I began my involvement in it in the late '90s, is that I think that there is a bigger understanding of the importance of community recognition and community involvement now then back then, which obviously is an improvement.

So I really cherish that award. In a lot of ways, by the same measure that I take the nomination as release lead, it's mostly because it involves a recognition of the community and of the people that I work-- I mean, in my own hours, in the night shift, let's call it like that.

And like me, many others, so you end up building this sort of extended family that the months go on and you start to depend on the work that others do and you start to know them. And obviously, when you get this sort of recognition, for me, it means that you're trusted by your peers.

And that in itself is one of the best feelings that one can have. So absolutely, that Contributor Award was one of those examples, just like the release lead nomination.

KASLIN FIELDS: Building open source software takes a village, and one of the most exciting outcomes, perhaps, of all of that work is the releases. So you do a lot of work with talking about the work that contributors do in the blog and in comms throughout the year, but this time, you are the release lead for 1.32. So can you tell us a little bit about what's going on with the 1.32 release?

FREDERICO MUÑOZ: In a way, I think that the best way to describe the 1.32 release is that it's been so far, reasonably uneventful, in terms of the way that it goes, which is exactly like we like it. The last release cycle in the year is always a bit more complex than the others, because it's a bit shorter and also, it generally overlaps with three very important and relevant and impactful periods.

One, it's KubeCon North America. The other one, it's Thanksgiving in the United States, and also the Christmas season. So this makes the timeline arrangement a bit more of a challenge. And in this release, we actually made some changes, which up until this point, have proved successful.

For example, we've merged the code freeze dates and the test freeze dates, which previously, the test freeze was a bit of a couple of weeks after the code freeze. But the community consensus and specifically of SIG release and all the contributors was that this was actually not yielding the right results in terms of the test coverage.

So we ended up just merging them together. And this is one of the changes that this release has. I feel that each release-- and I've been on SIG release since 1.25 as I mentioned, as I went to several different teams, comms, enhancements, release notes, both as a shadow and as a septum leads.

Each release cycle, I think that the actual maturity model and the improvements that we have makes the next release a bit easier for the people participating in it, and much more so to the release lead. I think that the way that, for example, the SIG release subproject works, specifically with Kat and Grace helping the release lead and the rest, maintains a certain continuity.

And also, at each release, we document and improve the things that weren't working as well because of the retros that we do, which means that overall, we are having a very peaceful release. And by the time that this interview airs, we will have the Kubernetes 1.32 out.

Also, I think that each release has a different flavor to it because although processes are important, each individual and each team is a composite of the release lead, obviously, but also of the septum leads and of the shadows. And I have only good things to say about the team that I have, which so I'm extremely lucky in being able to depend-- we go back to the discussion that we had before.

It's all a matter of trusting and depending people that, some of them you've known for quite a few times, the others are just joining in, but all of them end up lending their time and passion and involvement in a way that makes a release not only a technical achievement, but also an achievement of joint community work, which I find very, very uplifting.

KASLIN FIELDS: And rewarding.

FREDERICO MUÑOZ: And rewarding. Yeah, indeed.

KASLIN FIELDS: Yeah, for sure. And speaking of releases having their own flavor, I'm going to go ahead and ask, what is the release theme for 1.32, and what was your inspiration for it?

FREDERICO MUÑOZ: [LAUGHS] I mean, this has both a short and a long answer. But as I'm never one to use one word when two will do, so I think I'll give you both.

So the theme of this release is Penelope, and it's Penelope because of "The Odyssey." The ancient Greek myth with Odysseus, or Ulysses, in the Greek and Latin name. And this is for one thing, a theme doesn't have to mean anything.

This is like a small little thing that it's left up to the decision of the release lead just to add a certain flavor, and it's completely detached from the actual version numbers that end up on the cloud providers, et cetera. So it's not very much used outside of this. But I still think it's important because it gives great t-shirts. And good swag.

And in a way, it is a reflection of the community work that we do. So why Penelope? I think I need to go back for my own path in life to give a better answer.

So I actually joined the technology or IT or computer or programming, as I mentioned, in the '90s. Why? Because I started with Linux, I installed Linux and I started to learn with Linux. This will be a story that many of our listeners will understand very well.

So you get this black screen in front. You don't know anything about it, but you have this passion to learn and you end up learning by yourself. Programming and in C in Common Lisp, I mean, that was my door into technology.

And why am I mentioning this? Because my actual academic path was archaeology. So that's what I did. My bachelor's and master's was in archeology.

While pursuing a career, so I'm a bit of an oddball in that, my career was entirely in technology. I started as a programmer, then went into Linux and Unix administration, then joined IBM for technical solutions, from IoT, quantum computing.

Ended up in Kubernetes because Linux obviously has a huge importance in-- when cloud native started, all my background in open source and Linux was right there. And currently, I'm working at the SAS Institute as a cloud and architecture lead for Europe.

But going back to Penelope, my knowledge of obviously the ancient Greek myths made me-- I was a co-organizer of Kubernetes Community Days Porto a couple of months ago, and there was a cybernetics exposition just in the room next to the KCD one.

And I mentioned in passing that cybernetics and Kubernetes actually come from the same Greek root, which is Pilot, Helmsman, et cetera, and that made me think-- and by that time, I still hadn't-- the theme completely settled-- made me think, well, actually this is interesting because a release cycle is a voyage, is sort of an epic voyage, where a journey where teammates help each other.

But I still wasn't absolutely settled until I remembered that actually, the voyage from Troy to Ithaca of Odysseus took 10 years. And I remember that we are on the 10th anniversary of Kubernetes, and after that, I just actually introduced this in my release comms, to the mailing lists.

I started with a small quotation of "The Odyssey," which is applicable to the specific release week that I was in. And in the last third of the cycle, I settled on the Penelope because also, on top of the 10 years, and on top of the Kubernetes and journey theme, also the Penelope ended up-- she has a loom, and she weaves by day and weaves by night, because she has all these suitors that want to marry her, but she wants to wait for Odysseus, obviously.

And that actually reminded me of the way that the Kubernetes release cycles work, because we have this deprecations and then we have the new alpha, beta, and stable features. So we end up as a community building this very large project, the second largest open source project in the world.

We end up doing it a bit like Penelope. We wove things in, and wove others as we progress. So yeah, I mean, several different layers here, from the very simple, it's just a cute thing that I end up liking because of my past in archeology, but also because I think it makes sense on the 10th anniversary of Kubernetes, and pays a certain homage to the Greek roots of the Kubernetes name.

KASLIN FIELDS: Excellent. There are so many layers there, and I always love to hear about the release theme. I think it gives such a human angle to the release. It is all people behind the scenes.

FREDERICO MUÑOZ: Yeah, indeed.

KASLIN FIELDS: And I love how it ties to your own background, coming from archeology and going into technology, just because you were passionate about it.

I wanted to call out that when we were getting this episode started, we did have some technical difficulties with the audio, and we were worried for a moment there that perhaps it was not going to be the year of the Linux desktop. But don't worry, folks, we fixed the audio issues. [LAUGHS]

FREDERICO MUÑOZ: Yeah, that's a recurring joke. But I've been on the Linux desktop for 20 years now, so it's not that everything works at first, it's just that I've learned to live with the-- whatever limitations exist, they still are not enough for me to use something else.

KASLIN FIELDS: Speaking of limitations, releases really are all about limitations for our users. They are about hopefully solving some limitations and perhaps introducing others.

So what do we have going on in the 1.32 release? Can you give us some highlights of some of the enhancements that are happening?

FREDERICO MUÑOZ: Absolutely. So let me start by what we don't have in this release. So by the deprecations, we actually don't have a major deprecation. We had some releases in which we had some very impactful deprecations.

That's not the case here. We have just one deprecation, which is not something that we will need to write blog articles about to warn people, et cetera. I mean, it's nothing like the removal of dockershim.

KASLIN FIELDS: What a time.

FREDERICO MUÑOZ: Yeah, exactly. So that's one of the aspects of this. I mean, we have 44 enhancements, new enhancements, in this release. 18 alpha, around 12 in beta, and 13 in stable, which is a good number, just around the average for this.

Obviously, the release article will identify the highlights that we think are the most significant. And amongst those highlights, for me, specifically, I think that the dynamic resource allocation changes are worth mentioning, both because of the deprecation and because of the things that enter.

And this goes back, actually, to the theme and the idea of we continuously wove things in and wove things out. So what happens in this release is that we have several new enhancements that improve dynamic resource allocation. Very simply, and without going into the nitty, gritty details, the RA is a part of Kubernetes that allows the resource allocation for workloads that require specialized hardware.

Obviously, in this day and age, with, well, AI and data intensive workloads, et cetera, this can mean GPUs, FPGAs, network adapters, whatever. So it's obviously a very important aspect of the way that Kubernetes evolves to meet the demands that are expected of it.

And we have several different vRA enhancements, which are very, very useful. Namely, I think that in terms of the deprecations, actually, it's also the RA. What happens is that we add things to dynamic resource allocation, like structured parameter support, for example, that allows the Cluster Autoscaler to actually work directly without needing a third party driver.

You can read this on the article, and there's a link to the caps and the Kubernetes and descriptions, et cetera. At the same time, we remove, we deprecate the old vRA implementation.

So why do I think this is noteworthy? Because it shows the way that features, the life cycle of features, and the way that Kubernetes release end up being this dynamic process in which things are added, they are tested, they are applied in the field, they get reviewed, we get the feedback from the users.

We end up, in some cases, it's perfectly applicable and they get more incremental improvements. In other cases, like the RA, we end up going in a different direction to better meet these new challenges. And we remove some parts of the previous implementation.

So if I had to choose one, I think that this is an interesting one because it shows that Kubernetes is a very, very dynamic piece of software. And the way that the cycle works in terms of features has this ability to respond to the way that features are used or not used and incrementally or more radically improve and replacement.

So that is certainly one of the major ones. There are others. I mean, now, it's all a matter of taste. And some people will like a bit more the ones around pod level resource specifications, specifically some of the changes that made it into 1.32, in terms of being able to set resource requests and limits at a pod level.

Some of the work's also done, but unfortunately, not completely done in this release, but some of the work made it. But in the next one, I think this will likely be even better, which is the ability to have pod resources resizing dynamic while it's running.

I personally like, for example, the ability to take snapshots of volumes. So as a group, its volume group snapshot API is introduced in 1.32. So this is obviously very interesting for backups in order to maintain data consistency. So for me, these are a couple of the good examples of what 1.32 brings to the table.

KASLIN FIELDS: I feel like there's these major enhancements that are happening in 1.32, kind of have a common theme in Kubernetes growing in terms of the different types of workloads that it supports. We mentioned AI of course, but also stateful.

When Kubernetes first came out, it was very focused on stateless workloads. But running stateful workloads on Kubernetes is commonplace now, I would dare to say. And so we've seen more and more features added into Kubernetes to enable stateful workloads, which inherently involves managing new kinds of hardware for the cluster.

And so AI also needs hardware management type of capabilities, so we have the dynamic resource allocations. And of course with stateful, you need backups as well. So we've got a couple of kind of thematic major updates in 1.32 there.

And I did want to call out, you mentioned there was one deprecation. It's actually a removal of a beta API.

FREDERICO MUÑOZ: Yeah, exactly.

KASLIN FIELDS: The v1beta3 API version of flow schema and priority level configuration.

FREDERICO MUÑOZ: Yeah.

KASLIN FIELDS: So if you use the v1beta3 version of flow schema and priority level configuration, watch out and make sure that you change that API version for 1.32.

FREDERICO MUÑOZ: Exactly, yeah. That is the one API removal that exists in this release. So it's that removal of the flow control, flow schema, and priority level configuration.

Then we also have the withdrawal of the old DRA implementation. And actually, also the deprecation of the Git repo volume types to respond to a security issue that was identified. So it was deprecated as well.

KASLIN FIELDS: Excellent. And there's a few others that were called out early in the sneak peek at 1.32. And of course, as this is coming out, there should be new blogs about all of the features that are going to be in 1.32.

At some point, I will stop being completely amazed, perhaps, at the number of features that go into these releases. I still feel like 44 is quite a lot, but I guess it is fairly standard in terms of recent releases, at least.

FREDERICO MUÑOZ: The idea of trying to make a comparison by release of this--

KASLIN FIELDS: That would be interesting.

FREDERICO MUÑOZ: --the amount of enhancements, we have that information, obviously. In terms of the articles of the features, there will be feature blogs coming out in the weeks after the release. We already have most of them closed and ready to go. So that's another aspect of the release, which I found very interesting.

So we not only guarantee the documentation of the features, but for those that warrant specific highlighting by the SIGs, we will have feature blogs that will go into the more technical details, use cases, why it is important.

And one aspect of this is that I actually learned a lot as well. I mean, the reality is that it's impossible to have full knowledge of everything that goes on in Kubernetes. I personally have a superficial knowledge of a part of Kubernetes, both from a code wise perspective, but even as a release team lead.

There are lots of things that pop up which I wasn't aware existed. So I think that part of the reward of working in a release cycle is actually being sort of forced to learn the interesting stuff that's getting in.

And sometimes, you end up finding things that will pique your interest and you will delve a bit more into them. And I think that's a very interesting side effect of being a lead, but more in general, a member of the release team.

KASLIN FIELDS: Yeah, that flow control, flow schema removal, I don't even know what that is. I don't know that I've seen that in my entire time in Kubernetes. So there's always something new to learn, and the release is a great place to find a whole bunch of new things to learn.

And you have been involved with releases for at least two years, right? We have three releases per year for Kubernetes.

FREDERICO MUÑOZ: Yeah.

KASLIN FIELDS: And you've been through, what, seven then?

FREDERICO MUÑOZ: I mean, I joined in 1.25.

KASLIN FIELDS: So seven.

FREDERICO MUÑOZ: So yeah, and I joined, I wouldn't say by accident, but it was through the obviously normal process, which is just some months after we started working in SIG contributor comms. I applied for the shadowing program, which, by the way, will be, by the time the release gets out, there will be a shadowing questionnaire out for the 1.33 release.

KASLIN FIELDS: So if you're interested in being part of the release team, make sure you fill out that form.

FREDERICO MUÑOZ: Exactly. So I filled it out to the best of my ability, without any great expectations. But fortunately, Kat Cosgrove was the comms lead for 1.25, and she picked me for being a shadow in comms. And then I was the comms lead, and then it was my foot in the door in the release.

That initial experience actually was very, very interesting because it allowed me to-- I mean, in a way, go back in time, in terms of community involvement. And again, feel what it means to do this kind of community-based development with a constant rhythm.

Because a release-- what I'm trying to say here is that a release has a start, has an end, and it requires you to actually do things in a certain pace. It's not something that you can easily-- or you shouldn't at least-- just stop doing it, because it has a timeline, and there's a certain amount of pressure there.

So I found that pressure interesting in the way that it made my weekly life slightly more interesting. So even if sometimes it can seem a bit too much, obviously with the day job, family, and other stuff going on, I always come out in the end thinking that I've been fortunate to be able to participate.

And even when sometimes I think, nah, this is too much, then I just need one week without doing it. And at the end of that week, I'm already ready to go.

So yeah, from 1.25 to 1.32, it's a substantial amount of time, which allowed me actually to learn different things in the release cycle and in a way, prepared me for role of release lead, which is mostly around being able to depend on others in a gracious way.

So there's a certain amount of humility that you need to learn and actually, in order to be the lead of anything. So I think that I've learned that and I'm thoroughly enjoying the experience.

KASLIN FIELDS: As his Contributor Award says, Frederico is an absolute boss. [LAUGHS]

FREDERICO MUÑOZ: Ah, yeah. You're very kind. Yes. [LAUGHS] I still have that pizza.

KASLIN FIELDS: Yeah, he got one of the pizza awards. The Pizzanetes.

FREDERICO MUÑOZ: Yeah, exactly. But it's, Carry Woods? No.

KASLIN FIELDS: Oh, Chop Wood Carry Water Award.

FREDERICO MUÑOZ: Exactly. Exactly.

KASLIN FIELDS: But it's Chop Pizza Carry Boxes. Yes.

FREDERICO MUÑOZ: Exactly. Chop Pizza Carry Boxes, exactly. That's it.

KASLIN FIELDS: [LAUGHS] We like to have a little bit of fun with our awards. But in all seriousness, Frederico has wonderful, not just technical skills, but also management skills that you've brought to your contributions in open source Kubernetes. So it sounds like, as makes sense, that was an important part of coming up to this release lead nomination.

FREDERICO MUÑOZ: I mean, I find it very hard to speak about that. It goes back to what I've said before. I mean, partially, obviously, each one of us has their own life experience. And some of the things that I lack are compensated by others that I bring.

And the good thing is that we all have this. So in the end, working together ends up working pretty well. Given my role and my professional experience, there are certain things that come more naturally to me, others less so.

So we end up trying to put into action those things that can happen to help the projects, and at the same time, depend on others to cover the things that we are not so experienced in. And also, learn.

I think that learning for me, it's one of the fundamental things that keeps me going in this project, because I think I'm still very far away from saying I've learned everything that I could from the Kubernetes project. And so that's what kept me reapplying to the release team.

And I'm sure that I'm just a-- this is a typical experience for most people that keep contributing. Because one thing that I found in common with others that keep contributing, because that's a problem with open source projects in general, you have peaks of participation, but sometimes not as much a steady flow of contributors that stick around.

But the ones that end up sticking around, you end up even without knowing exactly how. You end up picking up more responsibilities.

And after a while, you see others looking to you like they recognize something that-- I've just joined yesterday, but well, it was a couple of years. And in the end, it's the recognition of the work that we do that puts us in a position of being trusted.

KASLIN FIELDS: And speaking of recognizing the work and bringing it back to the 1.32 release, I'm going to ask you one final question, which is for all those folks out there listening who have to run Kubernetes clusters and unfortunately update Kubernetes clusters, what advice do you have for them on why they should update to 1.32? Upgrade to 1.32, I suppose is the right terminology.

FREDERICO MUÑOZ: Yeah, I mean, there are a couple of different ways to address that. I can start by the practical one, which eventually, everyone will update to 1.32, because I would think that if we consider that most people use, for example, one of the clouds managed the Kubernetes flavors, eventually, all the others will be deprecated. So 1.32 will be the one that we will start to use.

KASLIN FIELDS: Quicker than you want.

FREDERICO MUÑOZ: Exactly.

KASLIN FIELDS: Long term support, something, something. [LAUGHS]

FREDERICO MUÑOZ: Exactly, exactly. On the other hand, I think that just like every other release, there's a choice that people can obviously do. I'm not saying that everyone should jump in to the new release as soon as possible.

I would say this. If any of the enhancements that we've just discussed around pod resources, around volume snapshots, around dynamic resource allocation, if they scratch a specific itch that you're feeling right now that isn't being met, then I would say this is a good reason for updating as soon as possible.

If not, what I would say is that you should take this release as another one, in terms of the update cycle of Kubernetes. And hopefully, most people using Kubernetes will have this more streamlined approach to updating and avoid staying in old versions for a substantial amount of time, because that accumulates technical debt, accumulates problems, issues.

So it's a good idea to update as a regular practice, in this case to 1.32. But yeah, I think these are the two possible ways to reply to your question. And I mean, it's not specific to 1.32. It's something that I think will be applicable to just about any release and the decision of upgrading or not.

KASLIN FIELDS: And specifically to 1.32, I think there's not a lot of breaking changes here. There's a couple of removals.

FREDERICO MUÑOZ: Yeah.

KASLIN FIELDS: There's that beta API, there's a deprecation, which won't directly affect anything, and then there's the dynamic resource allocation stuff. So if you're using any of that, check on it, but I think those cases will be a little bit rarer. They're not going to be a huge impact generally.

FREDERICO MUÑOZ: Exactly. There's not a deprecation that completely breaks something that is being used by just about everyone. So I think that 1.32, it's a good incremental release that will allow people to update when they think and when they feel that the features that it brings to the table make sense, or as a part of the regular keeping update, because obviously, there's a lot of fixes as well.

I mean, it's not just-- this is an important aspect. We're all focusing on the enhancements on the features, but there's a lot of work going on in terms of actual bug fixes.

So each new release of Kubernetes addresses problems that existed before, which are not highlighted as a feature, but they actually should add stability and should address problems that if you're not updating to 1.32, you're more likely to be facing them in your usage of Kubernetes.

KASLIN FIELDS: So there you go, folks. That's Kubernetes 1.32. Make sure you check out the release blogs for more information and we'll see you there. Thank you so much, Frederico.

FREDERICO MUÑOZ: Thank you very much, Kaslin, for having me. It was a great pleasure.

[MUSIC PLAYING]

KASLIN FIELDS: I'm so glad that we got to talk to you, Frederico, for this release episode and that we've continued doing our release episodes. These are always a lot of fun to do, and we're all the way at 1.32 here at the end of 2024.

ABDEL SGHIOUAR: Yes. I just have to say, I think, probably, Frederico has been one of the easiest guests to coordinate an episode with this year. It always takes a couple of emails back and forth, but it was just so easy to do it, it was like kudos.

KASLIN FIELDS: As I say in the interview, Frederico is an absolute boss. That is what his award says from the Contributor Awards, and it is because he is very good at these types of program management type activities. [LAUGHS]

ABDEL SGHIOUAR: Yeah, which makes, probably, Frederico a good release lead.

KASLIN FIELDS: Exactly.

ABDEL SGHIOUAR: Awesome.

KASLIN FIELDS: And so one thing that we started out talking about was the release theme, and it was such a cool story that he had behind the release theme. It's always so interesting to see what the release leads do with it.

Sometimes it's just silly, for fun. Sometimes there's deep meaning behind it. This was one with some personal connections and also with deep meaning in a variety of ways.

So it's super cool because it's Penelope, which is from "The Odyssey." It's got the Greek connection with Kubernetes, and connected to Frederico's own background in archeology.

ABDEL SGHIOUAR: Yeah, that actually was quite surprising, as somebody who did archeology for a part of their life, I guess, before switching to tech. Has Frederico been always on archeology or always in tech?

KASLIN FIELDS: It sounded like always in tech. It sounded like he did his degree in archeology, and then the call of technology was too strong. One of those folks. [LAUGHS]

ABDEL SGHIOUAR: Got it. Nice. Nice. Yeah, the theme is pretty cool. To be honest with you, when I was listening to the first portion of the episode at least, I heard Penelope and it pulled my attention because actually, the name Penelope is a very popular name-- well, I'm not sure about popular, but it's a very common name in France.

You have people in France that use that name for a female name. And so when I heard Penelope, I was like, who is Penelope in this? [LAUGHS] I think there was even, the wife of a very famous politician in France was called Penelope something. I just don't remember the full name.

But yeah, I was like, why are they talking about Penelope? And then I had to go Google it to figure out oh, this is a mythology, a Greek mythology thing.

KASLIN FIELDS: Oh, yes. [LAUGHS] You never read "The Odyssey?" You'll have to check that out sometime.

ABDEL SGHIOUAR: No, I have to check it out then. No, I have never read "The Odyssey." No.

KASLIN FIELDS: Yeah, we watched a movie on that in high school, one of those classics.

ABDEL SGHIOUAR: Oh, I see. OK, cool. Nice.

KASLIN FIELDS: Yeah, so it's got some really nice connections there. He even tied it in with the 10 years thing because of Odysseus's 10 year journey home.

ABDEL SGHIOUAR: Nice.

KASLIN FIELDS: So many layers. Very nice.

ABDEL SGHIOUAR: A lot of meaning.

KASLIN FIELDS: Mhm. And then we talked a little bit about the highlights of the release. 44 new features, I think, Frederico said in this release, which every time, it surprises me lately.

I would really like to see a graph. We mentioned this in the episode. We'd love to see a graph of the number of enhancements in each release over time.

ABDEL SGHIOUAR: That's pretty insane, 44 new features. Quite a lot, actually.

KASLIN FIELDS: Yeah, I think we might have had one other release that we did an interview for, which was higher. So I think it's like in the right realm for the last several releases at least. But it's still so many things.

ABDEL SGHIOUAR: When you have that many number of features, it's also a lot of work for the people that need to get their code in before the cutoff date, like before the code freeze. So I assume it has been insane for a lot of maintainers.

KASLIN FIELDS: Yep, and we always like to call out, especially, the removals and deprecations that are in each release.

ABDEL SGHIOUAR: Yes.

KASLIN FIELDS: So there was one removal of a beta API, so relatively low risk removal there. And then deprecations, there were a couple. Of course, deprecations means that nothing is removed yet, it's just a warning that something is going to be removed in the future.

So those should not be any kind of breaking change. One of them was an API, and one of them was the first version of the Dynamic Resource Autoscaler, the DRA.

ABDEL SGHIOUAR: Interesting. OK. So there was a new version of the API, basically, that was introduced.

KASLIN FIELDS: In 1.32, exactly.

ABDEL SGHIOUAR: Nice, nice. Cool, sounds good.

KASLIN FIELDS: And Dynamic Resource Allocation, I think is actually the A, is-- [LAUGHS]

ABDEL SGHIOUAR: Yeah, I think that that's what it means. Yeah.

KASLIN FIELDS: Yeah. That is one of the core features, I would say, of 1.32. Something we've been talking about a lot, I know I've talked about it with folks a lot recently, the ability to more dynamically manage your hardware resources within your Kubernetes cluster. It's very important in this day and age.

ABDEL SGHIOUAR: Yes.

KASLIN FIELDS: We talked about its importance, both for stateful workloads, which are increasingly commonplace on Kubernetes, as well as AI.

ABDEL SGHIOUAR: Nice, nice. Yeah, it's pretty cool to see DRA kind of being pushed as fast, I would say, or as quickly. I think it's been in the making for a while, but it's good to see people kind of pushing it forward because there is a need for that kind of things with AI, right?

KASLIN FIELDS: Yeah.

ABDEL SGHIOUAR: Nice.

KASLIN FIELDS: Immediate need.

ABDEL SGHIOUAR: Exactly.

KASLIN FIELDS: And then the in-place pod auto-sizing resizing as well.

ABDEL SGHIOUAR: Oh, yes. That will be leveraged by Vertical Pod Autoscaler.

KASLIN FIELDS: Exactly.

ABDEL SGHIOUAR: So you can live resize the pod without restarting it. That's pretty cool actually.

KASLIN FIELDS: Yeah. I really want to look more into how accessible that is in different environments, because something that I like to remind people about is that it actually does take some work for Kubernetes to be able to work on different environments.

You don't see it if you use a managed service from a cloud provider, because they take care of that for you. But realistically, it does take some plugins. Used to be in-tree provider code, and we talked earlier this year about the removal of all of the cloud provider code from upstream Kubernetes.

So it actually does take a little bit of extra work. There's something extra that you have to install in the Kubernetes cluster for it to work in different environments, which will, of course, impact your ability to dynamically autoscale things in a lot of cases. I'm very curious to see if there are any restrictions on how easy that is to use in different environments.

ABDEL SGHIOUAR: I would have to assume that one of the restrictions would be pretty how much resources are available on the node where that pod is running.

KASLIN FIELDS: Of course.

ABDEL SGHIOUAR: So that would be probably the main one, obviously.

KASLIN FIELDS: Which it has to know about in order to do that.

ABDEL SGHIOUAR: Yes, which it has to be aware of. Then the other one, I would assume, also has to do something with whether your application running inside the pod actually support that.

I know, for example, that the Java application will not be able to leverage more memory just because the GVM has to be set up with a certain parameters when it starts. So you cannot just, like, live resize the pod and expect the GVM to use more memory without restarting it.

Or at least that's how it used to be. It might have changed now. It would be interesting to see what the impacts of that from the application's point of view, right?

KASLIN FIELDS: I remember some stuff, I think at KubeCon, about Java workloads on Kubernetes specifically. Maybe it was related to this. That is an interesting consideration that I hadn't even thought of.

ABDEL SGHIOUAR: Yeah. Yeah, not all programming languages or not all applications will be able to just leverage more CPU and memory that is available. I mean, CPU, I think is fine because it's a compressible resource, but memory is kind of interesting.

And then I think the interesting part would be, what happens if you scale down the pod? [LAUGHS] What happens to your memory, right? So I think that there is probably some experimentation that needs to be done on these kind of things.

KASLIN FIELDS: At least from the Kubernetes side. Kubernetes doesn't have to kill your pod in order to give it more resources. But what that means for your application may vary.

ABDEL SGHIOUAR: Yes.

KASLIN FIELDS: I suppose. [LAUGHS]

ABDEL SGHIOUAR: The feature is there, so go try it out.

KASLIN FIELDS: Yes, I definitely want to explore that. And then, of course, we talked quite a bit about Frederico's path to becoming release lead. We discussed his background already, that he has a degree, I suppose, in archeology.

New information for me from this conversation. And got into open source in the '90s, but started contributing to Kubernetes, I suppose during the pandemic, started contributing to the comms team, which I helped to lead, and kind of immediately applied for a release team after getting started with comms a little bit.

ABDEL SGHIOUAR: Nice.

KASLIN FIELDS: Got selected as a shadow, did several different roles within the release team, and then, eventually was nominated for release lead.

ABDEL SGHIOUAR: Yeah. So thank you very much, Kaslin, for that interview.

KASLIN FIELDS: Thank you, Abdel, for chatting with me about it, and I look forward to 1.32. Hope you all check it out.

[MUSIC PLAYING]

ABDEL SGHIOUAR: That brings us to the end of another episode. If you enjoyed the show, please help us spread the word and tell a friend. If you have any feedback for us, you can find us on social media @KubernetesPod, or reach us by email at <kubernetespodcast@google.com>

You can also check out our website at kubernetespodcast.com, where you will find transcripts and show nodes and links to subscribe. Please consider rating us in your podcast player so we can help more people find and enjoy the show. Thanks for listening, and we'll see you next time.

[MUSIC PLAYING]