My KubeCon China 2023 Summary
First of all, I would like to thank the karmada community for providing the tickets to KubeCon, and I met with core contributors and maintainers of karmada such as zhen chang, hongcai Ren, and Wei jiang.
In previous years, attending the technology conference left me with no deep impression and no harvest. This time I forced myself to record it, deepen my impression and summarize my gains.
I am interested in colocation, so the sharing I listened to is basically related to this.
istioCon china 2023 slides: https://istioconchina2023.sched.com/ https://github.com/cloudnativeto/academy/tree/master/istiocon-china-2023
Previously, I only knew that kueue was a project of the Kubernetes Sig Group, which manages job queues. This time, I learned about its working principle based on MutatingWebhook, which intercepts various job resources for queue management and adds NodeAffinity.
It mainly discusses new features and some pitfalls between 0.14 and 0.16. Controller-runtime is a framework for developing various controllers and operators, but it lacks comprehensive documentation. To understand the updates in each version, one needs to dig into the code themselves.
I discussed with Jiuzhu on-site that only the Name and Namespace fields can be saved in the workQueue, which is not very friendly for certain scenarios. For example, in the case of associations with deployments or pods related to VPA (Vertical Pod Autoscaler), writing code using this framework would become quite complex. It was mentioned that the community is unlikely to change this design pattern.
Pitfalls in Version Compatibility
Support for Multiple Clusters
Abstract the concept of clusters; one manager can handle multiple clusters, and one controller corresponds to multiple clusters.
Address excessive memory usage. In version 1.28, Reflector has a similar optimization as well. GitHub Pull Request
Architecture Diagrams for Various Components
Enables controller gray releases and monitoring and circuit breakers.
Introduction to the new features of containerd version 1.7.
1.6 is the First LTS Version
Changes in 1.7
Release Plan for 2.0
It introduced the functions of Volcano, its use cases, and future plans. It addresses various issues related to running big data on Kubernetes, which is very helpful. Further research will be conducted.
Regarding the difference between Volcano and Kueue, inquiries were made to Kueue’s maintainer, Kante Yin. Kueue is designed to solve queue-related problems but is not implemented on the scheduler; it is an independent component. Volcano, on the other hand, solves queue-related issues within the scheduler itself. They share some similar functionalities. Koordinator also has similar features to Volcano, particularly in offline hybrid deployments.
It introduced various meanings of the “Response Flags” field in the Istio proxy logs and their corresponding scenarios. The PowerPoint (PPT) contains a detailed summary of various intricacies, making it an excellent troubleshooting manual. Chaomeng Zhang must be quite experienced, having encountered a multitude of Envoy-related issues. It reminds me of the time when I was well-versed in various errors with Nginx.
Unfortunately, there is no slide available at the moment, but I am looking forward to updates.
It introduced an active-active Kubernetes cluster high-availability solution. To be honest, I didn’t fully understand it, so I’ll have to watch the recording later and study it carefully.
It introduced the differences between Eastern and Western approaches to enterprise management, primarily focusing on the Western working style. To test my English listening skills, I intentionally chose an English lecture. I found that I could understand most of it, perhaps because the speaker had very clear pronunciation. However, I had difficulty understanding the questions from someone with an Indian accent.
It introduced various features of Katalyst, an open-source project by ByteDance, and ByteDance’s practices in resource management. Multiple enhancements and secondary development were made to kubelet in this context, as well as kernel enhancements.
ByteDance also conducted secondary development on kubelet:
Machine Learning-Based Service Profiling
Kernel Enhancements by ByteDance
Resource Efficiency Suite
It introduced the work done by Kuaishou in resource isolation and topology awareness. Similar work was done in projects like Koordinator, Crane, and ByteDance’s Katalyst.
Because I am a contributor to Cilium, I attended this presentation, which was relatively straightforward. It mainly introduced eBPF and its applications, as well as related projects. Currently, eBPF is still in its early stages and has not been widely adopted on a large scale.
After the presentation, I had a discussion with Bill Mulligan and people from VMware. Although my spoken English is not very fluent, the conversation went naturally, and I didn’t feel nervous. I plan to practice more in the future.
The attendance at this KubeCon was much lower than in 2019, and some cloud vendors no longer sponsored the event. The presentation topics didn’t seem as groundbreaking (lacking novelty), but there were still many high-quality presentations.