Post

[Minikube] 미니큐브 환경 구성 및 예제

2024-12-17-minikube

로컬 환경에서 ELK 스택 설정 실습 중 클러스터가 필요하여, 간단하게 Minikube를 설치하고 설정하는 과정을 정리하였습니다. 로컬에서 Kubernetes 클러스터를 세팅하고, 간단한 예제를 통해 Minikube의 사용법을 알아보겠습니다.

Minikube란?


Minikube란 Kubernetes를 쉽게 배우고 개발할 수 있도록 하는 로컬 Kubernetes입니다. Docker 컨테이너나 가상 머신 환경만 있으면 Kubernetes를 minikube start 명령을 통해 사용할 수 있습니다. - minikube Docs

Minikube는 로컬 환경에서 Kubernetes 클러스터를 빠르고 쉽게 실행할 수 있도록 도와주는 도구입니다. 일반적으로 Kubernetes는 복잡한 환경에서 실행되지만, 개발이나 테스트 단계에서는 간단한 클러스터가 필요합니다. Minikube는 경량화된 싱글 노드 Kubernetes 클러스터를 제공하여 개발자가 로컬에서 클러스터를 실행하고 애플리케이션을 배포할 수 있도록 지원합니다.

필요사항


설치하기


저는 Mac OS 환경에서 hombrew를 사용하여 minikube를 설치해보도록 하겠습니다.

다운로드 경로: https://minikube.sigs.k8s.io/docs/start/?arch=%2Fmacos%2Farm64%2Fstable%2Fbinary+download

2024-12-17-minikube-02

1
brew install minikube

2024-12-17-minikube-03

실행


설치가 완료되었으면 실행해보겠습니다. 이때 저는 docker 드라이버를 사용하였습니다. 실행 전 Docker를 실행해주세요!

1
minikube start

2024-12-17-minikube-04

실행 확인


전체 네임스페이스의 Pod 정보를 조회하는 명령어를 통해 정상적으로 클러스터가 실행됐는지 확인해보겠습니다.

1
kubectl get po -A
  • kubectl: Kubernetes 클러스터를 관리하기 위한 CLI 도구
  • get: Kubernetes 리소스 조회를 위한 명령어
  • po: Pod의 약자
  • -A: –all-namespaces의 축약형 옵션으로, 모든 네임스페이스에 있는 리소스를 조회합니다.

2024-12-17-minikube-05

minikube dashboard


Minikube는 Kubernetes 대시보드를 GUI 형태로 제공합니다. 아래 명령어를 통해 dashboard를 실행해줍시다.

1
minikube dashboard

2024-12-17-minikube-06

  • Opening http에 출력된 url 로 들어가면 아래와 같이 minikube dashboard가 나오는 것을 확인할 수 있습니다. 현재는 실행 중인 deployment, pod, replica set이 없지만 아래 Application 배포 예제를 통해 Service를 배포하고 대시보드 상태가 변하는 것을 확인해 보겠습니다.

2024-12-17-minikube-07

Application 배포


minikube Docs 샘플 예제를 통해 Service를 배포해 보겠습니다. 추가적으로 해당 가이드에 LoadBalncer와 Ingress 예제도 있으니 참고하시면 좋을 것 같습니다.

1. Deployment 생성

1
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0

2024-12-17-minikube-08

2. Deployment를 Service로 노출 (NodePort 방식, 포트 8080)

1
kubectl expose deployment hello-minikube --type=NodePort --port=8080

2024-12-17-minikube-09

3. Service 접근

서비스 접근 방식은 Minikube를 통해 브라우저에서 바로 접근하는 방식과 kubectl post-forward 명령어를 통해 로컬 포트를 Minikube 서비스의 포트와 연결할 수 있는 방법 두 가지가 있습니다.

3-1. Minikube 를 통해 접근

1
minikube service hello-minikube

2024-12-17-minikube-10

3-2. kubectl을 사용하여 포트 전달하기

1
kubectl port-forward service/hello-minikube 7080:8080

2024-12-17-minikube-11

2024-12-17-minikube-12

  • minikube dashboard 변화 확인

2024-12-17-minikube-13

마치며


이번 포스팅에서는 Minikube 설치 및 실행을 통해 클러스터를 시작하고, 간단한 예제 서비스를 배포해 확인해 보았습니다.

다음 포스팅에서는 Minikube 클러스터에 ELK 스택을 구성하는 방법을 다루겠습니다.

감사합니다.

Reference


https://minikube.sigs.k8s.io/docs/start/?arch=%2Fmacos%2Farm64%2Fstable%2Fbinary+download

This post is licensed under CC BY 4.0 by the author.