클라우드/Kubernetes

[Kubernetes] 클러스터 기간확인 /연장

Cloud_Park 2021. 5. 27. 10:58

쿠버네티스 클러스터 인증서의 기간은 1년입니다.

1년이 지나면 kubectl 명령어가 안 되며  이는 kubelet 로그에 만료 

Jun 28 12:18:14 kube-master002-xxx kubelet[145630]: E0628 00:02:14.684236  145630 server.go:222] Unable to authenticate the request due to an error: x509: certificate has expired or is not yet valid
Jun 28 12:18:20 kube-master002-xxx kubelet[145630]: E0628 00:02:20.928108  145630 server.go:222] Unable to authenticate the request due to an error: x509: certificate has expired or is not yet valid
Jun 28 12:18:24 kube-master002-xxx kubelet[145630]: E0628 00:02:24.683814  145630 server.go:222] Unable to authenticate the request due to an error: x509: certificate has expired or is not yet valid

그리하여  클러스터 기간 확인  / 연장하는 방법을 포스팅하겠다.

 

 

 

기간확인 

# kubeadm alpha certs check-expiration

박스친 부분이 남은 기간이다.

 

기간연장 

//혹시 모르니  config 백업
# cp  /etc/kubernetes/pki ./kube_pki.back
//인증서들(apiserver,apiserver-kubelet,apiserver-etcd-client)의  만료일 확인
# cd kube_pki.back
# opensll X509 -in [cert파일] -noout -dates
.
.
.

# kubeadm alpha certs renew all
// 전부 갱신됩니다.

명령어 결과 //정상 작동됨

 

기간이 연장 확인 

============================================================================

방법 2.

cert 생성 

// kubeadm apla phase certs 파일명  -> 을 통해 수동생성
# kubeadm alpha phase certs apiserver --apiserver-cert-extra-sans '10.x.u.z,kube-master.xxx.com'

# kubeadm alpha phase certs apiserver-kubelet-client

# kubeadm alpha phase certs apiserver-etcd-client


 

conf 파일생성 (/etc/kubernetes/   존재하는 )

모든 conf 파일 재 생성
#kubeadm alpha kubeconfig all


하나씩 생성도 가능 (위 명령어 하나와 동일)
# kubeadm alpha phase kubeconfig admin
# kubeadm alpha phase kubeconfig kubelet
# kubeadm alpha phase kubeconfig controller-manager
# kubeadm alpha phase kubeconfig scheduler

 옮긴 후 apiserver, controller-manager ,  scheduler 재기동

# kubectl delete po -n kube-system [pod name]

 kubelet 재기동

$ systemctl restart kubelet

 

결론

kubeadm alpha certs renew all  

가장 편했다.