September 18th, 2019 by Adam Armstrong
Kubernetes 1.16 Released
Kubernetes has announced its third release this year with Kubernetes 1.16. The latest version has 31 enhancements in total: 8 enhancements moving to stable, 8 enhancements in beta, and 15 enhancements in alpha. The main this of the current release are customer resources, overhauled metrics, and volume extension. Some companies, such as Canonical, announced full enterprise support for 1.16.
Kubernetes is an open-source container-orchestration system and has been widely popular since it came out. As more cloud native applications come out, Kubernetes becomes more appealing. And now almost every major vendor has some form of support of the system.
Custom Resources, or CRDs, have been available since 1.7 in beta, but that are now generally available. CRDs are the basis for extensions in the Kubernetes ecosystem. They started as ground-up redesign of the ThirdPartyResources prototype and are now available with apiextensions.k8s.io/v1.
Kubernetes has overhauled its metrics through the implementation of a metrics registry. This give metrics more transparency and stability. Active Directory Group Managed Service Account (GMSA) has graduated to beta. According to Kubernetes, GMSA is a specific type of Active Directory account that enables Windows containers to carry an identity across the network and communicate with other resources. Windows containers can now gain authenticated access to external resources. In addition, GMSA provides automatic password management, simplified service principal name (SPN) management, and the ability to delegate the management to other administrators across multiple servers.
kubeadm is up to alpha and also focuses on Windows worker nodes, allowing users to join (and reset) nodes to an existing cluster. kudeadm can be used to prepare and add a Windows node to cluster. The node will be in a Ready state and able to run Windows containers when the operations are complete.
Also in alpha is Container Storage Interface (CSI). CSI plugin support allows Windows nodes in a Kubernetes cluster to leverage persistent storage capabilities for Windows-based workloads. CSI is added to FlexVolume and in-tree storage plugins as storage options for Windows workloads
A big announcement is the alpha feature Endpoint Slices. Endpoint Slices should enable greater scalability for Kubernetes Services. Endpoint Slices act as an alternative to Endpoint resources. Endpoint resources must include network endpoints representing all pods matching a Service. As Services start to scale to thousands of pods, the corresponding Endpoints resources become quite large. Simply adding or removing one endpoint from a Service at this scale can be quite costly. Endpoint Slices, on the other hand, have network endpoints for a Service are split into multiple resources, significantly decreasing the amount of data required for updates at scale. By default, Endpoint Slices are limited to 100 endpoints each.
Additional Notable Feature Updates
- Topology Manager, a new Kubelet component, aims to co-ordinate resource assignment decisions to provide optimized resource allocations.
- IPv4/IPv6 dual-stack enables the allocation of both IPv4 and IPv6 addresses to Pods and Services.
- API Server Network Proxy going alpha in 1.16.
- Extensions for Cloud Controller Manager Migration.
- Continued deprecation of extensions/v1beta1, apps/v1beta1, and apps/v1beta2 APIs; these extensions will be retired in 1.16
Kubernetes 1.16 is available for download on GitHub.