Inhoud

Inleiding

Voorwaarde

Controleer of de certificaten zijn verlopen

Verleng de certificaten

Controleer nogmaals of de certificaten worden verlengd

Aanpassen kubelet.conf

Admin.conf kopiëren

Start het systeem opnieuw op

Zorg ervoor dat de opdracht kubectl werkt

Inleiding

Dit document beschrijft de procedure om Kubernetes-certificaten te verlengen in Cisco 5G RCM (Redundancy Configuration Manager).

Voorwaarde

Als de RCM is ingesteld op hoge beschikbaarheid, moet de procedure eerst worden uitgevoerd op de stand-by RCM, vervolgens een switchover uitvoeren en de procedure uitvoeren op de nieuwe stand-by RCM. Als er geen hoge beschikbaarheid van de RCM beschikbaar is, is er geen UP-redundantie beschikbaar tijdens de herstart van de RCM, die deel uitmaakt van het proces voor de verlenging van certificaten.

Controleer of de certificaten zijn verlopen

Om zeker te zijn of de certificaten zijn verlopen, voer sudo kubeadm alpha certs check-expiration uit.

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

Verleng de certificaten

Run sudo kubeadm alpha certs vernieuwen alles om de certificaten te vernieuwen.

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

Controleer nogmaals of de certificaten worden verlengd

Voer sudo kubeadm alpha certs check-expiration uit om te controleren of de certificaten worden vernieuwd.

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

Aanpassen kubelet.conf

Voorafgaand aan kubeadm versie 1.17, is er een behoefte om kubelet.conf. handmatig aan te passen. Vervang client-certificaat-gegevens en client-sleutel-gegevens door dit.

/etc/kubernetes/kubelet.conf

client-certificate:/var/lib/kubelet/pki/kubelet-client-current.pem

client-key: /var/lib/kubelet/pki/kubelet-client-current.pem

Admin.conf kopiëren

Kopieer admin.conf om .kube/config te overschrijven.

sudo cp /etc/kubernetes/admin.conf ~/.kube/config

Start het systeem opnieuw op

sudo reboot

Zorg ervoor dat de opdracht kubectl werkt

Na de reboot, zorg ervoor als kubectl commando werkt prima.

ubuntu@rcm:~$ kubectl get node

NAME   STATUS   ROLES       AGE   VERSION

rcm    Ready    master,oam  16d   v1.15.12