Tech Blog

[MLOps] 6. VM에서 minikube 사용하기 본문

MLOps/개념 정리

[MLOps] 6. VM에서 minikube 사용하기

agsu 2023. 2. 25. 20:49

 지난 글에서 살펴보았던 Kubernetes는 컨테이너화된 애플리케이션을 배포 및 관리하기 위한 오픈소스 컨테이너 오케스트레이션 플랫폼입니다. Minikube는 로컬 환경에서 단일 노드 Kubernetes 클러스터를 실행하기 위한 도구입니다. Minikube를 사용하면 로컬 환경에서 Kubernetes를 학습하고 익힐 수 있으며, 개발 및 테스트용 애플리케이션을 빠르게 배포할 수 있습니다. 또한, 로컬 환경에서 동작하는 애플리케이션을 Kubernetes에 배포하기 전에 테스트하고 문제를 해결할 수 있는 편리한 환경을 제공합니다.

 

 minikube로 kubernetes를 사용하기 위해 minikube와 kubectl을 설치해주어야 합니다. 본 글에서는 두 가지를 설치하는 과정을 정리합니다. 

 

1. minikube 설치하기 

minikube 설치 공식문서

 

 

우선 minikube를 사용하기 위한 최소 사양은 다음과 같습니다.

  • CPU : 2 이상
  • Memory : 2GB 이상
  • Disk : 20 GB 이상

 

본 글에서 사용하는 가상 머신의 사양은 CPU 3, Memory 2GB, Disk 40GB로 맞춰놓고 실습을 진행합니다.  

 

 

v1.22.0 버전 설치 

curl -LO https://storage.googleapis.com/minikube/releases/v1.22.0/minikube-linux-amd64

 v1.22.0 자리에 원하는 버전을 명시해주면 됩니다. 위 명령어를 실행하면, minikube-linux-amd64 라는 파일이 하나 생성됩니다. 

 

sudo install minikube-linux-amd64 /usr/local/bin/minikube

위의 명령어를 치면 설치가 완료됩니다. 

 

 

 

설치 확인 

minikube --help

 

 

 

버전 확인 

minikube version
minikube version: v1.22.0
commit: a03fbcf166e6f74ef224d4a63be4277d017bb62e

 

 

 

 

 

2. kubectl 설치하기 

  kubectl 설치 공식문서

 

kubectl은 kubernetes cluster (server)에 요청을 간편하게 보내기 위해 사용되는 client 툴입니다. 

 

v1.22.1 버전 설치

curl -LO https://dl.k8s.io/release/v1.22.1/bin/linux/amd64/kubectl

kubectl도 마찬가지로 v1.22.1 자리에 원하는 버전을 설치합니다. 

 

 

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

그다음 위의 명령어를 작성하면 설치가 완료됩니다. 

 

 

 

버전 확인 

kubectl version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.1", GitCommit:"632ed300f2c34f6d6d15ca4cef3d3c7073412212", GitTreeState:"clean", BuildDate:"2021-08-19T15:45:37Z", GoVersion:"go1.16.7", Compiler:"gc", Platform:"linux/amd64"} The connection to the server localhost:8080 was refused - did you specify the right host or port?

 

마지막에 The connection to the server localhost:8080 was refused - did you specify the right host or port? 메시지는 에러를 의미합니다. kubectl version 명령어는 client 의 버전kubernetes server 의 버전을 모두 출력하는 명령어이기 때문에 발생하는 오류입니다. 현재 kubernetes server 를 생성하지 않은 상태이기 때문에 client 의 버전만 정상적으로 출력되면 됩니다. 

 

 

 

 

 

3. minikube 시작하기 

minikube start --driver=docker

minikube는 docker drive를 기반으로 하여 시작됩니다.

위와 같은 명령어를 치면, 사진처럼 필요한 도커 이미지들을 다운받습니다. 다운로드가 완료되면 다운받은 이미지들을 기반으로 minikube를 구동합니다.

 

 

 

minikube 상태 확인 

minikube status
minikube type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

위와 같은 출력 결과가 나와야 합니다. 

 

 

 

pod 생성 확인 

kubectl 을 사용하여 minikube 내부의 default pod 들이 정상적으로 생성되었는지 확인합니다. 

kubectl get pod -n kube-system

출력결과는 위의 사진과 같이 모든 pod들의 status가 Running 상태여야합니다.

 

 

 

minikube 삭제 

minikube delete

 

 

 

 

지금까지 minikube, kubectl을 설치하고, 정상적으로 동작하는 것을 확인하였습니다. 다음 글에서는 이를 기반으로 쿠버네티스 실습을 진행하도록 하겠습니다. 

 

 

 

 

 

 

 

 

 

 

 

 

Comments