본문으로 건너뛰기

kubeadm certs로 인증서 관리하기

인증서 설정

apiVersion: kubeadm.k8s.io/v1beta4
kind: ClusterConfiguration
  • encryptionAlgorithm: <algorithm>
    • RSA-2048, RSA-3072, RSA-4096, ECDSA-P256
    • 기본값: RSA-2048
  • certificatesDir: <dir>
    • 기본값: /etc/kubernetes/pki
    • ca.crtca.key가 존재하는 경우 덮어쓰지 않습니다.
  • certificateValidityPeriod: <duration>
    • 기본값: 8760h (1년)
  • caCertificateValidityPeriod: <duration>
    • 기본값: 87600h (10년)

인증서 만료 확인

kubeadm certs check-expiration

인증서 갱신

정보

kubeadm으로 클러스터를 업그레이드하면 인증서가 갱신됩니다.

kubeadm certs renew all

위 명령어는 CA 또는 front-proxy-CA 인증서를 사용하여 apiserver 등 컴포넌트의 인증서를 갱신합니다. 인증서가 갱신된 후 해당 컴포넌트를 재시작해야합니다.

Static Pod의 경우 로컬 kubelet에 의해 관리되므로, kubectl 명령어로 재시작할 수 없습니다. 아래 명령어로 재시작할 수 있습니다.

crictl pods --namespace kube-system --name 'kube-scheduler-*|kube-controller-manager-*|kube-apiserver-*|etcd-*' -q \
| xargs crictl rmp -f

Control Plane의 모든 노드에서 인증서를 갱신해야합니다.