Stability and Kubernetes don’t sound like two words that should be used alongside each other. Kubernetes has been moving at a rapid velocity where changes are constantly occurring. From new enhancements, bug fixes, API changes, to swapping out architectural pieces, the Kubernetes pattern is continually shifting. In Q4Y18, the theme of stability has emerged on two accounts.
First, is the LTS (long term support) working group that is being formed to gather user data on support requirements and foster a cross-vendor model where patch/security/bug fix work is done mutually. Secondly, the Kubernetes release team decided to remove lofty goals and focus on driving stability as the cornerstone for 1.13.
With two KubeCons and the US holidays in Q4Y18, the release cycle was shortened from the typical 13 weeks down to 10. At the same time, it was important to have a new release ready for KubeCon NA.
It didn’t take long for the enhancement tracking sheet to start dropping and deferring new features. The aggressive timeline meant contributors to the Kubernetes project had to dedicate a significant amount of time to get their features over the finish line in a mere 7 weeks leading up to code freeze. 48 new or graduating enhancements narrowed down to 23 as the final count for Kubernetes 1.13.
Vendor Neutrality Progression
One of the overarching goals of the Kubernetes project is removing vendor code from the core of Kubernetes and creating a pluggable architecture. With Kubernetes 1.13, this moves another step forward with the Container Storage Interface (CSI) moving to generally availability. VMware and the community have played a crucial part in the development of this from initial concept, design, and implementation. Look forward to seeing in-tree drivers migrate to CSI in subsequent releases.
Vendor neutrality goes beyond core capabilities but is extending to day 2 operation teams. Metrics and analytics are key to troubleshooting, root cause analysis, health monitoring, and predictive environments. The alpha debut of 3rd party device monitoring plugins will allow vendors to gain metrics in this pluggable architecture.
As the pluggable architecture matures, more developments are needed to have it reflect a native experience. Kubelet device registration will allow vendors and 3rd party developers to have their plugins, whether they are storage, GPU, network or others, be easily discovered. This is now also a stable enhancement to Kubernetes 1.13.
As the stability continues, it can also extend to operations by giving users the power to see what potential problems can occur before applying changes. Kubectl diff is a command that it’s graduated to beta that allows a user to view the difference between configurations of a local object the current state of a live object.
Controlling placement of applications is necessary for availability, application requirements, load balancing, and much more. In its much awaited beta debut, Taint Based Eviction now empowers users to reschedule pods to nodes on the fly to new nodes when a label is applied to a node that doesn’t have corresponding pod label.
The shortened release cycle deferred 25 new enhancements from Kubernetes 1.13 so it’s expected to see a big jump when the Kubernetes 1.14 cycle begins evaluating new inclusions. For more information about the entire Kubernetes 1.13 release, view the release notes or check out the 1.13 feature tracking sheet. Looking forward to seeing you in Seattle for KubeCon NA 2018!