Introducción
Este documento describe el procedimiento para renovar certificados Kubernetes en Cisco 5G RCM(Redundancy Configuration Manager).
Requisito previo
Si se trata de la configuración de alta disponibilidad del RCM, el procedimiento se debe ejecutar primero en el RCM en espera, luego realizar un switchover y ejecutar el procedimiento en el nuevo RCM en espera. Si no hay disponibilidad alta de RCM disponible, la redundancia UP no está disponible durante el reinicio del RCM, que forma parte del proceso de renovación de certificados.
Compruebe si los certificados han caducado
Para asegurarse de que los certificados han caducado, ejecute sudo kubeadm alpha certs check-expiry.
ubuntu@rcm:~$ sudo kubeadm alpha certs check-expiration
CERTIFICATE EXPIRES RESIDUAL TIME EXTERNALLY MANAGED
admin.conf Oct 31, 2024 03:34 UTC <invalid> no
apiserver Oct 31, 2024 03:34 UTC <invalid> no
apiserver-etcd-client Oct 31, 2024 03:34 UTC <invalid> no
apiserver-kubelet-client Oct 31, 2024 03:34 UTC <invalid> no
controller-manager.conf Oct 31, 2024 03:34 UTC <invalid> no
etcd-healthcheck-client Oct 31, 2024 03:34 UTC <invalid> no
etcd-peer Oct 31, 2024 03:34 UTC <invalid> no
etcd-server Oct 31, 2024 03:34 UTC <invalid> no
front-proxy-client Oct 31, 2024 03:34 UTC <invalid> no
scheduler.conf Oct 31, 2024 03:34 UTC <invalid> no
Renovar los certificados
Ejecute sudo kubeadm alpha certs renew all para renovar los certificados.
ubuntu@rcm:~$ sudo kubeadm alpha certs renew all
certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself renewed
certificate for serving the Kubernetes API renewed
certificate the apiserver uses to access etcd renewed
certificate for the API server to connect to kubelet renewed
certificate embedded in the kubeconfig file for the controller manager to use renewed
certificate for liveness probes to healtcheck etcd renewed
certificate for etcd nodes to communicate with each other renewed
certificate for serving etcd renewed
certificate for the front proxy client renewed
certificate embedded in the kubeconfig file for the scheduler manager to use renewed
Compruebe de nuevo si los certificados se han renovado
Ejecute sudo kubeadm alpha certs check-expiry para comprobar si los certificados se han renovado.
ubuntu@rcm:~$ sudo kubeadm alpha certs check-expiration
CERTIFICATE EXPIRES RESIDUAL TIME EXTERNALLY MANAGED
admin.conf Nov 01, 2025 03:34 UTC 364d no
apiserver Nov 01, 2025 03:34 UTC 364d no
apiserver-etcd-client Nov 01, 2025 03:34 UTC 364d no
apiserver-kubelet-client Nov 01, 2025 03:34 UTC 364d no
controller-manager.conf Nov 01, 2025 03:34 UTC 364d no
etcd-healthcheck-client Nov 01, 2025 03:34 UTC 364d no
etcd-peer Nov 01, 2025 03:34 UTC 364d no
etcd-server Nov 01, 2025 03:34 UTC 364d no
front-proxy-client Nov 01, 2025 03:34 UTC 364d no
scheduler.conf Nov 01, 2025 03:34 UTC 364d no
Modificar kubelet.conf
Antes de la versión 1.17 de kubeadm, es necesario modificar manualmente kubelet.conf. Reemplace client-certificate-data y client-key-data con esto.
/etc/kubernetes/kubelet.conf
client-certificate:/var/lib/kubelet/pki/kubelet-client-current.pem
client-key: /var/lib/kubelet/pki/kubelet-client-current.pem
Copiar admin.conf
Copie admin.conf para sobrescribir .kube/config.
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
Reinicie el sistema
sudo reboot
Asegúrese de que el comando kubectl funciona
Después del reinicio, asegúrese de que el comando kubectl funcione correctamente.
ubuntu@rcm:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
rcm Ready master,oam 16d v1.15.12