kubernetes 인증서
2020, May 14
kubernetes 인증서 종류
- kubelet에서 API 서버 인증서를 인증시 사용하는 클라이언트 인증서
- API 서버 엔드포인트를 위한 서버 인증서
- API 서버에 클러스터 관리자 인증을 위한 클라이언트 인증서
- API 서버에서 kubelet과 통신을 위한 클라이언트 인증서
- API 서버에서 etcd 간의 통신을 위한 클라이언트 인증서
- 컨트롤러 매니저와 API 서버 간의 통신을 위한 클라이언트 인증서/kubeconfig
- 스케줄러와 API 서버간 통신을 위한 클라이언트 인증서/kubeconfig
- front-proxy를 위한 클라이언트와 서버 인증서
인증서를 저장하는 위치
[root@bskim-master ~]# ls /etc/kubernetes/pki/
apiserver.crt apiserver-etcd-client.key apiserver-kubelet-client.crt ca.crt ca.srl etcd front-proxy-ca.key front-proxy-client.crt sa.key
apiserver-etcd-client.crt apiserver.key apiserver-kubelet-client.key ca.key conf front-proxy-ca.crt front-proxy-ca.srl front-proxy-client.key sa.pub
v1.14.x
마스터 노드에서 실행합니다.
1. Backup
$ cp -r /etc/kubernetes/pki /etc/kubernetes/pki_backup
$ mkdir /etc/kubernetes/conf_backup
$ cp -r /etc/kubernetes/*.conf /etc/kubernetes/conf_backup
2. Delete Cert & Config
$ mv /etc/kubernetes/pki/{apiserver.crt,apiserver-etcd-client.key,apiserver-kubelet-client.crt,front-proxy-ca.crt,front-proxy-client.crt,front-proxy-client.key,front-proxy-ca.key,apiserver-kubelet-client.key,apiserver.key,apiserver-etcd-client.crt} /etc/kubernetes/pki_backup/
$ rm -rf /etc/kubernetes/pki/etcd/{healthcheck-client.crt,healthcheck-client.key,peer.crt,peer.key,server.crt,server.key}
$ rm -rf /etc/kubernetes/*.conf
3. Cretate Certs & Config
kubeadm alpha phase certs all –config=/etc/kubernetes/addon/kubeadm-config.yaml
kubeadm alpha phase kubeconfig all –config=/etc/kubernetes/addon/kubeadm-config.yaml
4. Copy admin.conf
cp /etc/kubernetes/admin.conf /root/.kube/config
export KUBECONFIG=/root/.kube/config
5. master nodef Restart Docker & kubelet
systemctl stop kubelet
systemctl stop docker (docker를 내리지 않으면, config가 적용되지 않은 apiserver가 올라와있다)
systemctl start docker
systemctl start kubelet
v1.15 이상부터 kubeadm alpha certs renew 명령어를 사용하여 간단하게 인증서를 리뉴얼할 수 있다.
인증서 갱신은 만료기간 상관없이 renew 실행한 시간부터 다시 설정됩니다.
인증서 만료 확인
kubeadm alpha certs check-expiration
인증서 갱신
kubeadm alpha certs renew all
참조
https://kubernetes.io/ko/docs/setup/best-practices/certificates/