The newest version of Kubernetes is about to get released.Here is the list of what’s new in Kubernetes 1.17.
This recap provides a rundown of some of the most notable changes, which include:
- major improvements in cluster network and routing controls and scalability;
- new capabilities in cluster storage, pod scheduling and runtime options; and
- better custom resource support.
Node Taints by Condition
- Graduating Status: Stable/GA
- Kubernetes API Group/Component: scheduler, node controllers
- Kubernetes Enhancement Proposal or Design Doc: KEP
- How to Try It: This feature is enabled by default in 1.17.
This feature was already in Kubernetes since version 1.12. In this release, it finally graduates to stable stage. The feature basically allows the node controller to taint a node based on some predefined conditions that it observes. As usual, the user can opt to ignore those taints by adding the appropriate tolerations to the pods.
Persistent Volume Snapshot Backup/Restore Support in CSI
- Graduating Status: Beta
- Kubernetes API Group/Component:
snapshot.storage.k8s.io
- Expected GA Release: 1.19+
- Kubernetes Enhancement Proposal or Design Doc: KEP
- How to Try It: Volume Snapshots require using a Container Storage Interface (CSI) plugin that implements this API.
This feature has been in Kubernetes since 1.12. In this release, it is graduating to Beta. You can use VolumeSnapshot and VolumeSnapshotContent to create and use volume snapshots.
IPv4/IPv6 Dual-Stack Support
- Status: Alpha (ongoing major change)
- Kubernetes API Group/Component: multiple
- Expected GA Release: unknown
- Kubernetes Enhancement Proposal or Design Doc: KEP
- How to Try It: Instructions for enabling. Dual-stack support also requires any Container Network Interface (CNI) plugins in use to support and honor the changes. (Support in the Kubenet plugin ships with this release.)
Now you can assign IPv4 and IPv6 to the pods. This feature is in the alpha release and is under heavy development so expect a lot of changes in this and upcoming releases.
Finalizer Protection for Service Load Balancers
- Graduating Status: Stable/GA
- Kubernetes API Group/Component: service controller
- Kubernetes Enhancement Proposal or Design Doc: KEP
- How to Try It: This feature is enabled by default in 1.17.
By default, when a Service of type LoadBalancer is deleted, the underlying LoadBalancer resource should be deleted as well. However, in some cases, the LoadBalancer is not deleted after the Service is destroyed. This feature ensures that the LoadBalancer is removed when the Service is deleted. The deletion process will be blocked until the LoadBalancer is totally removed.
Topology-Aware Service Routing
- Graduating Status: Alpha
- Kubernetes API Group/Component:
k8s.io
(core) - Expected GA Release: unknown
- Kubernetes Enhancement Proposal or Design Doc: KEP
- How to Try It: Instructions for enabling.
Optimizing network traffic is essential to improve performance (and reduce costs) in complex Kubernetes deployments. Service Topology optimizes traffic by keeping it between pods that are close to each other.
This feature is enabled by the ServiceTopology
feature gate:
--feature-gates="ServiceTopology=true"