클라우드/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
가장 편했다.