[CKA] KubeConfig

KubeConfig의 핵심 개념과 구성 방법, 실습 풀이를 정리합니다.

매번 자격 증명을 입력하기는 번거롭기 때문에 kubeconfig를 사용합니다.

Kubeconfig file

kubeconfig file은 다음과 같은 3가지 요소를 가지고 있습니다.
Clusters와 Users가 만나 Contexts를 이룹니다.

단순히 새로운 사용자를 위해 프로세스에서 사용자 엑세스나 권한을 설정하는 것이 아닌 기존 유저의 사용 권한을 가지고 있고 클러스터에 접근하기 위해 사용할 유저도 정의할 수 있습니다.

이를 통해 모든 요청에서 사용자 인증서와 서버 주소를 지정할 필요없습니다.(관리자 키와 인증서는 사용자에게 구성됩니다.)
YAML 파일은 다음과 같이 Cluster, Context, User를 모두 구성하며 생성됩니다.

apiVersion: v1
kind: Config
clusters:
- name: my-kube-playground
  cluster:
    certificate-authority: ca.crt
    server: https://my-kube-playground:6443
contexts:
- name: my-kube-admin@my-kube-playground
  context:
    cluster: my-kube-playground
    user: my-kube-admin
users:
- name: my-kube-admin
  user:
    client-certificate: admin.crt
    client-key: admin.key

현재 사용 중인 kubeconfig 파일을 보는 방법

kubectl config view

커스텀 파일을 사용해 current-context 변경 방법

kubectl config --kubeconfig=/root/my-kube-config use-context research
/root/.kube/config