Kubernetes’ final release for 2018 is here! This is the fourth release of the year and it comes just 10 weeks after the 1.12 release. Like the previous release, this release continues to focus on stability and extensibility. There are 3 major features that are graduating to GA in this release. They are Kubeadm, Container Storage Interface (CSI), and CoreDNS which is now the default DNS with every Kubernetes installation.
Let's take a quick drive through each of these new GA features.
kubeadm is a tool I use every day to help me manage my Kubernetes clusters. It has fast become an indispensable part of my tool belt to manage the entire lifecycle of my clusters right from creation to upgrade. Kubeadm lets me bootstrap clusters on existing hardware and also allows me to configure the individual services within the cluster in a best practice manner. Upgrades are also a breeze through kubeadm. With this release to GA for kubeadm, there are now advanced features for pluggability and configurability.
Container Storage Interface (CSI)
The new Container Storage Interface (CSI) was released as an alpha feature way back in v1.9. It graduated to beta in v1.10 and now in v1.13 its finally in GA. What's exciting about CSI is it lets the Kubernetes volume layer to be truly extensible. When we say extensible this means that 3rd party storage providers can write plugins that work with Kubernetes without having to touch any core code. This lets the providers write their plugins at their own pace and not tied to specific Kubernetes releases. With this release, the specification for CSI itself has graduated to 1.0.
CoreDNS is Now the Default DNS Server
Core DNS reached GA in v1.11. In this release of Kubernetes CoreDNS is replacing KubeDNS as the default DNS Server. CoreDNS is fully backwards compatible with KubeDNS but is way more extensible. CoreDNS is shipped as single go binary making it memory safe and fewer moving parts than KubeDNS. While KubeDNS will be supported for at least one more release I’d recommend everyone to switch to using CoreDNS. Most OSS installer tools are in the process of making this change.
Notable Alpha/Beta Features
Support for 3rd party device monitoring plugins has been introduced as an alpha feature. This removes current device-specific knowledge from the kubelet to enable future use-cases requiring device-specific knowledge to be out-of-tree.
APIServer DryRun is graduating to beta. This moves “apply” and declarative object management from kubectl to the apiserver in order to fix many of the existing bugs that can’t be fixed today.
Kubectl Diff is graduating to beta. This allows users to run a kubectl command to view the difference between a locally declared object configuration and the current state of a live object.
Raw block device using persistent volume source is graduating to beta. This makes raw block devices (non-networked) available for consumption via a Persistent Volume Source.
So, what are you waiting for? Try your hands on Kubernetes 1.13 and see for yourself how simplified your container deployment and cluster management can be with the latest from the leading container orchestration platform.