From b891684f2e785847ba5bbd2ec4c147462c9a7450 Mon Sep 17 00:00:00 2001 From: jinho0928 Date: Wed, 23 Nov 2022 14:08:50 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B8=EC=A6=9D=EC=84=9C=20=EA=B0=B1?= =?UTF-8?q?=EC=8B=A0=20=EA=B0=80=EC=9D=B4=EB=93=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KUBE_CERTIFICATE_UPDATE_README.md | 34 ++++++++++++++++--------------- 1 file changed, 18 insertions(+), 16 deletions(-) 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