|
| 1 | +--- |
| 2 | +layout: blog |
| 3 | +title: "Spotlight on SIG Architecture: Enhancements" |
| 4 | +slug: sig-architecture-enhancements |
| 5 | +canonicalUrl: https://www.kubernetes.dev/blog/2025/01/21/sig-architecture-enhancements |
| 6 | +date: 2025-01-21 |
| 7 | +author: "Frederico Muñoz (SAS Institute)" |
| 8 | +--- |
| 9 | + |
| 10 | +_This is the fourth interview of a SIG Architecture Spotlight series that will cover the different |
| 11 | +subprojects, and we will be covering [SIG Architecture: |
| 12 | +Enhancements](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md#enhancements)._ |
| 13 | + |
| 14 | +In this SIG Architecture spotlight we talked with [Kirsten |
| 15 | +Garrison](https://github.com/kikisdeliveryservice), lead of the Enhancements subproject. |
| 16 | + |
| 17 | +## The Enhancements subproject |
| 18 | + |
| 19 | +**Frederico (FSM): Hi Kirsten, very happy to have the opportunity to talk about the Enhancements |
| 20 | +subproject. Let's start with some quick information about yourself and your role.** |
| 21 | + |
| 22 | +**Kirsten Garrison (KG)**: I’m a lead of the Enhancements subproject of SIG-Architecture and |
| 23 | +currently work at Google. I first got involved by contributing to the service-catalog project with |
| 24 | +the help of [Carolyn Van Slyck](https://github.com/carolynvs). With time, [I joined the Release |
| 25 | +team](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.17/release_team.md), |
| 26 | +eventually becoming the Enhancements Lead and a Release Lead shadow. While on the release team, I |
| 27 | +worked on some ideas to make the process better for the SIGs and Enhancements team (the opt-in |
| 28 | +process) based on my team’s experiences. Eventually, I started attending Subproject meetings and |
| 29 | +contributing to the Subproject’s work. |
| 30 | + |
| 31 | +**FSM: You mentioned the Enhancements subproject: how would you describe its main goals and areas of |
| 32 | +intervention?** |
| 33 | + |
| 34 | +**KG**: The [Enhancements |
| 35 | +Subproject](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md#enhancements) |
| 36 | +primarily concerns itself with the [Kubernetes Enhancement |
| 37 | +Proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-architecture/0000-kep-process/README.md) |
| 38 | +(_KEP_ for short)—the "design" documents required for all features and significant changes |
| 39 | +to the Kubernetes project. |
| 40 | + |
| 41 | +## The KEP and its impact |
| 42 | + |
| 43 | +**FSM: The improvement of the KEP process was (and is) one in which SIG Architecture was heavily |
| 44 | +involved. Could you explain the process to those that aren’t aware of it?** |
| 45 | + |
| 46 | +**KG**: [Every release](https://kubernetes.io/releases/release/#the-release-cycle), the SIGs let the |
| 47 | +Release Team know which features they intend to work on to be put into the release. As mentioned |
| 48 | +above, the prerequisite for these changes is a KEP - a standardized design document that all authors |
| 49 | +must fill out and approve in the first weeks of the release cycle. Most features [will move |
| 50 | +through 3 |
| 51 | +phases](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-stages): |
| 52 | +alpha, beta and finally GA so approving a feature represents a significant commitment for the SIG. |
| 53 | + |
| 54 | +The KEP serves as the full source of truth of a feature. The [KEP |
| 55 | +template](https://github.com/kubernetes/enhancements/blob/master/keps/NNNN-kep-template/README.md) |
| 56 | +has different requirements based on what stage a feature is in, but it generally requires a detailed |
| 57 | +discussion of the design and the impact as well as providing artifacts of stability and |
| 58 | +performance. The KEP takes quite a bit of iterative work between authors, SIG reviewers, api review |
| 59 | +team and the Production Readiness Review team[^1] before it is approved. Each set of reviewers is |
| 60 | +looking to make sure that the proposal meets their standards in order to have a stable and |
| 61 | +performant Kubernetes release. Only after all approvals are secured, can an author go forth and |
| 62 | +merge their feature in the Kubernetes code base. |
| 63 | + |
| 64 | + |
| 65 | +**FSM: I see, quite a bit of additional structure was added. Looking back, what were the most |
| 66 | +significant improvements of that approach?** |
| 67 | + |
| 68 | +**KG**: In general, I think that the improvements with the most impact had to do with focusing on |
| 69 | +the core intent of the KEP. KEPs exist not just to memorialize designs, but provide a structured way |
| 70 | +to discuss and come to an agreement about different facets of the change. At the core of the KEP |
| 71 | +process is communication and consideration. |
| 72 | + |
| 73 | +To that end, some of the significant changes revolve around a more detailed and accessible KEP |
| 74 | +template. A significant amount of work was put in over time to get the |
| 75 | +[k/enhancements](https://github.com/kubernetes/enhancements) repo into its current form -- a |
| 76 | +directory structure organized by SIG with the contours of the modern KEP template (with |
| 77 | +Proposal/Motivation/Design Details subsections). We might take that basic structure for granted |
| 78 | +today, but it really represents the work of many people trying to get the foundation of this process |
| 79 | +in place over time. |
| 80 | + |
| 81 | +As Kubernetes matures, we’ve needed to think about more than just the end goal of getting a single |
| 82 | +feature merged. We need to think about things like: stability, performance, setting and meeting user |
| 83 | +expectations. And as we’ve thought about those things the template has grown more detailed. The |
| 84 | +addition of the Production Readiness Review was major as well as the enhanced testing requirements |
| 85 | +(varying at different stages of a KEP’s lifecycle). |
| 86 | + |
| 87 | +## Current areas of focus |
| 88 | + |
| 89 | +**FSM: Speaking of maturing, we’ve [recently released Kubernetes |
| 90 | +v1.31](https://kubernetes.io/blog/2024/08/13/kubernetes-v1-31-release/), and work on v1.32 [has |
| 91 | +started](https://github.com/fsmunoz/sig-release/tree/release-1.32/releases/release-1.32). Are there |
| 92 | +any areas that the Enhancements sub-project is currently addressing that might change the way things |
| 93 | +are done?** |
| 94 | + |
| 95 | +**KG**: We’re currently working on two things: |
| 96 | + |
| 97 | + 1) _Creating a Process KEP template._ Sometimes people want to harness the KEP process for |
| 98 | + significant changes that are more process oriented rather than feature oriented. We want to |
| 99 | + support this because memorializing changes is important and giving people a better tool to do so |
| 100 | + will only encourage more discussion and transparency. |
| 101 | + 2) _KEP versioning._ While our template changes aim to be as non-disruptive as possible, we |
| 102 | + believe that it will be easier to track and communicate those changes to the community better with |
| 103 | + a versioned KEP template and the policies that go alongside such versioning. |
| 104 | + |
| 105 | +Both features will take some time to get right and fully roll out (just like a KEP feature) but we |
| 106 | +believe that they will both provide improvements that will benefit the community at large. |
| 107 | + |
| 108 | +**FSM: You mentioned improvements: I remember when project boards for Enhancement tracking were |
| 109 | +introduced in recent releases, to great effect and unanimous applause from release team members. Was |
| 110 | +this a particular area of focus for the subproject?** |
| 111 | + |
| 112 | +**KG**: The Subproject provided support to the Release Team’s Enhancement team in the migration away |
| 113 | +from using the spreadsheet to a project board. The collection and tracking of enhancements has |
| 114 | +always been a logistical challenge. During my time on the Release Team, I helped with the transition |
| 115 | +to an opt-in system of enhancements, whereby the SIG leads "opt-in" KEPs for release tracking. This |
| 116 | +helped to enhance communication between authors and SIGs before any significant work was undertaken |
| 117 | +on a KEP and removed toil from the Enhancements team. This change used the existing tools to avoid |
| 118 | +introducing too many changes at once to the community. Later, the Release Team approached the |
| 119 | +Subproject with an idea of leveraging GitHub Project Boards to further improve the collection |
| 120 | +process. This was to be a move away from the use of complicated spreadsheets to using repo-native |
| 121 | +labels on [k/enhancement](https://github.com/kubernetes/enhancements) issues and project boards. |
| 122 | + |
| 123 | +**FSM: That surely adds an impact on simplifying the workflow...** |
| 124 | + |
| 125 | +**KG**: Removing sources of friction and promoting clear communication is very important to the |
| 126 | +Enhancements Subproject. At the same time, it’s important to give careful consideration to |
| 127 | +decisions that impact the community as a whole. We want to make sure that changes are balanced to |
| 128 | +give an upside and while not causing any regressions and pain in the rollout. We supported the |
| 129 | +Release Team in ideation as well as through the actual migration to the project boards. It was a |
| 130 | +great success and exciting to see the team make high impact changes that helped everyone involved in |
| 131 | +the KEP process! |
| 132 | + |
| 133 | +## Getting involved |
| 134 | + |
| 135 | +**FSM: For those reading that might be curious and interested in helping, how would you describe the |
| 136 | +required skills for participating in the sub-project?** |
| 137 | + |
| 138 | +**KG**: Familiarity with KEPs either via experience or taking time to look through the |
| 139 | +kubernetes/enhancements repo is helpful. All are welcome to participate if interested - we can take |
| 140 | +it from there. |
| 141 | + |
| 142 | +**FSM: Excellent! Many thanks for your time and insight -- any final comments you would like to |
| 143 | +share with our readers?** |
| 144 | + |
| 145 | +**KG**: The Enhancements process is one of the most important parts of Kubernetes and requires |
| 146 | +enormous amounts of coordination and collaboration of people and teams across the project to make it |
| 147 | +successful. I’m thankful and inspired by everyone’s continued hard work and dedication to making the |
| 148 | +project great. This is truly a wonderful community. |
| 149 | + |
| 150 | + |
| 151 | +[^1]: For more information, check the [Production Readiness Review spotlight |
| 152 | + interview](https://kubernetes.io/blog/2023/11/02/sig-architecture-production-readiness-spotlight-2023/) |
| 153 | + in this series. |
0 commit comments