[Kubernetes] Minikube 환경 구성 in Windows




Windows 환경에서 Minikube를 설치 테스트를 한 내용을 정리합니다.


Minikube 란?

Minikube는 로컬 환경에서 쉽게 Kubernetes 클러스터를 실행하고 관리할 수 있게 해주는 도구입니다.

Kubernetes는 대규모 컨테이너 오케스트레이션을 위한 강력한 플랫폼이지만, 로컬 환경에서 간단한 테스트나 개발 작업을 수행하기에는 너무 복잡할 수 있습니다.

이런 경우 Minikube를 사용하면 단일 노드 Kubernetes 클러스터를 로컬 머신에서 구동할 수 있어, 개발자나 테스트 환경에서의 효율적인 Kubernetes 활용이 가능해집니다.


Minikube 환경 구성

구성 환경

  • Windows 10
  • Docker Desktop

요구 사양


Minikube 설치

Power Shell을 관리자 권한으로 실행하고 아래 설치 명령어로 설치를 진행 합니다.

winget install minikube
PS C:\Windows\system32> winget install minikube
'msstore' 원본을 사용하려면 다음 계약을 확인해야 합니다.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
원본이 제대로 작동하려면 현재 컴퓨터의 두 글자 지리적 지역을 백 엔드 서비스로 보내야 합니다(예: "미국").

모든 원본 사용 약관에 동의하십니까?
[Y] 예  [N] 아니요: y
찾음 Kubernetes - Minikube - A Local Kubernetes Development Environment [Kubernetes.minikube] 버전 1.32.0
이 응용 프로그램의 라이선스는 그 소유자가 사용자에게 부여했습니다.
Microsoft는 타사 패키지에 대한 책임을 지지 않고 라이선스를 부여하지도 않습니다.
다운로드 중 https://github.com/kubernetes/minikube/releases/download/v1.32.0/minikube-installer.exe
  ██████████████████████████████  36.0 MB / 36.0 MB
설치 관리자 해시를 확인했습니다.
패키지 설치를 시작하는 중...
설치 성공
PS C:\Windows\system32>

Docker Desktop 리소스가 필요사양 보다 적을 경우 아래 블로그를 참고하여 리소스를 확장해 주어야 하겠습니다.


Minikube 시작

아래 명령어로 minikube를 시작합니다.

minikube start
PS C:\Windows\system32> minikube start
* Microsoft Windows 10 Pro 10.0.19045.3693 Build 19045.3693 의 minikube v1.32.0
* 자동적으로 docker 드라이버가 선택되었습니다. 다른 드라이버 목록: hyperv, virtualbox, ssh
* Using Docker Desktop driver with root privileges
* minikube 클러스터의 minikube 컨트롤 플레인 노드를 시작하는 중
* 베이스 이미지를 다운받는 중 ...
* 쿠버네티스 v1.28.3 을 다운로드 중 ...
    > preloaded-images-k8s-v18-v1...:  403.35 MiB / 403.35 MiB  100.00% 5.39 Mi
    > gcr.io/k8s-minikube/kicbase...:  453.74 MiB / 453.90 MiB  99.96% 5.75 MiB
* Creating docker container (CPUs=2, Memory=2048MB) ...
* 쿠버네티스 v1.28.3 을 Docker 24.0.7 런타임으로 설치하는 중
  - 인증서 및 키를 생성하는 중 ...
  - 컨트롤 플레인이 부팅...
  - RBAC 규칙을 구성하는 중 ...
* Configuring bridge CNI (Container Networking Interface) ...
* Kubernetes 구성 요소를 확인...
  - Using image gcr.io/k8s-minikube/storage-provisioner:v5
* 애드온 활성화 : storage-provisioner, default-storageclass

! C:\Program Files\Docker\Docker\resources\bin\kubectl.exe is version 1.25.4, which may have incompatibilities with Kubernetes 1.28.3.
  - Want kubectl v1.28.3? Try 'minikube kubectl -- get pods -A'
* 끝났습니다! kubectl이 "minikube" 클러스터와 "default" 네임스페이스를 기본적으로 사용하도록 구성되었습니다.
PS C:\Windows\system32>

Minikube 설치 상태 확인

minikube 상태 확인

minikube status
PS C:\Windows\system32> minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

PS C:\Windows\system32>

Minikube Pod 확인

아래 명령어로 Minikube에 구성된 파드를 확인 할 수 있습니다.

kubectl get pod -A
PS C:\Windows\system32> kubectl get pod -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS      AGE
kube-system   coredns-5dd5756b68-q47x2           1/1     Running   1 (59s ago)   3d12h
kube-system   etcd-minikube                      1/1     Running   1 (59s ago)   3d12h
kube-system   kube-apiserver-minikube            1/1     Running   1 (59s ago)   3d12h
kube-system   kube-controller-manager-minikube   1/1     Running   3 (59s ago)   3d12h
kube-system   kube-proxy-5j6xr                   1/1     Running   1 (59s ago)   3d12h
kube-system   kube-scheduler-minikube            1/1     Running   1 (59s ago)   3d12h
kube-system   storage-provisioner                1/1     Running   2 (59s ago)   3d12h
portainer     portainer-agent-5d979d5f6b-xspb5   1/1     Running   1 (59s ago)   3d12h
PS C:\Windows\system32>

Minikube Service 확인

아래 명령어로 Minikube에 구성된 서비스를 확인 할 수 있습니다.

kubectl get svc -A
PS C:\Windows\system32> kubectl get svc -A
NAMESPACE     NAME                       TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
default       kubernetes                 ClusterIP   10.96.0.1      <none>        443/TCP                  3d12h
kube-system   kube-dns                   ClusterIP   10.96.0.10     <none>        53/UDP,53/TCP,9153/TCP   3d12h
portainer     portainer-agent            NodePort    10.110.29.38   <none>        9001:30778/TCP           3d12h
portainer     portainer-agent-headless   ClusterIP   None           <none>        <none>                   3d12h
PS C:\Windows\system32>

Minikube 관리

기본 명령어

minikube pause

배포된 애플리케이션에 영향을 주지 않고 Kubernetes를 일시 중지합니다.

minikube unpause

일시 중지된 인스턴스를 일시 중지 해제합니다.

minikube stop

클러스터를 중지합니다.

minikube config set memory 9001

기본 메모리 제한을 변경합니다(다시 시작해야 함).

minikube addons list

쉽게 설치할 수 있는 Kubernetes 서비스 카탈로그를 찾아보세요.

minikube start -p aged --kubernetes-version=v1.16.1

이전 Kubernetes 릴리스를 실행하는 두 번째 클러스터를 만듭니다.

minikube delete --all

모든 Minikube 클러스터를 삭제합니다.


Portainer에서 컨테이너 확인

Portainer에서 구성된 minikube 컨테이너를 확인할 수 있습니다.

Portainer 관리 툴은 아래 포스트를 참고하시면 Docker Compose로 서비스를 올릴 수 있겠습니다.


참고자료




1 thought on “[Kubernetes] Minikube 환경 구성 in Windows”

Leave a Comment