Subject : CN=kapp-controller@########### Issuer : CN=kapp-controller-ca@########### Not valid before : Nov 30 04:26:53 2024 GMT Not valid after : Nov 30 04:26:53 2025 GMT
The SSL certificate has already expired :
Subject : CN=###########@########### Issuer : CN=###########@########### Not valid before : Nov 30 04:35:40 2024 GMT Not valid after : Nov 30 04:35:40 2025 GMT
TKG 2.5.2
Establish an SSH connection to a target node.
Back up and remove the expired Kubelet serving certificates from the host OS disk: sudo mv /var/lib/kubelet/pki/kubelet.crt /tmp/kubelet.crt.bak sudo mv /var/lib/kubelet/pki/kubelet.key /tmp/kubelet.key.bak
Restart the Kubelet systemd service to instantly generate new 365-day certificates: sudo systemctl restart kubelet
Verify the new certificate was generated with an expiration date exactly one year from today: sudo openssl x509 -in /var/lib/kubelet/pki/kubelet.crt -text -noout | grep -E 'Issuer:|Not After|Subject:'
Disconnect from the node and repeat steps 1-4 sequentially across every single control plane and worker node in the environment.
To rotate the kapp-controller certificate, authenticate to the cluster via kubectl and trigger a rolling restart of the deployment: kubectl rollout restart deployment kapp-controller -n tkg-system
Wait 60 seconds, then verify the APIService has registered the new certificate and shows True under the AVAILABLE column: kubectl get apiservice v1alpha1.data.packaging.carvel.dev