Kubeconfig 파일 수정

KubernetesBeginner
지금 연습하기

소개

Kubeconfig 파일은 Kubernetes 클러스터에 대한 접근을 구성하는 데 사용됩니다. 이 파일들은 다음 정보를 지정합니다:

  • 사용할 클러스터
  • 인증할 사용자
  • 사용할 컨텍스트 (클러스터와 사용자를 결합)

기본적으로 kubectl~/.kube/config 파일을 kubeconfig 파일로 사용합니다. 하지만 --kubeconfig 플래그를 사용하여 다른 kubeconfig 파일을 지정할 수 있습니다.

Minikube 클러스터 시작

리소스를 생성하기 전에, 실행 중인 Kubernetes 클러스터가 필요합니다. Minikube 는 로컬 머신에서 실행되는 가벼운 Kubernetes 환경입니다.

  1. 작업 디렉토리로 이동:

    터미널을 열고 기본 프로젝트 폴더로 이동합니다:

    cd /home/labex/project
    
  2. Minikube 시작:

    Kubernetes 클러스터를 초기화하기 위해 Minikube 를 시작합니다:

    minikube start
    
    • 이 명령어는 로컬 머신에 단일 노드 Kubernetes 클러스터를 설정합니다.
    • Minikube 는 시스템 성능에 따라 시작하는 데 몇 분 정도 걸릴 수 있습니다.
  3. Minikube 가 실행 중인지 확인:

    Minikube 클러스터의 상태를 확인합니다:

    minikube status
    
    • kubeletapiserver와 같은 구성 요소가 Running으로 나열되어 있는지 확인합니다.
    • 클러스터가 실행 중이지 않으면 minikube start를 다시 실행합니다.

Minikube 를 시작하는 데 문제가 발생하면, 필요에 따라 minikube delete를 사용하여 환경을 재설정하십시오.

Kubeconfig 파일 보기

kubeconfig 파일을 수정하기 전에, 그 내용을 살펴보겠습니다. 다음 명령을 사용하여 kubeconfig 파일의 내용을 확인합니다:

kubectl config view

이 명령어는 모든 클러스터, 사용자 및 컨텍스트를 포함하여 전체 kubeconfig 파일을 표시합니다.

Kubeconfig 파일에 클러스터 추가

kubeconfig 파일에 클러스터를 추가하려면 kubectl config set-cluster 명령을 사용합니다. 이 명령은 클러스터의 이름, 서버 URL 및 인증 기관 (CA, Certificate Authority) 데이터를 필요로 합니다. 다음은 예시입니다:

kubectl config set-cluster my-cluster \
  --server=https://kubernetes.default.svc \
  --certificate-authority=/home/labex/.minikube/ca.crt

이 명령어는 지정된 서버 URL 및 CA 데이터를 사용하여 my-cluster라는 클러스터를 kubeconfig 파일에 추가합니다.

Kubeconfig 파일에 사용자 추가

kubeconfig 파일에 사용자를 추가하려면 kubectl config set-credentials 명령을 사용합니다. 이 명령은 사용자의 이름, 사용자의 클라이언트 인증서 및 사용자의 클라이언트 키를 필요로 합니다. 다음은 예시입니다:

kubectl config set-credentials my-user \
  --client-certificate=/home/labex/.minikube/profiles/minikube/client.crt \
  --client-key=/home/labex/.minikube/profiles/minikube/client.key

이 명령어는 지정된 클라이언트 인증서 및 키를 사용하여 my-user라는 사용자를 kubeconfig 파일에 추가합니다.

Kubeconfig 파일에서 컨텍스트 생성

kubeconfig 파일에 컨텍스트를 생성하려면 kubectl config set-context 명령을 사용합니다. 이 명령은 컨텍스트의 이름, 사용할 클러스터 및 인증할 사용자를 필요로 합니다. 다음은 예시입니다:

kubectl config set-context my-context \
  --cluster=my-cluster \
  --user=my-user

이 명령어는 my-cluster 클러스터와 my-user 사용자를 사용하여 my-context라는 컨텍스트를 kubeconfig 파일에 생성합니다.

Kubeconfig 파일에서 컨텍스트 사용

kubeconfig 파일에서 컨텍스트를 사용하려면 kubectl config use-context 명령을 사용합니다. 이 명령은 사용할 컨텍스트의 이름을 필요로 합니다. 다음은 예시입니다:

kubectl config use-context my-context

이 명령어는 현재 컨텍스트를 my-context로 설정하므로, 이후의 모든 kubectl 명령어는 지정된 클러스터와 사용자를 사용합니다.

요약

이 랩에서는 kubectl 명령줄 도구를 사용하여 kubeconfig 파일을 수정하는 방법을 배웠습니다. kubeconfig 파일에 클러스터, 사용자 및 컨텍스트를 추가하는 방법과 컨텍스트를 사용하여 Kubernetes 클러스터에 인증하는 방법을 배웠습니다.