Kubeconfig 파일 이해 및 사용
Kubeconfig 파일은 쿠버네티스 클라이언트가 클러스터와 통신할 때 필요한 구성 정보를 담고 있습니다.
Kubeconfig 파일의 주요 섹션
- Clusters: 접근해야 하는 쿠버네티스 클러스터의 리스트입니다.
- Users: 클러스터에 접근하는 데 사용할 사용자 계정의 리스트입니다.
- Contexts: 어떤 사용자가 어떤 클러스터에 접근할지를 정의하는 설정입니다.
Kubeconfig 파일 생성 및 구성 예시
클러스터 설정 추가
yamlclusters: - name: my-kube-playground cluster: certificate-authority: /path/to/ca.crt server: https://my-kube-api-server:6443
사용자 설정 추가
yamlusers: - name: my-kube-admin user: client-certificate: /path/to/admin.crt client-key: /path/to/admin.key
컨텍스트 설정 추가
yamlcontexts: - name: my-kube-admin@my-kube-playground context: cluster: my-kube-playground user: my-kube-admin
현재 컨텍스트 설정
yamlcurrent-context: my-kube-admin@my-kube-playground
command
- kubeconfig 조회bash
kubectl config view kubectl config veiw --kubeconfig=my-custom-config kubectl config current-context --kubeconfig=my-kube-config
- context 변경bash
kubectl config use-context <context-name> kubectl config use-context prod-user@production
Kubeconfig 사용하기
kubectl
명령어 실행 시--kubeconfig
옵션으로 kubeconfig 파일을 지정할 수 있습니다.- 사용자 홈 디렉토리 아래의
.kube/config
파일을 기본 kubeconfig 파일로 사용합니다.
컨텍스트 변경하기
- 다른 컨텍스트로 변경하려면,
kubectl config use-context
명령어를 사용합니다.bashkubectl config use-context my-kube-admin@my-kube-playground
Namespaces
인증서 데이터 직접 포함시키기
- kubeconfig 파일에 인증서 파일의 경로 대신 인증서의 Base64 인코딩된 데이터를 직접 포함시킬 수 있습니다.yaml
users: - name: my-kube-admin user: client-certificate-data: <base64-encoded-cert> client-key-data: <base64-encoded-key>
K8s Reference Docs
https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config