内容

概要

前提条件

証明書が期限切れかどうかを確認します

証明書の更新

証明書が更新されているかどうかを再度確認します

kubelet.confの変更

admin.confのコピー

システムをリブートします。

kubectlコマンドが機能するかどうかを確認します

概要

このドキュメントでは、Cisco 5G RCM(Redundancy Configuration Manager)でKubernetes証明書を更新する手順について説明します。

前提条件

RCMハイアベイラビリティ設定の場合は、最初にスタンバイRCMでプロシージャを実行してから、スイッチオーバーを実行し、新しいスタンバイRCMでプロシージャを実行する必要があります。使用可能なRCMハイアベイラビリティがない場合、証明書の更新プロセスの一部であるRCMのリブート中は、UP冗長性は使用できません。

証明書が期限切れかどうかを確認します

証明書の期限が切れているかどうかを確認するには、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

証明書の更新

証明書を更新するには、sudo kubeadm alpha certs renew allを実行します。

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

証明書が更新されているかどうかを再度確認します

sudo kubeadm alpha certs check-expirationを実行して、証明書が更新されているかどうかを確認します。

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の変更

kubeadmバージョン1.17より前では、kubelet.confを手動で変更する必要があります。client-certificate-dataとclient-key-dataを次に置き換えます。

/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のコピー

admin.confをコピーして.kube/configを上書きします。

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

システムをリブートします。

sudo reboot

kubectlコマンドが機能するかどうかを確認します

リブート後、kubectlコマンドが正常に動作するかどうかを確認します。

ubuntu@rcm:~$ kubectl get node

NAME   STATUS   ROLES       AGE   VERSION

rcm    Ready    master,oam  16d   v1.15.12