Kubernetes Config란?

2022. 3. 24. 23:25Kubernetes

쿠버네티스를 Docker Desktop으로 사용하면서 연습해보면 사실 Kubernetes Config를 사용할 일이 딱히 없다. 그런데 회사에서 일하다보면 회사 쿠버네티스 클러스터에 접속해야할 일들이 가끔 있다. 예를 들면 Pod이 죽었는지 살았는지 살펴보기 위해서라던지 Pod의 로그를 볼 수도 있고 아니면 local에서 포트 포워딩을 통해서 쿠버네티스 데이터베이스 pod에 연결한다던지 하는 다양한 시나리오가 존재한다. 

 

Docker Desktop를 사용하면 default로 설정되어있는 kube config를 사용하게 돼서 인증을 알아서 잘 처리하게 해준다. 그렇기 때문에 다른 환경의 k8s 클러스터에 접근하려고 하면 어떻게 하는지 머리가 새 하얘질 수도 있다.

쿠버네티스를 설치하게 되면 ~/.kube라는 경로에 config가 생기게 되는데 config를 들여다보면 우리가 모르게 사용하고 있던 설정값들이 들어가있다.

 

 

kube config는 크게 3부분으로 나눠져있는데, cluster, contexts, users로 나눠져있다. contexts는 cluster + users로 이뤄져있다

 

cluster 부분에는 마스터 노드의 ip:port 정보와 어떤 CA(인증서)를 사용할 것인지 명시되어 있다

user 부분에는 유저가 어떤 crt와 key를 사용해서 tls 통신을 할 것인지 명시되어 있다. 여기서 crt와 key는 cluster에 명시된 CA로부터 인증을 받은 것이어야한다. context는 user와 cluster를 합친 것이다

 

사용하는 방법은 kubectl --kube-config={config이름} get pods 이런 형태로 사용할 수 있고 

config의 유저에 권한이 주어진 만큼 k8s 클러스터에서 정보를 주고 받을 수 있다. 

 

'Kubernetes' 카테고리의 다른 글

Persitent Volume, Persistent Volume Claim, Storage Class  (0) 2022.03.26
RBAC 설정하는 방법  (0) 2022.03.25
Kube-api-server란?  (0) 2022.02.27
ETCD란?  (0) 2022.02.27
Kubernetes Namespace란?  (0) 2022.02.22