Kubernetes 1.18 Brings Kubectl Debugging, Ingress Improvements
With the release of the Cloud Native Computing Foundation’s Kubernetes 1.18, the open source container orchestration platform has achieved an optimal balance between new experimental “alpha” features, those in the testing stages (“Beta”) and those that are now ready for production release, asserts release K8s lead Jorge Alarcon.
Overall, this release has 38 “enhancements”: 15 enhancements are moving to stable, 11 enhancements in Beta, and 12 enhancements in alpha. An alpha feature is a new proposed enhancement that can work without actually breaking Kubernetes, while a Beta feature comes with a lot of end-to-end tests proving its compatibility, and graduating to stable means it has been worked seamlessly across multiple releases, including many rarely-used edge cases, Alarcon said.
A number of new features in this release show off the project’s dedication to improving the developer experience, an ongoing challenge with the software. “Right now Kubernetes is in a really good state. People use it; it works. So the next hallmark that I see people working on is how to make the developer experience a lot more comfortable,” Alarcon said.
Perhaps the most notable one is debugging capability, in alpha, for the kubectl command-line interface. The “kubectl debug” command provides a way to do interactive troubleshooting, as well as the ability to create a temporary container to run alongside the Pod being investigated.
The kubectl debug command “is a big improvement on troubleshooting, with things like deployment of ephemeral container to a running pod or starting a privileged container in the host namespace,” enthused Alex Chalkias, Canonical product manager for data center solutions, in an email.
Another area in need of enhancement has been Kubernetes’ Ingress, which provides load balancing and traffic routing. A new “pathType” field specifies how paths should be matched, with new options for supporting “Exact” and “Prefix” path types. And replacing kubernetes.io/ingress.class, the new IngressClass resource can be used to describe the type of traffic entering a Kubernetes cluster.
Other new features include a Topology Manager (Beta), which allows workloads requiring low latency to enjoy NUMA alignment of CPU and devices. A new version of Server-side Apply (Beta) can track and manage changes to fields of all new Kubernetes objects.
Canonical’s Chalkias also noted that, for Canonical’s Charmed Kubernetes multicloud-focused distribution, the improved support for the Multus and CephFS file systems is much appreciated. “Multus gives you the ability to define multiple network interfaces in your pods, allowing you to split network traffic (data plane vs. management plane),” Chalkias wrote. “CephFS integration allows multiple pods to shared the same read-write filesystem for storage.”
Use of Kubernetes, especially in production settings, continues to grow. CNCF’s most recent annual survey found that 78% of respondents are using Kubernetes in production compared to 58% last year. CNCF is holding a Webinar to explain the major new features of Kubernetes 1.18 in greater detail, on April 23.
The Cloud Native Computing Foundation is a sponsor of The New Stack.