Renewing Kubernetes control plane certificates
Last updated: March 16, 2026
Kubernetes control plane certificates expire after one year by default. This guide covers how to renew them on each control plane node using kubeadm.
- SSH access to each control plane node
kubeadminstalled on the node- Sufficient permissions to run
sudocommands
Run these steps on each control plane node individually. Restarting kubelet will briefly interrupt the API server on that node.
Check certificate expiration
Before renewing, confirm which certificates are expiring:
sudo kubeadm certs check-expirationThe output lists each certificate alongside its expiration date and the certificate authority that signed it.
Renew all certificates
sudo kubeadm certs renew allThis renews all certificates managed by kubeadm, including the API server, controller manager, scheduler, and etcd certificates.
Restart kubelet
sudo systemctl restart kubeletThe kubelet must be restarted to pick up the renewed certificates.
Verify the renewal
Run the expiration check again to confirm new expiry dates:
sudo kubeadm certs check-expirationAll certificates should now show an expiration date approximately one year from today.
Update your local kubeconfig
After renewing, copy the updated admin config to your home directory:
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/configConfirm the cluster is back online
kubectl get namespaces
kubectl get nodes
kubectl get pods -AAll nodes should show Ready and system pods should be Running or Completed.