Kubernetes 1.16 removed APIs

Kubernetes 1.16 stopped serving the extensions and apps beta versions of the workload APIs: Deployment, DaemonSet, StatefulSet and ReplicaSet, along with NetworkPolicy and PodSecurityPolicy in extensions/v1beta1. The apps/v1 replacements arrived in 1.9, and in apps/v1 every workload needs an explicit selector.

Every replacement below was available by 1.10, so clusters could migrate before upgrading.

Check a manifest against 1.16.

Removed in 1.16

The API server no longer serves these from 1.16. Each kind links to its migration steps.

Kind Removed version Migrate to Available since
ControllerRevision apps/v1beta1 apps/v1 1.9
ControllerRevision apps/v1beta2 apps/v1 1.9
DaemonSet extensions/v1beta1 apps/v1 1.9
DaemonSet apps/v1beta2 apps/v1 1.9
Deployment extensions/v1beta1 apps/v1 1.9
Deployment apps/v1beta1 apps/v1 1.9
Deployment apps/v1beta2 apps/v1 1.9
NetworkPolicy extensions/v1beta1 networking.k8s.io/v1 1.7
PodSecurityPolicy extensions/v1beta1 policy/v1beta1 1.10
ReplicaSet extensions/v1beta1 apps/v1 1.9
ReplicaSet apps/v1beta1 apps/v1 1.9
ReplicaSet apps/v1beta2 apps/v1 1.9
StatefulSet apps/v1beta1 apps/v1 1.9
StatefulSet apps/v1beta2 apps/v1 1.9

Deprecated in 1.16

These still work in 1.16. Each kind links to its migration steps.

The official migration guide covers the APIs it lists for each release. See every version with API removals.