Minikube
Minikube
Minikube 설치 및 실행
Homebrew로 설치:
1
brew install minikube kubectl
클러스터 시작 (Docker 드라이버 사용):
1
2
3
4
5
6
7
8
minikube start --driver=docker
# --schedule-stop=2h 이용하여 자동중지 시간 설정 가능
# --driver 옵션 지정 (지정해두면 minikube start 만으로 실행 가능)
minikube config set driver docker
# 옵션확인
minikube config view
minikube config get driver
docker 드라이버를 사용하지 않으면 기본적으로 vm 으로 클러스터가 만들어짐 (vz, qemu 등)
docker 가 가장 가볍기 때문에 설정하는 것
클러스터 확인 및 중지 :
1
2
3
4
minikube status
minikube stop
# stop 시간 지정
--schedule=4h
상태 확인:
1
2
3
4
# cli 로 노드 확인
kubectl get nodes
# 웹 브라우저로 쿠버네티스 대시보드 화면 접속
minikube dashboard
minikube dashboard 화면
APP 배포
배포 순서
이미지 빌드
1
docker build -t k8s-test-app:latest .
minikube 로컬 이미지 로드 (minikube 내 docker로 이미지를 로드하는 과정)
1
minikube image load k8s-test-app:latest
minikube 도커에 바로 빌드하기
1
2
3
4
5
6
7
8
9
10
minikube start
# 매 세션마다 실행해줘야만 그 세션에서만 적용
eval $(minikube docker-env)
# 도커 이미지 빌드
docker build ~
# minikube 내 docker 로 load 하는 과정이 삭제됨
# 바로 배포 가능
kubectl apply -f {file}
MacBook Docker CLI → Minikube 내부 Docker 데몬으로 연결
배포
1
kubectl apply -f k8s/
접속 (자동 포트 포워딩 생성)
1
minikube service k8s-test-app
랜덤하게 포트 포워딩 되어 생성되면 그 포트로 배포된 서비스에 접속 가능
이미지가 minikube 내부 docker 에 있는지 확인
1
minikube ssh -- docker images | grep k8s-test-app
전체 구조
1
2
3
4
5
MacBook (호스트)
└── Docker Desktop
└── Minikube 클러스터 (Docker 컨테이너로 실행)
└── 내부 Docker 데몬
└── 당신의 앱 컨테이너들
- 격리: MacBook의 Docker Desktop과 완전히 분리
- Kubernetes 최적화: K8s CRI(Container Runtime Interface)에 맞춘 Docker
- 네트워크: Minikube 전용 bridge 네트워크
Minikube 내부 접속
1
2
minikube ssh < minikube 내부로 ssh 접속
docker version < minikube 내 docker 버전 확인 가능
minikube ssh 접속 화면
This post is licensed under CC BY 4.0 by the author.

