K8s-Cloudwave: 로컬 K8s 생성

Kind란?

- 로컬 환경에서 쿠버네티스 클러스터를 구성하기 위한 툴 (클러스터 = 환경)

- go 기반이며, Docker 이미지를 기반으로 kubeadm을 사용해 클러스터를 배포

- kind 명령어를 통해 YAML을 설정(config) 으로 읽어서 클러스터를 생성

 

# kind 설정 파일의 최상위 타입, "쿠버네티스 클러스터를 만든다"는 선언
kind: Cluster

# kind 설정 파일의 API 버전
apiVersion: kind.x-k8s.io/v1alpha4

# 생성될 쿠버네티스 클러스터 이름
name: cwave-cluster

# 이 클러스터를 구성하는 노드들 정의
nodes:

# ==========================
# Control Plane 노드
# ==========================
- role: control-plane  # 쿠버네티스 관리자 노드 (API 서버, 스케줄러 등)

  # kubeadm 초기화 설정을 일부 덮어쓰기 위한 패치
  kubeadmConfigPatches:
  - |
    kind: InitConfiguration
    nodeRegistration:
      kubeletExtraArgs:
	    # 이 노드에 라벨을 붙여 ingress controller가 이 노드에 올라올 수 있게 표시
        node-labels: "ingress-ready=true"  
        
  # 이 노드를 실행할 Docker 이미지
  image: kindest/node:v1.32.5

  # 컨테이너 포트 ↔ 내 PC 포트 연결
  extraPortMappings:
  - containerPort: 80   # 클러스터 내부(노드) 80 포트
    hostPort: 80        # 내 PC의 80 포트
    protocol: TCP
  - containerPort: 443  # 클러스터 내부 443 포트
    hostPort: 443       # 내 PC의 443 포트
    protocol: TCP

# ==========================
# Worker 노드 1
# ==========================
- role: worker          # 실제 애플리케이션(Pod)을 실행하는 노드
  image: kindest/node:v1.32.5

# ==========================
# Worker 노드 2
# ==========================
- role: worker          # 애플리케이션 확장/분산을 위한 두 번째 워커 노드
  image: kindest/node:v1.32.5

# ==========================
# 클러스터 네트워크 설정
# ==========================
networking:

  # Service(ClusterIP)가 사용할 IP 대역, kube-proxy가 내부 가상 IP로 트래픽 분산할 때 사용
  serviceSubnet: "10.120.0.0/16"

  # Pod들이 할당받을 IP 대역, CNI 플러그인이 Pod 생성 시 이 범위에서 IP 할당
  podSubnet: "10.110.0.0/16"

명령어

# 클러스터 생성
kind create cluster --config ./파일명 
# 삭제
kind delete cluster --name cwave-cluster
# 클러스터 접속 정보 확인
kind get kubeconfig --internal --name cwave-cluster

절대 잊으면 안 되는 사실

  • 컨테이너는 휘발성
  • 데이터는 반드시 외부 스토리지
개념 역할
PV 실제 저장소
PVC “이만큼 필요해요”라는 요청
Pod PVC를 마운트해서 사용

 

 

'K8s' 카테고리의 다른 글

K8s_Cloudwave: ConfigMap & Secret  (0) 2026.01.12
k8s_cloudwave: 볼륨  (1) 2026.01.09
K8s_Cloudwave: K8s 기본 리소스  (0) 2026.01.09
K8s_Cloudwave: Terraform 활용 EKS 생성  (0) 2026.01.09
K8s-Cloudwave: 쿠버네티스 기초  (0) 2026.01.08