 Hey, everyone. Thanks for joining us today. Welcome to today's CNCF Live webinar, Kubernetes 1.28 Release. I'm Libby Schultz and I'll be moderating the webinar today. I'm going to read our code of conduct and then hand over to Grace Wen, Release Team Lead and Atarva Shinde, Enhancements Team Lead from the Kubernetes 1.28 Release Team. A few housekeeping items before we get started. During the webinar, you're not able to speak as an attendee, but we welcome and encourage you to drop all your questions into the chat box on the right-hand side of your screen and we will get to as many as we can at the end. This is an official webinar of the CNCF and is such a subject to the CNCF Code of Conduct. Please do not add anything to the chat or questions that would be in violation of that code of conduct. Please be respectful of all your fellow participants and presenters. Please also note that the recording and slides will be posted later today to the CNCF online programs page at community.cncf.io under online programs. They will be available via your registration link you used to join today and the recording will be on our online programs YouTube playlist. With that, I'll hand it over to Grace and Atarva to kick off today's presentation. Take it away. Thank you, Libby. Hi, everyone. My name is Grace and I was the release team lead for the 1.28 release. And if Atarva wants to go to the next slide to introduce himself. Hello, my name is Atarva. I'm from India. I'm the version 1.28 announcements lead. And there's one other folk with us who is not able to join us today, but he is Brad, who was the Kubernetes 1.26 comms lead for the release team, 1.28 comms lead for the release team. So, yeah, this was the basic introduction about us. Grace, over to you. Yeah. So this release is made up of a lot of folks. So these are the people that contributed to the 1.28 release, many of whom has now gone on to work on the 1.29 release, which started on Monday. So a huge shout out to them and all the work that they put into this so that we can have a new release. The theme for this release is plantargetes, because it is summer here where I am in the northern hemisphere. And I thought a garden was a really good symbol for our open source ecosystem. The fact that we all have a very unique backgrounds and roles, but each of us is really critical to the ecosystem. Yeah, I'll talk about the Kubernetes. So Kubernetes has a process for those that for the features that maybe measure things or that maybe user facing. So these these announcements go through a process, a release tracking process, and they go, they have to build up. And it is an answer for the announcement they are planning to propose. Around five and two version one point to it, among which these announcements that have started with stage alpha, announcements that moved to stage beta 14 and around 12 announcements have graduated to stage stable. So now, yeah, we won't be able to go through each of the enhancements because that will take a bit of time. But Taver and I will go through some major themes that we think you should know about. So first off, we have changes to support a skew between control plane and note version. So upgrading to new version is a pain point amongst folks in the community. And hopefully this will make it easier. What this means is that the version of your control plane and your note version note that this is minor, not major version. They can be three apart instead of two apart now. And this will hopefully support you to upgrade your control plane and then your note easier. This enhancement is now in stable and you can go to the link here to read more about it. It is also on our blogs. Next up, we have recovery from non graceful note shutdown. So this is the event of a broken OS or broken hardware situation where the shutdown is unexpected and hard to detect by the cupelet. This enhancement will support the stateful sets pots to be recovered. So I think of it as, you know, the pots that are stuck in the node that is being shut down will get airlifted. Yeah. And then we have this feature is currently in beta improvements to custom resource definition validation rules. That's a mouthful. But this is one of the enhancements that incorporate the common expression language, which is one of the ways that you can declare rules for your custom resource definitions now. And to use that, you have two optional field reason and field path for you to specify. Next up, another one that is also related to sell or common expression language is now you can use sell to enforce customizable policies within your YAML. And in order to do this, you need to enable the two things that we outlined there. This feature is also in beta. So the amazing thing about version 1.28 among the very other new announcement is we officially now have sidecar containers available. So the way you can use the sidecar containers, the init containers are used as a sidecar container and you can enable the sidecar container by mentioning the restart policy field in your init container specification. And if you omit the restart policy specification field from your init container specification, that means you just want your container to try this feature to enable the sidecar containers you get at someone available. So moving on to another new announcements that we've got, the status of the mixed proxy version, so let's say you have multiple containers in your clusters and you are trying to access a resource from an API server which isn't supported by your API server because there are a lot of API servers with multiple versions. So how to deal with this? So there's an announcement called mixed version proxy. So through this, the announcement is to one of the appers inside your clusters, which can satisfy the quest that you are trying to access the resource to. So you can enable this announcement with the unknown version interoperability proxy feature gate. The next announcement we have is support for enabling swap space on Linux. So the announcement was introduced in 1.22, but it has graduated in 1.28. So the swap support was actually not available in Kubernetes, but from 1.22 to 1.22, it was made available. But for 1.28, as it has graduated to Stagebeta, it has now become more reliable and it is now more controllable on how you can swap, how you can enable the swap support on your system. So now it is possible to also monitor what's happening inside your swap usage. This feature is only for the control groups of version two for the version one that is released. This is more of a general announcement. So we have now started reorganizing the control plane. So this effort is being made to enable the end users or the Kubernetes API users to get all the necessary functions into one staging repository. And it's now being done in a more gradual kind of way. The summary of this announcement is that the initiative has now started. Another feature that we have for 1.28 books, this is now graduated to Stagebeta. So what this announcement does, it lets you define conditions for your webhooks for when the Kubernetes should make the HTTP call for admission, while the admission process. So this match conditions should be totally satisfied in order to make the call to the webhook you want to request to. And currently the match conditions match conditions are in the form of common express common expressive language and you can have up to 64 match conditions for a single webhook. And as it has graduated to beta, match conditions field is now enabled by default. Yeah, over to you Grace. Yeah, thank you. Another stable features that we shipped is automatic retroactive assignment of default storage class. So in the past, you need to create a default storage class first and then assign a PVC to the class. Now the control planes will set a storage class for any existing PVC that doesn't have the storage class name defined. So that way the PVC is no longer stuck in an unbound stage. This feature has previously existed as Alpha and Beta, but starting with stable, it is automatic and always active. Except we have a pot replacement policy for jobs. So what this means is we are offering an additional and more flexible pot replacement policy for jobs that allows the pot to be started only when it's fully terminated. That's an optional behavior instead of when the termination process starts. And this is specifically applicable for folks who are running machine learning workloads as this will prevent clashing between the pots and also help you manage the resources within your notes. And then last but not least, this is not a major theme, but it's part of the release and rather a large one. Package.ks.io is a community-owned package repository that we recently introduced and it will replace apt.cubanet.io and yum.cubanet.io. Currently, you can opt in into this new package repository, but the deprecation of the old package repository is already in place. And will be deprecated starting from September 13, 2023. This will only affect user who directly install upstream versions of Kubernetes. If you use fully managed Kubernetes through a cloud providers, you likely won't be affected. This might affect you also if you run Linux on your own PC and installed kubectl using the legacy package repository. The latest block on kubectl.io block is about this, so if you're curious if you're affected or not, you can explore more there. But that is it for our major theme. I just information for all the folks around here to get a more detailed view on each and every announcement you can follow the Kubernetes 1.28 block that has been posted on the kubanet.io website. So, yeah, go give it a give it a rate. So it's amazing. I will drop it in the chat. There we go. Yeah, I wanted to talk a little bit about our release team shadow program that is how Brad and I and Atarva begin our journey on the release team. So the shadow program for the 1.29 release has started already as the team started on Monday and the release is expected to end around December. But if you're interested, the applications for 1.30 will open around December and we have many roles. Each release is about four months and we're very beginner friendly. No experience required. When I got started, I was in first year university and didn't have any open source experience and it's been an amazing journey so far. And Atarva, do you want to speak anything else on the release team shadow process? I just want to echo this that there's no technical requirement as such. A lot of folks start to ask that what skills do you need? What technical skills are asked in order to apply for the shadow rules? There's no such technical requirement that is needed. You just have to, you just have to be good at communications and be a team player. That's all and you're just good to go. So yeah, do apply for the version 1.30. Kubernetes release and yeah. Someone in the chat asked they missed how to join the shadow rule as they're in the URL for setting up. Unfortunately, it was due last Friday and the application is closed already. But the next cycle application will open in December. So keep your eyes out then. If you want to sign up for updates, you can sign up for sick release mailing list or join the sick release channel on Slack. And upcoming events. We have QCon in a November in Chicago. If you're a contributor, there's also the contributor summit that I love to attend. And you will get to see sick release folks there if you have any other questions. But aside that, that is the end of our webinar. It's very fast now that we only talk about major themes instead of the entire 45 enhancements. We've dropped up to in around 20. How much minutes nine? 20 minutes. Yeah. Back in the days, I remember one point. It was an hour long. Yeah. Yeah, one point when I was in the hands of the leader took it took a long time. I don't know if it was helpful that way, but I like this way more. Okay, so do anyone doesn't even have any questions for us related to enhance related to general Kubernetes release process or any major things. Yeah, feel free to drop in the chat. We are keeping our eyes on it. If not, thank you folks for stopping by. And Libby, is there anything we need to do to wrap this up? All right. Thank you guys so much. Are there any questions from anyone? Any questions we want to hop in on? That was fast and furious. Good job, y'all. Thank you for hosting us have if anyone has any questions or wants to follow up. We'll Grayson and Tara put your handles in the chat and that way. Anybody can follow up y'all just in case. And otherwise, we will have this recording up and probably the next hour or so. Fantastic. Awesome. That was great y'all thank you so much. All right, thank you for hosting us Libby and thank you everyone for attending and thank you everybody for joining us. And we will see you next time. Thanks Grayson and Tara. Bye.