What's new in Kubernetes 1.19
The Kubernetes team has done a commendable job by recently launching the Kubernetes version 1.19. The new Kubernetes 1.19 was a bit delayed, but that was expected when the world is reeling under the global pandemic.
Earlier this year, the team had released Kubernetes 1.18 that consisted of 38 enhancements. Fifteen of these have been stabilized, 11 are in the beta testing phase while the remaining 12 are in the alpha phase.
The Kubernetes team has worked diligently to improve the stable and beta features ensuring a better user experience. The Topology Manager feature of Kubernetes 1.18 allows NUMA alignment of the CPU and other devices that gives a great experience.
The new Kubernetes 1.19 comes with 34 enhancements. Out of these, 10 have progressed to stable, 15 are in the beta stage, and 9 in the alpha.
Here are some key features of the new Kubernetes 1.19:
Support window extension
With its Kubernetes 1.19 release, the support window has been extended to 1 year from 9 months. The decision was taken after a 2019 study revealed that a large number of end-users, for whatever reasons, could not upgrade within the current support period of 9-months. The suggestion provided was that if there were an extension of 12 to 14 months, 30% of users would be able to keep their deployments on the supported version. With the extension of the support window, 80% of the users are expected to be on the supported versions instead of the current 50% to 60%.
Storage capacity tracking
Storage capacity tracking is a new feature, albeit in the alpha stage, in the Kubernetes 1.19.
This feature gathers capacity information and then stores it in the API server, making it available to the scheduler. This enhancement was introduced to prevent pods from being scheduled on nodes connected to CSI volumes without enough available free space.
Generic ephemeral volumes
Ephemeral volumes are volumes that are created for specific pods and are deleted once the pod terminates. Generic ephemeral volumes are a new alpha feature in the Kubernetes 1.19. It allows any of the current storage drivers that support dynamic provisioning to be used as ephemeral volume. The new enhancement provides scratch storage and supports all StorageClass parameters for provisioning volume. It supports all features that were earlier supported by PersistentVolumeClaims like storage capacity tracking, volume resizing, and snapshots and restore.
CSI Volume Health Monitoring
This is a new alpha feature that kicks in if there is any abnormal volume condition in the underlying storage. It allows the CSI Drivers to pass on the information to Kubernetes. This information is then used to report such conditions on Pods or PVCs. This enhancement is a step in the direction of programmatic detection to monitor volume health problems and provide a quick resolution.
Ingress graduates to GA
In Kubernetes 1.19, Ingress is added to the systems administration V1 APIs and graduates to general accessibility. As a part of this enhancement, there are some key differences in V1 Ingress objects, including mapping and approval changes.
Earlier, the control plane in Kubernetes did not have a uniform structure. That changes with the new Kubernetes 1.19. Without a structure, developers and administrators had to rely on impromptu solutions, which made parsing, processing, storing, querying, and analyzing logs very difficult.
New additions to the klog library
The new Kubernetes 1.19 provides more structure to the interface to format log messages and introduces several new methods to the klog library. With the new approach, structured logging can be gradually adopted without the need for conversion of all of Kubernetes to a new API all at once.
Kubelet Client TLS Certificate Rotation
This feature was in beta in the Kubernetes 1.8 version, and with the new Kubernetes 1.19, it has finally reached the general availability stage. This enhancement obtains the kubelet certificate and rotates it as it nears its expiration date. Kubelet uses this certificate to authenticate against the Kube-apiserver.
The new Kubernetes 1.19 organization includes the EndpointSlice API , Ingress rendition 1, AppProtocol in administrations and endpoints, and SCTP for administrators. The Kubernetes 1.19 will allow clients to set a hostname for each unit in a hub.
Some other changes that have been included in the new Kubernetes 1.19 are:
- Node topology manager
- New Endpoint API
- Run multiple Scheduling Profiles
- CertificateSigningRequest API
- Immutable Secrets and ConfigMaps
For more information on the new Kubernetes 1.19, you may refer to the release notes here.
You can now download the new Kubernetes version 1.19 from GitHub. You may also install Kubernetes 1.19 quite easily through kubeadm.
2020 cannot be called anything less than a tumultuous year. The COVID19 pandemic, the Black Lives Matter movement, and other global events have changed the world as we knew it. Despite the difficult times, the Kubernetes team maintained a positive outlook.
The new release logo represents the positive or rather Pawsitive mindset of the team and the world in general. As people are adjusting their lives to the new normal, it shows that no matter what, we humans always look for the positive, the silver lining.
What to expect from Kubernetes 1.20?
The Kubernetes team has been working diligently year after year to deliver new releases. The Kubernetes version 1.20 is already in the pipeline.
Here is what you can expect from the new Kubernetes 1.20:
- Include RunAsGroup feature for Containers in a Pod
- Add IPv4/IPv6 dual-stack support
- SCTP support for Services, Endpoint, Pod, and NetworkPolicy
- Scheduling Framework
- Support Out-of-Tree Azure Cloud Provider
- Kubelet Resource Metrics Endpoint
- Pid Limiting
- Support CRI-ContainerD on Windows
- Moving kubectl package code to staging
- Deprecate and remove SelfLink
- Provide OIDC discovery
- Container Resource-based Pod Autoscaling
- Support to size memory backed volumes
- Built-in API Types Defaults
The Kubernetes team has introduced several significant enhancements in the latest version 1.19. The enhanced version continues to widen the functionality of Kubernetes as well as its security posture. New features like Storage capacity tracking, Generic ephemeral volumes, CSI Volume Health Monitoring, and new additions to the klog library are definitely going to enhance the functionality of Kubernetes. Plus, the support window has been extended to 1 year which is more in line with the annual planning cycles of its users.