Microsoft at Open Source Summit Europe 2024: Driving collaboration and innovation
Connect with other open source enthusiasts at Open Source Summit Europe 2024…
Thinking about joining the Kubernetes Release Team? Curious what it even is? As someone who started as a shadow on the Communications team for the 1.16 and 1.17 Release Team and eventually became the Communications Lead for the 1.18 release, I want to share what I’ve learned from this journey and answer any questions you may have about the Release Team.
With each new Kubernetes release, there is a new Kubernetes Release Team that is comprised of community members who handle the logistics of the release itself. The team is broken down into different roles:
Each role has a Lead and several shadows, who are mentored by the Leads. The breakdown of each role’s responsibilities can be found in the role handbooks.
Although my day job on the Azure team has me interacting with the Cloud Native Computing Foundation (CNCF) and Kubernetes community a lot, serving on the Communications team still granted me even more opportunities than expected. One of the major aspects I really enjoyed was the opportunity to lead a team and serve as a mentor, which is something that is normally outside of my scope.
Beyond that, l learned about the different modes of communications the community utilizes, experienced the process of publishing Kubernetes blog posts, saw the dependencies that exist between all the teams working together to get a release out, and met a ton of people in the community who make things happen behind the scenes. However, since I’ve only been involved on the Communications side, I have asked some of my colleagues who have been involved in other release team roles to share more about their experiences!
“I was really passionate to understand the Kubernetes release process. By serving on the release team for several Kubernetes releases, I was able to not only better understand the release process, but also create lasting relationships with other community members and orient myself within the large Kubernetes community. The experience I gained by being part of the release team helps me better understand how to interact with the Kubernetes ecosystem day-to-day. I would strongly encourage you to serve on the release team, whether you are a long-time Kubernetes community member or just starting your journey.”
– Lachie Evenson, Principal PM on Azure Container Compute Upstream
“I’ve been involved, for many years, in the Kubernetes ecosystem helping several companies add value. I had watched the Kubernetes release for many releases, but didn’t really understand how it worked on the inside. I wanted to get a firsthand understanding of how the sausage was built so that I could do a better job of helping all the projects I’m involved in work as effectively as possible to get new capabilities accepted by the community, as my role now is to help contributors , not just consuming. I shadowed Enhancements for release v1.15. Our release lead was very collaborative and wanted to make it a valuable experience for each of us. Together we decided to divide the candidate features up and have each of use shepherd a subset of features from candidates to release. This worked great for me as I got to walk through each hurdle, and how the communication between the release team and each feature lead worked.”
– Craig Peters, Principal PM on Azure Container Compute Upstream
“While I’ve been involved in other open source community projects, I learned a lot by being a shadow for Release Notes on the 1.17 release. I appreciated finding out more about the structure of the release team, and I helped highlight some underlying assumptions about local development toolchains. Iterative improvement is the name of the game in open source, and it’s fun stepping outside your usual lane and trying out a different role. And I found that being new to Go was a feature, not a bug!”
– Bridget Kromhout, Principal PM on Azure Container Compute Upstream
“I have been working with numerous large enterprises for over 4 years building and helping them adopt cloud native patterns. I had really wanted to learn the intricacies of how a community developed product gets through a formal release process. The Shadow program really gave me a comfortable on-ramp to understanding the Kubernetes release process. I began as a shadow for Feature Enhancements, then for release Notes and was asked to lead the Release Notes team for v1.18. Each release I learned so much more and gained new insights on how to work on large scale and long running development projects. These learning directly impacted my day to day work as a development crew lead working with the largest retailer in the world”
– Eddie Villalba, Principle Software Engineer on Azure Commercial Software Engineering
“I was a shadow for Enhancements a couple releases ago. The experience was invaluable to see how the sausage gets made! I really valued being able to see how folks of any background could come together and jump on a release.”
-Ria Bhatia, PM on Azure Container Compute Upstream
Although we have different takeaways from our time with the release teams, I want to share some common experiences that happen across all the roles. Let’s start with the shadow experience.
As documented in the Release Team Shadows Github repo, the goal of the release team shadow effort is to “train new release team leads, handle tasks that each lead may not be able to cover, share knowledge about the release process, and help contributors broaden their areas of knowledge and participation.”
Shadows are selected via the Release Team Shadow Application, which usually opens up around the end of a release/beginning of the next release (the 1.19 Release Team Shadow application can be found here and is due on Tuesday, April 14). The selection process is done by the Role leads, typically resulting in three or four shadows (or however many they see fit). The application process can be rather competitive with Role Leads looking for diverse coverage across time zones, experience, availability, company background, and more.
Depending on the role and week, you may have varying tasks to support the team. This can range from reaching out to SIGs, giving/getting status updates, filling in for your Lead, etc. Make sure to check the role handbooks for specific timelines. Beyond that, there are Release Team meetings you should attend once a week up until burndown, when meetings happen every day for the last two weeks leading up to the release.
In summary, you get out what you put in. Leads are there to provide guidance and give you a preview of what their job is. If you have intentions of becoming a Lead in the future, make sure to let your Lead know.
That’s up to you! Some people choose to explore other roles, some shadow again to better prepare themselves to eventually become a Lead (that’s what I did), and some jump straight into becoming a Role Lead in the next cycle!
Being a Role Lead is, as one would expect, is more involved, but also more rewarding. In order to serve as a Role Lead, you will have had to learn the ropes as a shadow for that role and be nominated by the previous release’s Role Lead.
At the start of the cycle, you will review shadow applications to build out your team. Once you have selected shadows, you will need to onboard them (including holding a team orientation meeting) and maintain the health of their experiences throughout the cycle. As the representative of your team, you are ultimately responsible for the items that fall within your scope as outlined by role handbooks. How you divvy up work with your shadows is up to you, but the goal is to equip them with the knowledge necessary to successfully take over in the next cycle.
That’s also up to you! Some people choose to explore other roles while some move on to shadowing the Release Lead role and ultimately becoming a Release Lead in the future.
My colleagues and I will be hosting office hours on Monday, April 13 at 1 PM PST to help answer any questions you may still have! Otherwise, the 1.19 Release Team Shadow Application is due on Tuesday, April 14, if you’re interested in participating. Good luck!