클러스터, 유저, 컨텍스트 관련 명령어
기본적으로 kubectl config
명령어는 $HOME/.kube/config 파일을 kubeconfig로 삼아서 실행함
kubectl config {명령어}
만약 다른 kubeconfig 파일로 kubectl config 명령어를 실행하고 싶다면 --kubeconfig
옵션을 사용하면 그 파일을 기준으로 명령어가 실행됨
kubectl config --kubeconfig={config파일} {명령어}
이 경로의 파일을 다른 kubeconfig manifest 파일로 교체하면, kubeconfig 가 변경된다.
# default kubeconfig 파일
$HOME/.kube/config
kubeConfig manifest 파일 예시
apiVersion: v1
kind: Config
clusters:
- cluster:
proxy-url: http://proxy.example.org:3128
server: https://k8s.example.org/k8s/clusters/c-xxyyzz
name: development
users:
- name: developer
contexts:
- context:
name: development
컨텍스트 변경하기 (research → test-user@production)
# 현재 컨텍스트 확인
controlplane ~/.kube ➜ k config current-context
research
# 컨텍스트 목록 확인
controlplane ~/.kube ➜ k config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
aws-user@kubernetes-on-aws kubernetes-on-aws aws-user
* research test-cluster-1 dev-user
test-user@development development test-user
test-user@production production test-user
# 컨텍스트 변경
controlplane ~/.kube ➜ k config use-context test-user@production
Switched to context "test-user@production".
# 변경 확인
controlplane ~/.kube ➜ k config current-context
test-user@production
# config 파일 중 current-context 부분이 변경된 것도 확인
controlplane ~/.kube ➜ k config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443
name: development
- cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443
name: kubernetes-on-aws
....
current-context: test-user@production
kind: Config
preferences: {}