Introduction
Ce document décrit la procédure de renouvellement des certificats Kubernetes dans le RCM Cisco 5G (Redundancy Configuration Manager).
Prérequis
S'il s'agit d'une configuration de haute disponibilité du RCM, la procédure doit d'abord être exécutée sur le RCM de secours, puis effectuer une commutation et exécuter la procédure sur le nouveau RCM de secours. Si aucune haute disponibilité du RCM n'est disponible, la redondance UP n'est pas disponible pendant le redémarrage du RCM, qui fait partie du processus de renouvellement des certificats.
Vérifier si les certificats ont expiré
Pour vous assurer que les certificats ont expiré, exécutez sudo kubeadm alpha certs check-expiration.
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
Renouveler les certificats
Exécutez sudo kubeadm alpha certs renew all pour renouveler les certificats.
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
Vérifiez à nouveau si les certificats sont renouvelés
Exécutez sudo kubeadm alpha certs check-expiration pour vérifier si les certificats sont renouvelés.
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
Modifier kubelet.conf
Avant la version 1.17 de kubelet, il est nécessaire de modifier manuellement le fichier kubelet.conf. Remplacez client-certificate-data et client-key-data par ceci.
/etc/kubernetes/kubelet.conf
client-certificate:/var/lib/kubelet/pki/kubelet-client-current.pem
client-key: /var/lib/kubelet/pki/kubelet-client-current.pem
Copier admin.conf
Copiez admin.conf pour remplacer .kube/config.
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
Redémarrer le système
sudo reboot
Vérifiez que la commande kubectl fonctionne
Après le redémarrage, assurez-vous que la commande kubectl fonctionne correctement.
ubuntu@rcm:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
rcm Ready master,oam 16d v1.15.12