diff --git a/KUBE_CERTIFICATE_UPDATE_README.md b/KUBE_CERTIFICATE_UPDATE_README.md index 902dadc..e8fafcf 100644 --- a/KUBE_CERTIFICATE_UPDATE_README.md +++ b/KUBE_CERTIFICATE_UPDATE_README.md @@ -27,12 +27,24 @@ etcd-ca Nov 21, 2030 06:29 UTC 9y no front-proxy-ca Nov 21, 2030 06:29 UTC 9y no ``` - -## Step1. 인증서 갱신 + +## Step1. 기존 인증서 백업 +* 목적 : `기존 인증서 백업을 한다.` +* 순서 : + * 기존 인증서 및 config 백업 (필수사항) + ```bash + mkdir ~/cert_temp + cp /etc/kubernetes/pki ~/cert_temp + cd /etc/kubernetes/ + cp {admin.conf,controller-manager.conf,kubelet.conf,scheduler.conf} ~/cert_temp + ``` + +## Step2. 인증서 갱신 * 목적 : `인증서를 수동으로 갱신한다.` * 순서 : * 아래 명령어는 /etc/kubernetes/pki 에 저장된 CA(또는 프론트 프록시 CA) 인증서와 키를 사용하여 갱신을 수행한다. - * kubeadm으로 생성된 클라이언트 인증서는 1년 기준이다. + * kubeadm으로 생성된 클라이언트 인증서는 1년 기준이다. + * warning : 다중화 클러스터 구성의 경우, 모든 컨트롤 플레인 노드에서 이 명령을 실행해야 한다. ```bash kubeadm alpha certs renew all @@ -53,33 +65,23 @@ ``` * kube-system pod (kube scheduler, api server, controller, etcd) 재기동 ```bash - kubectl get pod -n kube-system -o yaml | kubectl replace --force -f- + kubectl delete pod -n kube-system - ex) kubectl get pod kube-apiserver-k8s-master -n kube-system -o yaml | kubectl replace --force -f- + ex) kubectl delete pod kube-apiserver-master1 -n kube-system ``` * config 복사 ```bash cp -i /etc/kubernetes/admin.conf /root/.kube/config ``` * 비고 : - * warning : 다중화 클러스터 구성의 경우, 모든 컨트롤 플레인 노드에서 이 명령을 실행해야 한다. * 이미 인증서가 만료된 경우 아래 가이드를 참조하여 인증서를 갱신한다. - * 기존 인증서 및 config 백업 (권장사항) - ```bash - mkdir ~/cert_temp - - cp /etc/kubernetes/pki ~/cert_temp - cd /etc/kubernetes/ - cp {admin.conf,controller-manager.conf,kubelet.conf,scheduler.conf} ~/cert_temp - - ``` * 새 인증서 생성 및 config 변경 적용 ```bash kubeadm init phase certs all --apiserver-advertise-address --config=<설치할때 사용했던 kubeadm-config.yaml 파일 경로> kubeadm init phase kubeconfig all --config=<설치할때 사용했던 kubeadm-config.yaml 파일 경로> ``` - * reboot + * etcd -> api server -> scheduler -> controller 순으로 재기동 * kube config 복사 ```bash cp -i /etc/kubernetes/admin.conf $HOME/.kube/config