Stable Release in branch 1.17
1.17.17
Released 13 Jan 2021
(5 years ago)
SoftwareKubernetes
Version1.17
Status
End of life
Initial release1.17.0
06 Dec 2019
(6 years ago)
Latest release1.17.17
13 Jan 2021
(5 years ago)
End of supportUnavailable
End of security fixesUnavailable
Release noteshttps://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.17.md
Source codehttps://github.com/kubernetes/kubernetes/tree/v1.17.17
Documentationhttps://v1-17.docs.kubernetes.io/
Downloadhttps://kubernetes.io/releases/download/
Kubernetes 1.17 ReleasesView full list

What Is New in Kubernetes 1.17

Kubernetes 1.17 delivers a focused set of enhancements, primarily around storage, custom resources, and the continued march towards general availability for key features. This release stabilizes several critical APIs that developers have been using in beta.

Category Key Updates
New Features & Enhancements Volume Snapshot moves to GA, CustomResourceDefinition structural schemas and pruning become beta, topology-aware service routing enters beta.
API Changes Several beta APIs graduate to stable/v1, including Kubernetes Metrics Server and CSI topology.
CLI & Tooling kubectl get and describe output improvements for CustomResourceDefinitions, enhanced event recording.
Deprecations & Removals Continued deprecation of extensions/v1beta1, apps/v1beta1, and apps/v1beta2 APIs; removal of certain feature gates.

How did storage and data management improve in 1.17?

The headline storage feature is the promotion of the Volume Snapshot feature to general availability (GA). This means the snapshot.storage.k8s.io/v1 API is now stable and production-ready. You can now take crash-consistent snapshots of your persistent volumes and provision new volumes from those snapshots as a standard, reliable operation.

In practice, this allows for much better data management workflows, like backing up database state or creating clones for testing. The associated CSI external-snapshotter sidecar also moved to v2, which supports this GA API.

What changed for CustomResourceDefinitions (CRDs)?

Two major CRD features entered beta: defaulting and pruning with structural schemas. This is a big deal for anyone building operators or custom controllers.

Structural schemas enforce a strict OpenAPI v3 schema for your custom resources, preventing arbitrary, non-specified data in the spec or status. Pruning automatically strips any fields not defined in the schema before persisting the object to etcd. This keeps your data clean and etcd size in check. You can now also define defaults for your CRD fields, making resource definitions less verbose.

Example: Enabling a structural schema

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
...
spec:
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        type: object
        properties:
          spec:
            type: object
            properties:
              replicas:
                type: integer
                default: 1 # Defaulting in action
    

Are there new capabilities for service networking?

Yes, Service Topology entered beta. This feature allows you to route service traffic to endpoints within the same zone or region, which is crucial for reducing latency and cost in multi-zone clusters.

You can use a service annotation like service.kubernetes.io/topology-aware-hints to enable it. The kube-proxy and EndpointSlice controller then work together to ensure traffic prefers endpoints that are topologically close to the client pod. This matters because it makes services smarter in cloud environments without needing complex external mesh configurations.

What APIs graduated to stable in this release?

Several APIs finally shed their beta labels. The most significant graduations are for the Kubernetes Metrics API, which is now metrics.k8s.io/v1, and the core CSI node info and topology APIs, which are now csi.storage.k8s.io/v1.

For cluster operators, this means the Metrics Server can be deployed with a stable API, and CSI drivers can rely on a stable interface for node-specific information. It signals that these components are mature and their APIs won't break in future releases.

What should I know about deprecated features?

The deprecation of older, redundant API groups continues. The extensions/v1beta1, apps/v1beta1, and apps/v1beta2 API versions for Deployments, DaemonSets, and ReplicaSets are no longer served in 1.17. You must migrate all your manifests to the apps/v1 API, which has been stable since 1.9.

Additionally, the ClusterFirstWithHostNet DNS policy is now deprecated. If your pod uses hostNetwork, you should explicitly set its DNS policy to either ClusterFirst or Default.

FAQ

Is the Volume Snapshot feature safe to use in production now?
Yes, with the API moving to v1 GA in 1.17, it is considered stable for production use. However, always ensure your specific CSI driver and underlying storage system also support the stable snapshot operations.

My CRDs work fine now. Why should I care about structural schemas?
Structural schemas and pruning prevent "garbage" data from accumulating in your etcd from mistyped field names or old CRD versions. This improves cluster performance and reliability. It's a best practice to adopt them for any serious CRD.

I use old API versions like `extensions/v1beta1` for my Deployments. Will they break?
Yes, they are completely removed in 1.17. You must update your YAML files and Helm charts to use `apps/v1`. The kubectl tool can help you convert existing resources.

What exactly does Service Topology solve?
It solves the problem of a service in a US-West pod talking to an endpoint in US-East when a closer one exists in US-West. This reduces cross-zone network traffic costs and improves application latency significantly in multi-zone clusters.

Are there any new kubectl features?
The main improvements are better visual output for `kubectl get` and `describe` when working with CRDs, making it easier to understand the state of your custom resources. Event recording for more API operations was also added to provide better audit trails.

Releases In Branch 1.17

VersionRelease date
1.17.1713 Jan 2021
(5 years ago)
1.17.1618 Dec 2020
(5 years ago)
1.17.1504 Dec 2020
(5 years ago)
1.17.1411 Nov 2020
(5 years ago)
1.17.1315 Oct 2020
(5 years ago)
1.17.1216 Sep 2020
(5 years ago)
1.17.1113 Aug 2020
(6 years ago)
1.17.1012 Aug 2020
(6 years ago)
1.17.915 Jul 2020
(6 years ago)
1.17.826 Jun 2020
(6 years ago)
1.17.8-rc.125 Jun 2020
(6 years ago)
1.17.717 Jun 2020
(6 years ago)
1.17.620 May 2020
(6 years ago)
1.17.516 Apr 2020
(6 years ago)
1.17.412 Mar 2020
(6 years ago)
1.17.311 Feb 2020
(6 years ago)
1.17.218 Jan 2020
(6 years ago)
1.17.111 Jan 2020
(6 years ago)
1.17.006 Dec 2019
(6 years ago)
1.17.0-rc.203 Dec 2019
(6 years ago)
1.17.0-rc.122 Nov 2019
(6 years ago)
1.17.0-beta.218 Nov 2019
(6 years ago)
1.17.0-beta.105 Nov 2019
(6 years ago)
1.17.0-alpha.322 Oct 2019
(6 years ago)
1.17.0-alpha.215 Oct 2019
(6 years ago)
1.17.0-alpha.103 Oct 2019
(6 years ago)