Table des matières

Introduction

Prérequis

Vérifier si les certificats ont expiré

Renouveler les certificats

Vérifiez à nouveau si les certificats sont renouvelés

Modifier kubelet.conf

Copier admin.conf

Redémarrer le système

Vérifiez que la commande kubectl fonctionne

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