[MSA 프로젝트] minikube 설치 및 사용하기

angie·2024년 5월 28일

이전에 마이크로서비스를 테스트를 하기위해 GKE를 활용하였다. 그러나 클라우드에서 쿠버네티스를 사용하는 건 번거롭고 크레딧이 생길 수 있기 때문에 minikube를 사용할 것이다.

minikube 설치하기


1. 설치 하기
https://minikube.sigs.k8s.io/docs/start/ 에서 본인의 환경에 맞는 minikube를 설치한다.
Windows를 선택했고 latest release를 클릭한다.

2. 설치 확인
설치가 완료되면 cmd를 열어 minikube version 명령어로 설치를 확인할 수 있다.

> minikube version
minikube version: v1.33.1
commit: 5883c09216182566a63dff4c326a6fc9ed2982ff

minikube 사용하기


1. Cluster 시작하기

minikube start
  • 아래 명령어로 클러스터 생성을 위한 이미지
# minikube 시작 시 download 되는 docker image
$ docker images
REPOSITORY                      TAG                   IMAGE ID       CREATED         SIZE
gcr.io/k8s-minikube/kicbase     v0.0.44               5a6e59a9bdc0   2 weeks ago     1.26GB
  • 클러스터 컨테이너
# 다운받은 docker image로 minikube container를 실행하여 kubernetes cluster 생성
$ docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED         STATUS         PORTS                                                                                                                                  NAMES
0afaff80de0b   gcr.io/k8s-minikube/kicbase:v0.0.44   "/usr/local/bin/entr…"   3 minutes ago   Up 3 minutes   127.0.0.1:57389->22/tcp, 127.0.0.1:57390->2376/tcp, 127.0.0.1:57392->5000/tcp, 127.0.0.1:57393->8443/tcp, 127.0.0.1:57391->32443/tcp   minikube
  • kubernetes cluster와 kubectl의 연결을 위한 정보가 담긴 config 파일
$ cat ~/.kube/config
  • 클러스터 정보
$ kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:57393
CoreDNS is running at https://127.0.0.1:57393/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

2. cluster 일시정지/재가동

$ minikube pause

일시정지 명령어로, kubectl을 통한 cluster의 접근이나 추가적인 명령어는 timeout이 발생하며 사용이 불가능하다. 단, 이미 배포된 application에는 영향을 미치지않고 계속 동작한다.

  • 클러스터 재기동 명령어
$ minikube unpause

3. cluster 종료

$ minikube stop
  • kubernetes cluster를 위해 구동되었던 minikube docker container가 종료되며 cluster가 종료되게 된다. 또한 cluster와 kubectl의 연결을 위해 사용되었던 ~/.kube/config 파일의 내용도 모두 사라진다.
  • 단, 따로 저장되어있는 cluster 내의 생성했던 리소스들의 정보는 삭제되지 않기 때문에 다시 minikube start 명령어를 통해 cluster를 생성하면 기존에 생성해놨던 application 같은 리소스들이 동일하게 생성되어 구동된다.

4. cluster 삭제

$ minikube delete
  • delete를 통해 cluster를 종료한다면 이러한 정보들까지 모두 삭제한다. 따라서 delete 후 다음번 minikube를 시작시 완벽히 초기상태로 시작이 된다.
profile
열심히 달리는 개발자

0개의 댓글