Kubernetes 1.16 became generally available on Sept. 18 providing the third and final major update the popular cloud-native platform in 2019.
Kubernetes, for the un-initiated is a container orchestration platform that is deployed and supported in all the major public cloud provides and is also widely used on-premises as well. Every new Kubernetes update has features that are in alpha, beta and those that have reached general availability. In the 1.16 update, for networking professionals there is one alpha feature that stands above all others : IPv4/IPv6 dual-stack.
“If you enable IPv4/IPv6 dual-stack networking for your Kubernetes cluster, the cluster will support the simultaneous assignment of both IPv4 and IPv6 addresses,” the Kubernetes feature documentationstates.
The dual stack will support both Kubernetes Pods, which represent a set of running containers; as well as Kubernetes Services, which provide a way to abstract an application running on a set of Pods as a network service. The Kubernetes Enhancement Proposal (KEP) that defines the dual-stack feature, notes that Kubernetes has provides support for IPv6-only clusters as alpha features since the Kubernetes 1.9release which debuted in December 2017.
The dual-stack support aims to provide awareness of multiple IPv4/IPv6 address assignments per pod, as well as native IPv4-to-IPv4 in parallel with IPv6-to-IPv6 communications to, from, and within a cluster.
Another network feature that is being previewed in Kubernetes 1.16 are Endpoint Slice resources. The goal of the feature is to provide a more efficient way to track where different network endpoints are within a Kubernetes cluster.
According to the Kubernetes featuredocumentation:
"In Kubernetes, an Endpoint Slice contains references to a set of network endpoints. The EndpointSlice controller automatically creates Endpoint Slices for a Kubernetes Service when a selector is specified. These Endpoint Slices will include references to any Pods that match the Service selector. Endpoint Slices group network endpoints together by unique Service and Port combinations.
The headline feature that has landed in the Kubernetes 1.16 update is the general availability of Custom Resource Definitions, which have already been widely used and deployed in commercial Kubernetes platforms already.
With a CRD a Kubernetes administrator can define resource types that are not part of the platform by default. Once a new CRD has been defined, the core Kubernetes API functionality for managing the resources comes into play.
“CRDs have become the basis for extensions in the Kubernetes ecosystem,” the Kubernetes release team wrote. “Started as a ground-up redesign of the ThirdPartyResources prototype, they have finally reached GA in 1.16 with apiextensions.k8s.io/v1, as the hard-won lessons of API evolution in Kubernetes have been integrated.”
Sean Michael Kerner is a senior editor at EnterpriseNetworkingPlanet and InternetNews.com. Follow him on Twitter @TechJournalist.