kubeconfig 파일이란?
kubeconfig 파일은 클러스터, 사용자, 네임스페이스 그리고 인증 메커니즘에 대한 정보를 관리할 수 있다.
kubeconfig 파일은 kubectl(쿠버네티스 클러스터를 제어하기 위한 커맨드 라인 도구)이 클러스터에 대한 접근을 구성하는데 사용되는 파일을 말한다.
kubectl은 kubeconfig 파일을 사용하여 클러스터 선택과 클러스터의 API 서버와의 통신에 필요한 정보를 찾는다.
kubeconfig 파일 이해
kubeconfig의 구성은 아래와 같다. (내용에 따라 구성이 다를 수 있다.)
apiVersion":v1
clusters:
-clusters:
certificate-authority: leak-file
server: <https://10.10.10.10>
name: development
contexts:
-contexts:
cluster: development
namespace: aws-dev
user: meme
name: aws-dev
current-context: aws-dev
kind: Config
preferences: {}
users:
-name: meme
user:
client-certificate: leak-file
client-key: leak-key-file
구성요소들을 나눠서 한번 보자.
#clusters
apiVersion":v1
clusters:
-clusters:
certificate-authority: leak-file
server: <https://10.10.10.10>
clusters 안에는 접속 대상이 되는 각 클러스터들의 정보가 들어간다.
- certificate-authority: 인증기관 정보
- server: api 서버
#contexts
contexts:
-contexts:
cluster: development
namespace: aws-dev
user: meme
name: aws-dev
current-context: aws-dev
context 안에는 직관적으로
- cluster의 이름
- namespace의 이름
- user의 이름
- contexts의 이름
- 현재 컨텍스트(current-context)의 이름
- kubectl 명령어를 통해 클러스터에 접속할 때 current-context에 설정된 사용자의 자격을 가지고 클러스터에 접속을 하게 된다.
이렇게 구성이 되어있다.
#users
users:
-name: meme
user:
client-certificate: leak-file
client-key: leak-key-file
users 안에는
- client-certificate: 클라이언트 인증서
- client-key: 클라이언트 키
쿠버네티스 클러스터에서는 클러스터의 인증 기관 정보(certificate-authority)를 통해 검증할 수 있는 클라이언트의 인증서와 키를 이용해서 접속하려는 사용자를 허용한다.
- 참조
'IT Infra > Kubernetes' 카테고리의 다른 글
쿠버네티스 구성요소 (0) | 2022.02.22 |
---|---|
HPA(HorizontalPodAutoscaler) (0) | 2022.01.06 |
kubernetes 오브젝트 정리(2) (0) | 2022.01.05 |
kubernetes 오브젝트 정리(1) (0) | 2022.01.03 |