[Kubernetes] kubectl context

최대 1 분 소요

kubernetes 클러스트의 접근 구성을 위해서는 kubeconfig 파일을 통해 구성한다. kubeconfig 파일은 kubectl 설치 시, ~/.kube/config 내에 위치하게 된다.

일반적으로 클라우드 환경에서 kubernetes 관리를 위해 제공되는 인스턴스는 kubernetes가 구성된 클러스터가 아닌, 기본 인스턴스에 kubeconfig 파일 구성을 통해 kubernetes 클러스터와 통신할 수 있게 되는 구조이다.



설정

context 는 kubectl 설치 시 생성되는 파일인 ~/.kube/config 파일에서 설정할 수 있다.

clusters:
- cluster:
    certificate-authority-data:
    server: https://xxx.xxx.xx.xxx
  name: kubernetes_asia-northeast3-a_cluster-1
- cluster:
    certificate-authority-data:
    server: https://xxx.xxx.xxx.xxx
  name: aws-cluster-asia-1

users:

name: aws-user

user:

name: gcp-user

user:

contexts:

context:

cluster: kubernetes_asia-northeast3-a_cluster-1

user: gcp-user

name: gcp-context

context:

cluster: aws-cluster-asia-1

user: aws-user

name: aws-context

current-context: kubernetes_asia-northeast3-a_cluster-1

kind: Config

preferences: {}
  • clusters

kubernetes 클러스터를 명시 GCP kubernetes 클러스터 및 AWS 클러스터가 등록되어 있음

  • users

클러스터에 접근할 유저 정보

  • context

kubeconfig에서 컨텍스트 요소는 편리한 이름으로 접속 매개 변수를 묶는데 사용한다. 각 컨텍스트는 클러스터, 네임스페이스와 사용자라는 세 가지 매개 변수를 가진다. 기본적으로 kubectl 커맨드라인 툴은 현재 컨텍스트 의 매개 변수를 사용하여 클러스터와 통신한다.

  • current-context

현재 통신하는 context 현재 컨택스트를 선택하려면 다음을 실행한다. kubectl config use-context

context 조회 및 변경

~/.kube/config 파일을 조회 및 수정하거나, kubectl config 명령을 이용하는 방법이 있다.

#GCP로 변경
$ kubectl config use-context kubernetes_asia-northeast3-a_cluster-1

#context 조회
$ kubectl config get-contexts

CURRENT   NAME            CLUSTER         AUTHINFO     NAMESPACE
gcp-context     kubernetes_asia-northeast3-a_cluster-1     gcp-user
    aws-context   aws-cluster-asia-1   aws-user

댓글남기기