여러 Kubernetes 클러스터에 접속하기 위해 접속할 클러스터 정보를 KubeConfig에서 관리한다. Cluster와 User를 정의하고, 둘의 조합인 Context를 만든다.

1 minute read

여러 Kubernetes 클러스터에 접속하기 위해 접속할 클러스터 정보를 KubeConfig에서 관리한다. Cluster와 User를 정의하고, 둘의 조합인 Context를 만든다.

KubeConfig 생성

KubeConfig 파일을 구성한다. clusters, users, contexts를 차례로 정의하면 된다.

apiVersion: v1
kind: Config

clusters:
  - name: development
    cluster:
      certificate-authority: fake-ca-file
      server: https://1.2.3.4
  - name: production
    cluster:
      certificate-authority: fake-ca-file
      server: https://5.6.7.8

users:
  - name: developer
    user:
      client-certificate: fake-cert-file
      client-key: fake-key-file
  - name: guest
    user:
      username: guest
      password: password123

contexts:
  - name: dev-frontend
    context:
      cluster: development
      user: deveoper
      namespace: frontend
  - name: prod-guest
    context:
      cluster: production
      user: guest
      namespace: default

current-context: dev-frontend



kubectl config

터미널에 설치된 kubectl.kube/config를 기본 KubeConfig 파일로 사용한다. 주요한 명령어를 몇개 살펴보자.

KubeConfig 확인하기

# 전체 Config 확인
$ kubectl config view

# 현재 Config만 확인
$ kubectl config view --minify

Context 바꾸기

$ kubectl config use-context [context-name]

Context 내용 변경

사용할 Namespace를 바꿀 때 주로 쓴다.

# 현재 Context의 Namespace 변경
$ kubectl config set-context --current --namespace=[NAMESPACE_NAME]

# 특정 Context의 Namespace 변경
$ kubectl config set-context [CONTEXT_NAME] --namespace=[NAMESPACE_NAME]

# Full Format
$ kubectl config set-context CONTEXT_NAME \
  [--cluster=cluster_name] \
  [--user=user_name] \
  [--namespace=namespace_name]

Referecnes