kubernetes 인증서 갱신

김건호·2023년 1월 30일
0

0. 개요

kubernetes 클러스터를 최초 설치 시, 생성되는 인증서의 기한은 1년입니다. 이 인증서 기간이 만료되면 kubernetes 클러스터를 사용할 수 없어, 인증서를 주기적으로 갱신해야 합니다.

0.1. 환경

Master Node 3대, Worker Node 2대

k8s 버전 1.19.4

1. 작업 전 백업

etcd 백업

ETCDCTL_API=3 etcdctl \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/ssl/etcd/ca.crt \
--cert=/etc/kubernetes/ssl/etcd/server.crt \
--key=/etc/kubernetes/ssl/etcd/server.key \
snapshot save $BACKUP_ETCD.db

버전에 따라 인증서의 경로가 ssl이 아닌 pki인 경우가 있습니다.

인증서 백업

cp /etc/kubernetes ./

엔지니어라면 항상 백업은 필수 ❗❗

각 Master Node의 인증서는 다르기 때문에, 모든 Master Node에서 각각 백업하여야 합니다.

2. 인증서 갱신

kubernetes version <= 1.19

kubeadm alpha certs renew all

이후 kubernetes verion

kubeadm certs renew all

인증서 날짜 갱신 확인

kubeadm alpha certs  check-expiration
---
CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Jan 30, 2024 05:02 UTC   364d                                    no
apiserver                  Jan 30, 2024 05:02 UTC   364d            ca                      no
apiserver-etcd-client      Jan 30, 2024 05:02 UTC   364d            etcd-ca                 no
apiserver-kubelet-client   Jan 30, 2024 05:02 UTC   364d            ca                      no
controller-manager.conf    Jan 30, 2024 05:02 UTC   364d                                    no
etcd-healthcheck-client    Jan 30, 2024 05:02 UTC   364d            etcd-ca                 no
etcd-peer                  Jan 30, 2024 05:02 UTC   364d            etcd-ca                 no
etcd-server                Jan 30, 2024 05:02 UTC   364d            etcd-ca                 no
front-proxy-client         Jan 30, 2024 05:02 UTC   364d            front-proxy-ca          no
scheduler.conf             Jan 30, 2024 05:02 UTC   364d                                    no

CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Oct 15, 2032 05:35 UTC   9y              no
etcd-ca                 Oct 15, 2032 05:35 UTC   9y              no
front-proxy-ca          Oct 15, 2032 05:35 UTC   9y              no

static pod 재기동

kube-scheduler, kube-apiserver, kube-controller-manager, etcd 순서로 재기동하여 갱신된 인증서를 반영합니다.

각 Master Node의 인증서는 다르기 때문에, 모든 Master Node에서 갱신되어야 합니다.

3. 인증서 복사

cp /etc/kubernetes/admin.conf ~/.kube/config
profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글