쿠버네티스를 간단히 실습할 수 있는 환경인 kind를 활용하는 방법을 소개합니다.
kind란?
kind (Kubernetes IN Docker)는 Docker 컨테이너 기반으로 쿠버네티스 클러스터를 구성할 수 있게 해주는 도구입니다.
- 테스트, CI/CD, 경량 개발 환경에 적합
- VM 없이 컨테이너로만 클러스터 구성
- 매우 빠르고 가벼움
구성 예시
kind-multinode/
├── kind-cluster.yaml # 클러스터 노드 설정 파일
└── create-cluster.sh # 클러스터 생성 스크립트
kind-cluster.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
위 설정은 컨트롤 플레인 1개 + 워커 노드 2개 구성입니다.
create-cluster.sh
#!/bin/bash
CLUSTER_NAME="multi-node-cluster"
echo "🧹 기존 클러스터 삭제 중..."
kind delete cluster --name "$CLUSTER_NAME"
echo "🚀 클러스터 생성 중..."
kind create cluster --name "$CLUSTER_NAME" --config kind-cluster.yaml
echo "✅ 클러스터 생성 완료!"
kubectl cluster-info --context kind-$CLUSTER_NAME
echo "📦 노드 리스트:"
kubectl get nodes
실행 권한 부여: chmod +x create-cluster.sh
클러스터 실행
./create-cluster.sh
결과 예시
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
multi-node-cluster-control-plane Ready control-plane 1m v1.29.x
multi-node-cluster-worker Ready <none> 1m v1.29.x
multi-node-cluster-worker2 Ready <none> 1m v1.29.x
클러스터 삭제
kind delete cluster --name multi-node-cluster
- 관련 Docker 컨테이너들도 자동 삭제됨
kubectl config에서도 context 사라짐
참고 사항
- kind는 Docker 이미지를 자동으로 사용하므로 별도의 Dockerfile이 필요 없음
'알아두면 좋은 개발 지식 > 인프라' 카테고리의 다른 글
| Aerospike에서 Redis로 마이그레이션하며 겪은 문제와 해결 과정 (1) | 2025.02.10 |
|---|