[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