Upgrade hop
Kubernetes 1.32 → 1.33
1.33 is itself end of life. If you are on 1.32 today, plan the whole path to a supported version (at least 1.35) with the upgrade planner.
1 · Fix removed APIs first
Only alpha or off-by-default beta versions are removed in this hop.
| Kind | API version | Stops being served | Use instead |
|---|---|---|---|
| SelfSubjectReview | authentication.k8s.io/v1beta1 beta · off by default | 1.33 | authentication.k8s.io/v1 |
Check your files with the manifest checker; in a live cluster, the API server metric apiserver_requested_deprecated_apis shows which deprecated APIs clients still call.
2 · Other changes that can bite
Removed in 1.33
- The Node field .status.nodeInfo.kubeProxyVersion is removed, after being deprecated and disabled by default in v1.31.
- In-tree gitRepo volume driver removed: such Pods are still admitted, but kubelet will not run them unless the GitRepoVolumeDriver gate is re-enabled. Full removal planned for v1.39.
- Host network support for Windows Pods, alpha since v1.26, is withdrawn and removed. HostProcess containers are not affected.
Deprecated in 1.33
- The stable v1 Endpoints API is deprecated in favour of EndpointSlices; only workloads or scripts that read or write Endpoints directly need to migrate.
Our summary of the 1.33 release announcement (CC BY 4.0). Read the full changelog for your components.
3 · Upgrade in this order
- Prepare. Move every node to 1.30 or newer if any are older: a 1.33 API server supports kubelets back to 1.30 only. Upgrade to the newest 1.32 patch,
1.32.13. - kube-apiserver to 1.33 (in HA clusters, one instance at a time; old and new may differ by one minor during the roll). Use the newest patch,
1.33.13. - kube-controller-manager, kube-scheduler, cloud-controller-manager to 1.33, once every API server is on 1.33.
- kubelet on each node (drain first). Optional in this hop: kubelets from 1.30 to 1.33 all work with a 1.33 control plane.
- kube-proxy: no newer than the API server, and within the same window as the kubelet it runs beside.
- kubectl: 1.32 to 1.34 all talk to a 1.33 API server.
From the official version skew policy. Managed services run the control-plane steps for you; node pools are still yours to schedule.