Study/Kubernetes

[실습2] Minikube 사용해보기

Dream Amal 2025. 6. 25.

실습1에서 설치한 minikube를 어떻게 사용하는지 익혀봅시다!

 

[실습1] WSL에 Docker 및 Minikube 설치

01. WSL 설치app store에서 wsl 설치원하는 버전으로 설치 가능하기 내용은 Ubuntu 22.04를 기준으로 작성됨검색 > cmd > ubuntu 선택username 및 PW 설정하여 사용 가능02. Docker 설치 및 사용자 추가# docker 설치su

dream-coding.tistory.com

 

Minikube 란?

01. 기본 개념

  • 단일 노드 k8s 클러스터를 가상머신(VM) 또는 컨테이너 기반 환경(docker 등) 위에 생성해 줌
  • 로컨환경에서 k8s 클러스터를 쉽게 생성하여 사용할 수 있도록 도움
    • 실습, 테스트 등에 적합하나 실제 서비스 운용 시에 사용하기에는 어려움이 있음

02. 동작 방식

  1. 로컬 환경 탐지
    • 로컬에 설치된 하이퍼바이저(Docker, Hyper-V 등)를 탐지
    • 사용자가 지정하거나 자동 선택한 드라이버에 따라 k8s를 실행할 환경을 구성
  2. K8S 클러스터 생성
    • 선택된 드라이버 위에 단일노드의 k8s 클러스터를 구성
    • 해당 클러스터에 k8s의 모든 기본 구성 요소 (api-server, scheduler, kublet 등)이 포함되어 있음
  3. 내부 구성
    • minikube start 명렁어로 클러스터 생성 시
      1. vm 또는 컨테이너 실행
      2. k8s 바이너리를 해당 환경에 설치
      3. kubelet, kube-apiserver 등 핵심 컴포넌트 실행
      4. kubectl을 통해 명령을 보낼 수 있도록 kubeconfig 설정
  4. 서비스 접근 방법
    • minikube service [서비스 이름] 으로 NodePort를 통한 접근 가능
    • minikube tunnel 을 실행하여 LoadBalancer 타입 서비스로도 로컬에서 사용 가능함

03. minikube 주요 명령어

  • 실제로는 kubectl을 사용하는 경우가 더 많으나, 알고있으면 편리함
명령어 설명
minikube start 클러스터 시작 및 초기화
minikube stop 클러스터 정지
minikube delete 클러스터 삭제
minikube status 상태 확인
minikube dashboard 웹 UI 실행
minikube service [서비스명] 로컬 브라우저에서 서비스 접근
minikube tunnel LoadBalancer 타입 서비스 사용 가능하게 터널 생성

Minikube Dashboard

  • 현재 k8s의 정보를 모아서 확인할 수 있는 UI가 생성됨
minikube dashboard

해당 url로 접근 시 하기와 같이 쿠버네티스 대시보드 확인 가능

 

 

Hello Kubernetes 실습

❗ 명령어에 익숙하지 않아도 괜찮아요! 
      계속해서 반복적으로 학습할 예정이니 이렇게 쓰는구나.. 생각만 하면서 따라해도 괜찮습니다.

01. Hello 앱 배포

# 현재 배포되어 있는 pod 확인
kubectl get po

# Hello 앱 배포하기
## hello-minikube 라는 이름의 deployment를 생성하고 HTTP echo 서버 이미지를 사용
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0

# NodePort 타입의 서비스를 생성하여 외부 접속이 가능하도록 노출
kubectl expose deployment hello-minikube --type=NodePort --port=8080

# 웹 브라우저로 접속 확인
minikube service hello-minikube

 

02. 서비스 및 배포 상태 확인

# 현재 배포되어 있는 pod 확인
kubectl get po

# 현재 배포되어 있는 service 확인
kubectl get svc

# 현재 배포되어있는 deployment 확인
kubectl get deploy

# TIP : 전체 네임스페이스에 있는 모든 리소스 확인
kubectl get all --all-namespaces

 

03. 배포된 앱 정리(삭제)

# deployment 삭제
kubectl delete deploy hello-minikube

# service 삭제
kubectl delete svc hello-minikube

# get 명령어로 삭제되었음을 확인할 수 있음

# minikube 일시 정지
minikube stop

728x90

댓글