|
| 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 | + |
| 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