쿠버네티스

K3d 명령어 정리

ipxy 2025. 3. 20. 07:57
728x90

📌 1. 클러스터 관리 명령어

🔸 클러스터 생성

# 기본 클러스터 생성
k3d cluster create mycluster

# 특정 k3s 버전으로 클러스터 생성
k3d cluster create mycluster --image rancher/k3s:v1.29.2-k3s1

# 서버/에이전트 노드 개수 지정
k3d cluster create mycluster --servers 3 --agents 2

🔸 클러스터 삭제

# 클러스터 삭제
k3d cluster delete mycluster

# 전체 클러스터 삭제
k3d cluster delete --all

🔸 클러스터 정보 조회

# 모든 클러스터 목록 확인
k3d cluster list

# 특정 클러스터 상세정보
k3d cluster get mycluster

📌 2. 노드 관리 명령어

🔸 노드 추가 (서버 및 에이전트)

# 에이전트 노드 추가
k3d node create agent1 --cluster mycluster --role agent

# 서버 노드 추가
k3d node create server1 --cluster mycluster --role server

🔸 노드 삭제

k3d node delete agent1

🔸 노드 정보 조회

# 클러스터 내 노드 조회
kubectl get nodes

📌 3. kubeconfig 관리

🔸 클러스터 kubeconfig 파일 조회 및 추출

# kubeconfig 확인
k3d kubeconfig get mycluster

# kubeconfig 추출 및 저장
k3d kubeconfig get mycluster > ~/.kube/config

🔸 클러스터 kubeconfig 병합(Merge)

k3d kubeconfig merge mycluster --kubeconfig-switch-context

📌 4. 포트 포워딩 및 네트워크

🔸 포트 노출

# 클러스터 생성 시 8080 포트를 로드밸런서로 노출
k3d cluster create mycluster -p "8080:80@loadbalancer"

🔸 Docker 네트워크 지정

# 특정 Docker 네트워크에서 클러스터 생성
k3d cluster create mycluster --network my-network

📌 5. 볼륨(Volume) 마운트

# 로컬 디렉터리를 컨테이너 내부로 마운트
k3d cluster create mycluster \
  --volume /local/path:/container/path@all

📌 6. 컨테이너 레지스트리 연결

# 로컬 Docker Registry 사용
k3d registry create myregistry.localhost --port 5000

# 클러스터와 연결된 레지스트리 생성
k3d cluster create mycluster \
  --registry-use k3d-myregistry.localhost:5000

📌 7. 클러스터 상태 확인 및 관리

# 클러스터 중지
k3d cluster stop mycluster

# 클러스터 시작
k3d cluster start mycluster

📌 8. 로그 확인

# 클러스터 로그 확인
docker logs k3d-mycluster-server-0 -f

주요 팁 및 유의사항

  • k3d는 Docker 기반으로 작동하기 때문에 Docker Daemon이 반드시 실행 중이어야 합니다.
  • 개발 환경에서 로컬 테스트 및 빠른 프로토타입 구축 시 매우 유용합니다.
  • 프로덕션 환경보다는 개발 및 테스트 용도로 주로 활용됩니다.

 

🚩 자주 사용하는 옵션 정리

옵션 설명
--agents, -a 워커 노드 개수 설정 (기본값: 0)
--servers 서버 노드 개수 설정 (기본값: 1)
--port 로드밸런서로 포트 매핑
--volume, -v 호스트 디렉토리와 컨테이너 디렉토리 볼륨 매핑
--image 특정 K3s 이미지를 설정하여 버전 지정
--registry-create 로컬 Docker 레지스트리 자동 생성 및 연결
--registry-use 기존 레지스트리를 클러스터에 연결
--k3s-arg K3s 추가 인수 전달

이러한 명령어로 k3d를 효율적으로 관리하고 Kubernetes 환경을 간편하게 구축할 수 있습니다.

728x90