유데비 CKA강의를 들으면서 정리한 문서입니다. 따로 정리한 글이 아니라 강의 중간에 메모한 문서이기 때문에 틀린부분이 존재할수도 있습니다.
Server Certificates for Servers
1) kube-apiserver
2) etcd server
3) kubelet server
워커노드에 있는 kubelet은 https 엔드포인트가 존재하기 때문에
Client Certificates for Clients
1) kube-apiserver에 접속하는 클라이언트는
admin, kube-scheduler(새로 생성된 파드를 인지하거나, 파드를 워커노드에 할당하기 위해), kube-controller-manager, kube-proxy
2) etcd server에 통신하는 유일한 클라이언트는 kube-apiserver
서버용 인증은 클라이언트 인증으로 사용할수도 있고, 클라이언트용 인증을 새로 생성할수도 있다.
3) kubelet에 통신하는 클라이언트는 kube-apiserver
1) easyrsa
2) openssl
openssl genrsa -out ca.key 2048
(키 생성)
openssl req -new -key ca.key -subj "/CN=KUBERNETES-CA" -out ca.csr
(Certificate Signing Request)
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
(Sign Certificates)
3) cfssl