Skip to content

Commit d49f823

Browse files
authored
Merge pull request #46774 from fsmunoz/sig-node-spotlight
Add SIG Node spotlight
2 parents ab46c51 + 37efe6f commit d49f823

File tree

2 files changed

+226
-0
lines changed

2 files changed

+226
-0
lines changed
93.4 KB
Loading
Lines changed: 226 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,226 @@
1+
---
2+
layout: blog
3+
title: "Spotlight on SIG Node"
4+
slug: sig-node-spotlight-2024
5+
canonicalUrl: https://www.kubernetes.dev/blog/2024/06/20/sig-node-spotlight-2024
6+
date: 2024-06-20
7+
author: >
8+
Arpit Agrawal
9+
---
10+
11+
12+
In the world of container orchestration, [Kubernetes](/) reigns
13+
supreme, powering some of the most complex and dynamic applications across the globe. Behind the
14+
scenes, a network of Special Interest Groups (SIGs) drives Kubernetes' innovation and stability.
15+
16+
Today, I have the privilege of speaking with [Matthias
17+
Bertschy](https://www.linkedin.com/in/matthias-bertschy-b427b815/), [Gunju
18+
Kim](https://www.linkedin.com/in/gunju-kim-916b33190/), and [Sergey
19+
Kanzhelev](https://www.linkedin.com/in/sergeykanzhelev/), members of [SIG
20+
Node](https://github.com/kubernetes/community/blob/master/sig-node/README.md), who will shed some
21+
light on their roles, challenges, and the exciting developments within SIG Node.
22+
23+
_Answers given collectively by all interviewees will be marked by their initials._
24+
25+
## Introductions
26+
27+
**Arpit:** Thank you for joining us today. Could you please introduce yourselves and provide a brief
28+
overview of your roles within SIG Node?
29+
30+
**Matthias:** My name is Matthias Bertschy, I am French and live next to Lake Geneva, near the
31+
French Alps. I have been a Kubernetes contributor since 2017, a reviewer for SIG Node and a
32+
maintainer of [Prow](https://docs.prow.k8s.io/docs/overview/). I work as a Senior Kubernetes
33+
Developer for a security startup named [ARMO](https://www.armosec.io/), which donated
34+
[Kubescape](https://www.cncf.io/projects/kubescape/) to the CNCF.
35+
36+
![Lake Geneva and the Alps](Lake_Geneva_and_the_Alps.jpg)
37+
38+
**Gunju:** My name is Gunju Kim. I am a software engineer at
39+
[NAVER](https://www.navercorp.com/naver/naverMain), where I focus on developing a cloud platform for
40+
search services. I have been contributing to the Kubernetes project in my free time since 2021.
41+
42+
**Sergey:** My name is Sergey Kanzhelev. I have worked on Kubernetes and [Google Kubernetes
43+
Engine](https://cloud.google.com/kubernetes-engine) for 3 years and have worked on open-source
44+
projects for many years now. I am a chair of SIG Node.
45+
46+
## Understanding SIG Node
47+
48+
**Arpit:** Thank you! Could you provide our readers with an overview of SIG Node's responsibilities
49+
within the Kubernetes ecosystem?
50+
51+
**M/G/S:** SIG Node is one of the first if not the very first SIG in Kubernetes. The SIG is
52+
responsible for all iterations between Kubernetes and node resources, as well as node maintenance
53+
itself. This is quite a large scope, and the SIG owns a large part of the Kubernetes codebase. Because
54+
of this wide ownership, SIG Node is always in contact with other SIGs such as SIG Network, SIG
55+
Storage, and SIG Security and almost any new features and developments in Kubernetes involves SIG
56+
Node in some way.
57+
58+
**Arpit**: How does SIG Node contribute to Kubernetes' performance and stability?
59+
60+
**M/G/S:** Kubernetes works on nodes of many different sizes and shapes, from small physical VMs
61+
with cheap hardware to large AI/ML-optimized GPU-enabled nodes. Nodes may stay online for months or
62+
maybe be short-lived and be preempted at any moment as they are running on excess compute of a cloud
63+
provider.
64+
65+
[`kubelet`](/docs/concepts/overview/components/#kubelet) — the
66+
Kubernetes agent on a node — must work in all these environments reliably. As for the performance
67+
of kubelet operations, this is becoming increasingly important today. On one hand, as Kubernetes is
68+
being used on extra small nodes more and more often in telecom and retail environments, it needs to
69+
scale into the smallest footprint possible. On the other hand, with AI/ML workloads where every node
70+
is extremely expensive, every second of delayed operations can visibly change the price of
71+
computation.
72+
73+
74+
## Challenges and Opportunities
75+
76+
**Arpit:** What upcoming challenges and opportunities is SIG Node keeping an eye on?
77+
78+
**M/G/S:** As Kubernetes enters the second decade of its life, we see a huge demand to support new
79+
workload types. And SIG Node will play a big role in this. The Sidecar KEP, which we will be talking
80+
about later, is one of the examples of increased emphasis on supporting new workload types.
81+
82+
The key challenge we will have in the next few years is how to keep innovations while maintaining
83+
high quality and backward compatibility of existing scenarios. SIG Node will continue to play a
84+
central role in Kubernetes.
85+
86+
**Arpit:** And are there any ongoing research or development areas within SIG Node that excite you?
87+
88+
**M/G/S:** Supporting new workload types is a fascinating area for us. Our recent exploration of
89+
sidecar containers is a testament to this. Sidecars offer a versatile solution for enhancing
90+
application functionality without altering the core codebase.
91+
92+
**Arpit:** What are some of the challenges you've faced while maintaining SIG Node, and how have you
93+
overcome them?
94+
95+
**M/G/S:** The biggest challenge of SIG Node is its size and the many feature requests it
96+
receives. We are encouraging more people to join as reviewers and are always open to improving
97+
processes and addressing feedback. For every release, we run the feedback session at the SIG Node
98+
meeting and identify problematic areas and action items.
99+
100+
**Arpit:** Are there specific technologies or advancements that SIG Node is closely monitoring or
101+
integrating into Kubernetes?
102+
103+
**M/G/S:** Developments in components that the SIG depends on, like
104+
[container runtimes](/docs/setup/production-environment/container-runtimes/)
105+
(e.g. [containerd](https://containerd.io/) and [CRI-O](https://cri-o.io/), and OS features are
106+
something we contribute to and monitor closely. For example, there is an upcoming _cgroup v1_
107+
deprecation and removal that Kubernetes and SIG Node will need to guide Kubernetes users
108+
through. Containerd is also releasing version `2.0`, which removes deprecated features, which will
109+
affect Kubernetes users.
110+
111+
**Arpit:** Could you share a memorable experience or achievement from your time as a SIG Node
112+
maintainer that you're particularly proud of?
113+
114+
**Mathias:** I think the best moment was when my first KEP (introducing the
115+
[`startupProbe`](/docs/concepts/workloads/pods/pod-lifecycle/#container-probes))
116+
finally graduated to GA (General Availability). I also enjoy seeing my contributions being used
117+
daily by contributors, such as the comment containing the GitHub tree hash used to retain LGTM
118+
despite squash commits.
119+
120+
## Sidecar containers
121+
122+
**Arpit:** Can you provide more context on the concept of sidecar containers and their evolution in
123+
the context of Kubernetes?
124+
125+
**M/G/S:** The concept of
126+
[sidecar containers](/docs/concepts/workloads/pods/sidecar-containers/) dates back to
127+
2015 when Kubernetes introduced the idea of composite containers. These additional containers,
128+
running alongside the main application container within the same pod, were seen as a way to extend
129+
and enhance application functionality without modifying the core codebase. Early adopters of
130+
sidecars employed custom scripts and configurations to manage them, but this approach presented
131+
challenges in terms of consistency and scalability.
132+
133+
**Arpit:** Can you share specific use cases or examples where sidecar containers are particularly
134+
beneficial?
135+
136+
**M/G/S:** Sidecar containers are a versatile tool that can be used to enhance the functionality of
137+
applications in a variety of ways:
138+
139+
- **Logging and monitoring:** Sidecar containers can be used to collect logs and metrics from the
140+
primary application container and send them to a centralized logging and monitoring system.
141+
- **Traffic filtering and routing:** Sidecar containers can be used to filter and route traffic to
142+
and from the primary application container.
143+
- **Encryption and decryption:** Sidecar containers can be used to encrypt and decrypt data as it
144+
flows between the primary application container and external services.
145+
- **Data synchronization:** Sidecar containers can be used to synchronize data between the primary
146+
application container and external databases or services.
147+
- **Fault injection:** Sidecar containers can be used to inject faults into the primary application
148+
container in order to test its resilience to failures.
149+
150+
**Arpit:** The proposal mentions that some companies are using a fork of Kubernetes with sidecar
151+
functionality added. Can you provide insights into the level of adoption and community interest in
152+
this feature?
153+
154+
**M/G/S:** While we lack concrete metrics to measure adoption rates, the KEP has garnered
155+
significant interest from the community, particularly among service mesh vendors like Istio, who
156+
actively participated in its alpha testing phase. The KEP's visibility through numerous blog posts,
157+
interviews, talks, and workshops further demonstrates its widespread appeal. The KEP addresses the
158+
growing demand for additional capabilities alongside main containers in Kubernetes pods, such as
159+
network proxies, logging systems, and security measures. The community acknowledges the importance
160+
of providing easy migration paths for existing workloads to facilitate widespread adoption of the
161+
feature.
162+
163+
**Arpit:** Are there any notable examples or success stories from companies using sidecar containers
164+
in production?
165+
166+
**M/G/S:** It is still too early to expect widespread adoption in production environments. The 1.29
167+
release has only been available in Google Kubernetes Engine (GKE) since January 11, 2024, and there
168+
still needs to be comprehensive documentation on how to enable and use them effectively via
169+
universal injector. Istio, a popular service mesh platform, also lacks proper documentation for
170+
enabling native sidecars, making it difficult for developers to get started with this new
171+
feature. However, as native sidecar support matures and documentation improves, we can expect to see
172+
wider adoption of this technology in production environments.
173+
174+
**Arpit:** The proposal suggests introducing a `restartPolicy` field for init containers to indicate
175+
sidecar functionality. Can you explain how this solution addresses the outlined challenges?
176+
177+
**M/G/S:** The proposal to introduce a `restartPolicy` field for init containers addresses the
178+
outlined challenges by utilizing existing infrastructure and simplifying sidecar management. This
179+
approach avoids adding new fields to the pod specification, keeping it manageable and avoiding more
180+
clutter. By leveraging the existing init container mechanism, sidecars can be run alongside regular
181+
init containers during pod startup, ensuring a consistent ordering of initialization. Additionally,
182+
setting the restart policy of sidecar init containers to `Always` explicitly states that they continue
183+
running even after the main application container terminates, enabling persistent services like
184+
logging and monitoring until the end of the workload.
185+
186+
**Arpit:** How will the introduction of the `restartPolicy` field for init containers affect
187+
backward compatibility with existing Kubernetes configurations?
188+
189+
**M/G/S:** The introduction of the `restartPolicy` field for init containers will maintain backward
190+
compatibility with existing Kubernetes configurations. Existing init containers will continue to
191+
function as they have before, and the new `restartPolicy` field will only apply to init containers
192+
explicitly marked as sidecars. This approach ensures that existing applications and deployments will
193+
not be disrupted by the new feature, and provides a more streamlined way to define and manage
194+
sidecars.
195+
196+
## Contributing to SIG Node
197+
198+
**Arpit:** What is the best place for the new members and especially beginners to contribute?
199+
200+
**M/G/S:** New members and beginners can contribute to the Sidecar KEP (Kubernetes Enhancement
201+
Proposal) by:
202+
203+
- **Raising awareness:** Create content that highlights the benefits and use cases of sidecars. This
204+
can educate others about the feature and encourage its adoption.
205+
- **Providing feedback:** Share your experiences with sidecars, both positive and negative. This
206+
feedback can be used to improve the feature and make it more widely usable.
207+
- **Sharing your use cases:** If you are using sidecars in production,
208+
share your experiences with others. This can help to demonstrate the
209+
real-world value of the feature and encourage others to adopt it.
210+
- **Improving the documentation:** Help to clarify and expand the documentation for the
211+
feature. This can make it easier for others to understand and use sidecars.
212+
213+
In addition to the Sidecar KEP, there are many other areas where SIG Node needs more contributors:
214+
215+
- **Test coverage:** SIG Node is always looking for ways to improve the test coverage of Kubernetes
216+
components.
217+
- **CI maintenance:** SIG Node maintains a suite of e2e tests ensuring Kubernetes components
218+
function as intended across a variety of scenarios.
219+
220+
221+
# Conclusion
222+
223+
In conclusion, SIG Node stands as a cornerstone in Kubernetes' journey, ensuring its reliability and
224+
adaptability in the ever-changing landscape of cloud-native computing. With dedicated members like
225+
Matthias, Gunju, and Sergey leading the charge, SIG Node remains at the forefront of innovation,
226+
driving Kubernetes towards new horizons.

0 commit comments

Comments
 (0)