My journey in the Kubernetes Release Team: Part 1
During this period last year, I got interested in how a new Kubernetes version is released and what goes on behind it. After some searching, I found that all of the process and the roles are well documented in the Release Team Role Handbooks.
I read through all of them to understand the process, why there are so many roles and what responsibilities each team is entrusted with. All of that sounded pretty interesting to me. All the teams did an amazing work and were equally crucial for the well functioning of a Kubernetes Release cycle. I got specifically interested with the Enhancements and CI Signal teams. I started to dig how can I lend my hand to the efforts.
Shadow Roles
With the role handbooks, I got to know of the Release Team Shadow Program which is aimed at mentoring new contributors and training them to be the next leads of the Kubernetes Release Team. The shadows are expected to learn from the leads and fill in wherever necessary. You can think of these positions as “trainee/intern” roles at your workplace. This was just a primer on the program. You can read more on the link.
Okay. I know where to start with. But how?
Turns out it requires a marginal amount of effort, bucket loads of curiosity and time commitment to apply for the Shadow Program. The Release Team at the start of every release cycle pushes out a public form for inviting applications to the shadow roles.
The #Kubernetes 1.17 Release Team Shadow Application is open!
— Stephen Augustus | @auggie.dev (@stephenaugustus) September 19, 2019
If you're interested in joining one of the most challenging, but rewarding parts of the community, please apply.
No experience is necessary, outside of a desire to learn! :)
Closes 9/27.https://t.co/zm9r3MxCPw
Taking the plunge
I took the initiative and filled the form with my interests and thoughts. And few days later I, along with other shadows, was welcomed by MrBobbyTables to my first involvement with the Release Team. 🎉
The next few months were just like a roller coaster ride. The team that I was shadowing for was the Enhancements Team and our work was to shepherd features for the Kubernetes release and maintain the status of Kubernetes Enhancements Proposals, aka, KEP(s).
The role involved understanding each outstanding KEP, pinging respective OWNERS if the enhancement would be graduating in the current release cycle, and keeping track whether the enhancements are satisfying the requirements for the release.
Here were a few takeaways that I took while working on the team:
- Knowledge of what is involved when adding a feature into Kubernetes!!!
- Reading through an enourmous amount of KEPs, I got to know about the features themselves
- Communicating effectively with others and breaking the ice
- A lot of GitHub triage skills and tricks
- Tricks of wrangling data on a spreadsheet 😉
I will write about the complete lifecycle of a Kubernetes Enhancement Proposal in a future article.
We released Kubernetes 1.17 : The Chillest Release
(Yes! That is the release theme 😃) after all the efforts of the 1.17 release team. The last release of the year is usually the most chilled out and is a bit short due to the December vacation.
Excited to announce the delivery of #Kubernetes 1.17, our fourth and final release of 2019! 🌟🎉🥳 https://t.co/Wf6Ku8eGZg
— Kubernetes (@kubernetesio) December 10, 2019
The whole team became akin to a family for me spending all that effort into ensuring a smooth release. We, the Enhancements Team (Bob, Jeremy, Anna, Kristin), even got together at KubeCon San Diego to meet up physically.
The Next Steps
After Kubernetes 1.17, I signed up again for the Kubernetes 1.18 team for Enhancements to get more exposure to the KEP landscape. This time Jeremy was leading the Enhancements Team. It was fun again to work with the enhancements team (Jeremy, Kirsten, Heba, John), all the same just this time there were new shadows along with me compared to last time.
This release cycle was mostly the same for me other than I was a bit more involved than the last time having served on the team previously. And, after all the hard work of the 1.18 release team, we were treated to a quarky Kubernetes 1.18 ⭐.
And Kubernetes 1.18.0 is live! 👏
— nabarun (@theonlynabarun) March 25, 2020
Cheers to all the Release Team members who made it possible.
Read the announcement to get highlights of the 1.18 release.https://t.co/FwKpQ4nfPq@kubernetesio @CloudNativeFdn
PS. Be "A bit quarky" 🎇
(Logo by @marulango) pic.twitter.com/FsgejYAa0j
Graduating to be the Enhancements Lead 🚀
Aaaaaand after a splendid 1.18, Jeremy nominated me to be the Enhancements Lead for Kubernetes 1.19 Release Team. I was stoked to get the opportunity and at the same time scared if I can do full justice to the responsibility bestowed upon me. The knowledge of the role while working with Bob and Jeremy in the previous release teams gave me the confidence that I can fulfill the responsibilities of the role.
This release cycle eventually became special in many ways. We were hit by a deadly pandemic which changed a lot of things in our life. The release cycle was extended to 5 months instead of the usual 12 weeks cadence. The pandemic and various other factors shaved off quite a bit of the usual bandwidth the community had previously. These times were very crucial for the whole world and the team didn’t want to put undue additional pressure on the amazing contributors that we have.
The shadows that I selected for the Enhancements Team spanned 12 and a half hours of timezone and created an amazing round the earth coverage for the team. This meant no team member had to toil in their odd times of the day. I take this opportunity to thank again all the enhancements shadows - Kirsten, Harsha, Miroslaw and John for their efforts even in such hard times.
After those tense & tough 5 months firefighting a lot of issues, the 1.19 release team released Kubernetes 1.19: Accentuate the Paw-sitive
. You can read about the release on the Kubernetes Blog and the upcoming Kubernetes 1.19 Release Webinar where I will be presenting along with the 1.19 Release Lead Taylor and the 1.19 Communications Lead Max.
Wow! @kubernetesio v1.19.0 is out!!! This release is named, “Accentuate the Paw-sitive” for the attitude everyone had throughout the release process. A thank you to @emanate_design for designing the release logo, and a HUGE thank you to everyone who made this release possible. pic.twitter.com/20onqgG29X
— Taylor Dolezal (@onlydole) August 26, 2020
With that, my watch ended over the Release Enhancements Team and it was time to hand over the baton to next lead. :peace:
I was very happy to nominate Kirsten to succeed me as the next Enhancements Lead of the Release Team. 🎉
Along with that it was time for me to graduate to my next role. I look forward to working with Jeremy, Savitha and Daniel for Kubernetes 1.20. I will be shadowing the Release Lead for Kubernetes 1.20. 😎
How can you get involved? 🙌
The last release of the year, Kubernetes 1.20, is going to be published in December. The Release Team is looking out for folks for the shadow roles. All you need to do is go ahead, read the role handbooks, figure out which role interests you the best and then fill the form. We ask every prospect to fill the form because we want to know if the release team would be a good fit for you and to find the right role for you in the Release Team.
The applications will be open until End of Day Friday, September 11, 2020 Pacific Time.
👀👉Interested in serving on the #Kubernetes 1.20 release team? Good news is that shadow selection is now open! Check it out and apply here - https://t.co/Fa9RkHJZBp
— Lachlan Evenson (@LachlanEvenson) August 31, 2020
Still in doubt? 🔍
I would say just go ahead and volunteer for the shadow roles. 🚢
Feel free to contact me on Twitter at @theonlynabarun, or on the Kubernetes Slack, in case you have anything to ask.
Quick References
Update since the original version
I wrote this article over 6 months back and since then led the Kubernetes 1.21 Release Team. I plan to write about my experience leading the Release Team in the near future. Do subscribe to the RSS feed for updates.