Einleitung
In diesem Dokument wird das Verfahren zur Verlängerung von Kubernetes-Zertifikaten in Cisco 5G RCM (Redundancy Configuration Manager) beschrieben.
Voraussetzung
Wenn RCM High Availability eingerichtet ist, muss die Prozedur zuerst auf dem Standby-RCM ausgeführt werden. Anschließend muss ein Switchover durchgeführt und die Prozedur auf dem neuen Standby-RCM ausgeführt werden. Wenn keine RCM High Availability verfügbar ist, ist UP-Redundanz während des RCM-Neustarts, der Teil des Prozesses zur Erneuerung von Zertifikaten ist, nicht verfügbar.
Überprüfen, ob die Zertifikate abgelaufen sind
Um sicherzustellen, dass Zertifikate abgelaufen sind, führen Sie sudo kubeadm alpha certs check-expiration aus.
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
Erneuern Sie die Zertifikate
Führen Sie sudo kubeadm alpha certs renew alle zu erneuern die Zertifikate.
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
Überprüfen Sie erneut, ob die Zertifikate erneuert wurden.
Führen Sie sudo kubeadm alpha certs check-expiration aus, um zu überprüfen, ob die Zertifikate erneuert werden.
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
kubelet.conf ändern
Vor der Version 1.17 von kubeadm müssen Sie kubelet.conf manuell ändern. Ersetzen Sie die Clientzertifikatdaten und die Clientschlüsseldaten durch diese.
/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 kopieren
Kopieren Sie admin.conf, um .kube/config zu überschreiben.
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
System neu starten
sudo reboot
Stellen Sie sicher, dass der Befehl kubectl funktioniert.
Stellen Sie nach dem Neustart sicher, dass der Befehl kubectl einwandfrei funktioniert.
ubuntu@rcm:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
rcm Ready master,oam 16d v1.15.12