Updated:

less than 1 minute read

개요

  • kubeconfig를 이용하여 접근 구성
  • kubeconfig는 클러스터에 대한 접근을 구성하는 데 사용되는 파일($HOME/.kube/config)
  • context(cluster, user, namespace) 및 authentication mechanisms로 구성
  • context name으로 구분
         apiVersion: v1
         clusters:
         - cluster:
             certificate-authority-data: ...
             server: https://127.0.0.1:6443
           name: cluster-a
         contexts:
         - context:
             cluster: cluster-a
             user: kubernetes-admin-cluster-a
           name: kubernetes-admin@cluster-a
         current-context: kubernetes-admin@cluster-a
         kind: Config
         preferences: {}
         users:
         - name: kubernetes-admin
           user:
             client-certificate-data: ...
             client-key-data: ...
    


single cluster 접근 구성

  • cluster 이름 설정
    • inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml 파일의 cluster_name 필드를 수정하여 최초 설치 시 적용 가능
    • 설치 이후에는 kubeconfig 파일 수정
  • 조회
    • contexts list
      • kubectl config get-contexts
    • 설정
      • kubectl config view
  • 변경
    • kubectl config use-context ${context}
    • 기본 네임스페이스가 ${context}로 변경
  • 삭제
    • context
      • kubectl config unset contexts.${name}
    • cluster
      • kubectl config unset clusters.${name}
    • user
      • kubectl config unset users.${name}
  • 등록
    • kubectl config set-context context-test-0 --cluster=cluster-0 --user=kubernetes-admin --namespace=namespace-test-0
    • $HOME/.kube/config 파일의 contexts 필드에 추가됨


multi cluster 접근 구성

  • A cluster에서 B 클러스터 접근 가능
  • B cluster의 $HOME/.kube/config 파일을 이름을 변경(ex : b-config)하고 server 필드의 IP 수정 후 A 클러스터의 $HOME/.kube/에 복사
    • A cluster의 user 이름과 같으면 인증 에러가 발생하므로 같다면 변경 필요
  • context 등록
    • export KUBECONFIG=$KUBECONFIG:$HOME/.kube/b-cluster
    • config에 병합되는 방식
    • 확인
      • kubectl config view
  • 접근 방법 1
    • kubectl xxx --kubeconfig $HOME/.kube/b-config
  • 접근 방법 2
    • kubectl xxx --context=${context}
  • 접근 방법 3
    • kubectl config use-context ${context}
    • kubectl xxx