K8s에서 client는 인증서를 사용하기 위해 curl 명령어를 이용하여 쿼리를 한다.
그런데, 명령어가 너무 길어지다보면 실수를 할 수도 있고 매일 이렇게 다 쳐주는 건 귀찮은 일이다.
그래서 kubeConfig File 개념이 나온다.
여기에 작성을 해 두고, 조회나 curl시 kubeConfig 를 이용하여 인증서를 조회할 수 있다.
그리고 kubeConfig 포맷은 크게 3가지 섹션으로 나뉘는데, 아래에서 알아보자.
크게 Clusters, Contexts, Users로 나뉜다.
Cluster는 말 그대로 시료 환경에 대한 것이고, clients 들은 k8s 환경에 접속하는 user들인데
각각 권한이 다르다.
Context는 어떤 Users가 어떤 Clusters에 접근하는지를 묶어주는 부분이다.
실제 KubeConfig file은 $HOME/.kube/config 디렉토리에 있으며,
clusters, contexts, users 섹션으로 나뉜다.
contexts의 cluster에 clusters name을 입력해주고, contexts의 user 부분에 users의 name을 입력해준다.
kubeConfig 파일은 위와 같이 조회할 수 있으며, current-context 수정은 오른쪽과 같이 가능하다.
# kubectl config view
# kubectl config use-context [변경할 내용]
그럼 다른 내용들을 수정/삭제하고 싶다면?
#kubectl config -h 를 통해 알아보면 된다.
Cluster내엔 다양한 namespace도 있을 텐데, kubeconfig에도 해당 namespace를 명시해줄 수 있다.
그리고 certificate-authority도 crt파일의 전체 path를 입력해줘야 하지만, 아예
'certificate-authority-data'를 여기 파일에 직접 입력하는 방법도 있다. (물론 base64로)
출처: Udemy 사이트의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의