The release team in charge of Kubernetes this week released an update to Kubernetes that formally adds support for Windows Server. That support means that, in terms of being able to support workloads running on top of Kubernetes worker nodes, the Windows Server 2019 platform is now officially on par with Linux, according to the Kubernetes release team. Support for Windows Server master nodes, however, will be coming in a forthcoming release. In addition, and there are some Kubernetes capabilities, such as self-healing of a cluster, that are still not supported on Windows Server.
Version 1.14 of Kubernetes also adds a pod priority and pre-emption capability to the Kubernetes scheduler. Aaron Crickenberger, a senior test engineer at Google who led the release team for version 1.14, says that capability makes it possible to schedule more important pods to run first and make sure they are prioritized over other pods whenever a cluster runs low on available resources. That capability will prove critical as more organizations look to maximize utilization of Kubernetes clusters, he says.
In total, 31 enhancements have been made with this release of Kubernetes. A full 10 of those enhancements are capabilities that are now rated as being stable by the release team. Another 12 are related to capabilities now in beta, while seven represent net new functionality.
Notable additions that are now stable with this release include support for local persistent volumes and a kubectl plugin mechanism that allows developers to publish their own custom kubectl subcommands in the form of standalone binaries.
Capabilities moving into beta include support for process IDs (PIDs). Administrators can now provide pod-to-pod PID isolation by setting a default for the the number of PIDs per pod. In addition, administrators can enable node-to-pod PID isolation as an alpha feature by reserving the number of PIDs that can be allocated to user pods. These capabilities prevent PID exhaustion from inadvertently preventing host daemons from running.
In the next release, 1.15 , the Kubernetes community expects to focus on include new dynamic auditing capabilities as well as support for services that are topology-aware.
Crickenberger notes the Kubernetes development process overall continues to mature. This release represents the first instance where the Kubernetes Release Team required that every enhancement be described in a Kubernetes Enhancement Proposal (KEP). This approach ensures all enhancements are evaluated against documented criteria for graduation, documented test plans, upgrade/downgrade plans and consistent review of the application programming interface (API) design. In all, there are now more than 28,000 individual contributors to Kubernetes and an active community of more than 57,000 people. On average over the past year, 381 different companies and more than 2,458 individuals have contributed to Kubernetes each month. The latest release of Kubernetes involved 43 individuals to coordinate everything from the actual release to documentation, testing and validation.
Crickenberger says the Kubernetes community is trying to strike a balance between making Kubernetes accessible and being overly prescriptive. The challenge DevOps teams tend to encounter is that when a platform is too prescriptive, it becomes too difficult to custom-develop innovative processes. A big factor in striking that balance comes from the IT teams that provide feedback to the SIGs through each release cycle, he notes. In fact, given the size of Kubernetes project, the issue now may not so much be getting feedback as much as it is prioritizing which of the feedback to act on.