Container orchestrator Kubernetes (K8s) has reached another milestone and is now available in v1.14, bringing CLI updates, production-level Windows support, and generally available persistent local volumes.
Enterprise users who have been looking into managing Windows containers will be delighted to learn that the current release comes with stable support for Windows nodes. This should facilitate managing workloads across platforms by allowing the addition of Windows nodes as worker nodes and scheduling Windows containers.
The capabilities of pods, service types, workload controllers, and metrics/quotas have been improved to match the ones offered for Linux containers more closely. Those interested can now also use Kubernetes with Windows Server 2019 for worker nodes and containers, as well as out of tree networking with Azure-CNI, OVN-Kubernetes, and Flannel.
Apart from Microsoft itself, Docker was one of the collaborateurs who worked on getting Windows nodes production ready. The company has been known for its engagement in that area for quite a while now. Amongst other things it helped get workload authentication via Active Directory up and running with the current release, as Docker’s Jenny Fong mentions. “Kubernetes supporting Windows is a monumental step for the industry and it further confirms the work Docker has been doing with Microsoft to develop Windows containers over the past five years.”
Kubernetes’ command line interface kubectl has gotten some love in the form of a new logo, and, fitting to the “kubee-cuddle” pronunciation that is making the rounds now, a new cuddly mascot. The team behind the tool also rewrote its documentation, so that it focuses more on managing resources using a declarative configuration. It is available in book format on a separate website.
The CLI’s plugin mechanism, which lets users add customised subcommands, has reached stability in the 1.14 release and should be more self-explanatory to those familiar with version control system Git’s plugin system. A -k flag as well as a kustomize subcommand have been added, so that users can author and reuse the declarative resource config authoring features of kustomize, the module for customising K8s YAML configurations.
Other enhancements to Kubernetes as a whole include persistent local volumes, which were available before but have now graduated from beta, and process ID limiting moving to beta. This means that locally attached storage volumes can now be used as persistent volume sources to implement distributed file system and database scenarios. PID limiting has been introduced to give admins a way to set a maximum to the number of PIDs a process inside a container can create to not threaten a system’s stability.
Admins can now also reserve a number of allocated PIDs per node within a pod and assign priorities to pods, helping in low resource scenarios. The complete list of changes can be found in the project’s changelog. It also includes a list of important tips for upgrading, so maybe give them a once-over before skipping ahead.Docker will support the new Kubernetes version in the next Docker Enterprise release.
Distributors such as Canonical have already announced support for the 1.14 release, which means that for example MicroK8s and Charmed Kubernetes users can get started with the added enhancements as soon as they’ve updated their systems.