본문 바로가기

CKA

[k8s] kind로 Kubernetes 로컬 환경 구축하기

728x90
내 로컬 PC에서 쿠버네티스 클러스터를 아주 빠르게 띄우는 도구.

kind란?

  • 노드(Node)를 VM이 아니라 "Docker 컨테이너"로 만든다.
  • 그래서 Docker만 있으면 로컬에 쿠버네티스 클러스터를 만들 수 있다.
  • 원래 목적은 Kubernetes 자체 테스트/CI 였는데, 지금은 로컬 개발/학습에도 많이 씀

즉, "Docker 컨테이너로 노드를 구성해서 로컬에 k8s 클러스터를 만들어주는 도구"

Mac에서 kind로 실습 환경 만들기

(1) Docker Desktop 설치/실행 확인

  • Docker Desktop 설치 후 실행
  • 터미널에서 확인:
docker version

버전 정보가 나오면 OK

 

(2) Homebrew로 kubectl + kind 설치

Homebrew가 없다면 먼저:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

설치:

brew update
brew install kubectl kind

 

확인:

kubectl version --client
kind version

 

(3) 클러스터 생성

kind create cluster --name cka
더보기

 

  • 클러스터 생성: kind create cluster
  • 클러스터 목록: kind get clusters
  • 클러스터 삭제: kind delete cluster

 

클러스터 연결 확인:

kubectl cluster-info
kubectl get nodes

 

노드 여러 개(멀티 노드)로 클러스터 만들기

kind create cluster --name cka 로 만들면 기본은 control-plane 1개짜리(단일 노드)클러스터가 생성된다.

워커 노드를 여러 개 두고 싶다면 config 파일(YAML)로 생성해야 한다.

1) 멀티 노드 설정 파일 만들기 (control-plane 1 + worker 2 예시)

cat <<EOF > kind-multi.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
  - role: worker
  - role: worker
EOF
role 은 control-plane / worker 로 구분한다.

 

2) config로 클러스터 생성

kind create cluster --name cka --config kind-multi.yaml

 

3) 노드 생성 확인

kubectl get nodes
kubectl get nodes -o wide

 

결과는 

  • cka-control-plane 1개
  • cka-worker / cka-worker2 (워커 수에 따라 증가)
728x90