Skip to main content

Kubernetes Upgrade Notes


  1. Upgrade to the latest minor release. e.g. you are using 1.9.3, upgrade to latest 1.9.x
  2. Read the CHANGELOG of the target version. Watch out for sections:
  • Action Required
  • Deprecations and Removals
  1. Consider etcd backup.


  • etcd per recommended & supported version.
  • CNI and/or CoreDNS? Drain node-by-node.
  • kubectl
  • control nodes kubernetes binaries e.g. kube-apiserver, kube-controller-manager, kube-scheduler, etc.
  • worker nodes e.g. kubelet, kube-proxy, CNI, etc.

1.14 -> 1.15 Case-study

For target version CHANGELOG, the minimal MUST read:

There's also searchable release notes:

Deprecated API versions in 1.15:

  • Ingress: migrate to
  • NetworkPolicy: migrate to
  • PodSecurityPolicy: migrate to policy/v1beta1
  • DaemonSet: migrate to apps/v1
  • Deployment: migrate to apps/v1
  • ReplicaSet: migrate to apps/v1
  • PriorityClass: migrate to

Check currently used objects:

kubectl get ingresses.extensions -A
kubectl get -A

kubectl get networkpolicies.extensions -A
kubectl get -A

kubectl get podsecuritypolicies.extensions -A
kubectl get podsecuritypolicies.policy -A

kubectl get daemonsets.extensions -A
kubectl get daemonsets.apps -A

kubectl get deployment.extensions -A
kubectl get deployment.apps -A

kubectl get replicasets.extensions -A
kubectl get replicasets.apps -A

kubectl get -A

Cluster List

DigitalOcean has a CLI tool, clusterlint and a knowledge-base for common issues & fixes: