Skip to content

Commit 432738d

Browse files
authored
Merge pull request #47902 from fsmunoz/sig-arch-enhancements-spotlight
Add SIG Architecture Enhancements spotlight
2 parents 641ea80 + 2578cbc commit 432738d

File tree

1 file changed

+153
-0
lines changed

1 file changed

+153
-0
lines changed
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
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

Comments
 (0)