Tech Blog
[MLOps] 6. VM에서 minikube 사용하기 본문
지난 글에서 살펴보았던 Kubernetes는 컨테이너화된 애플리케이션을 배포 및 관리하기 위한 오픈소스 컨테이너 오케스트레이션 플랫폼입니다. Minikube는 로컬 환경에서 단일 노드 Kubernetes 클러스터를 실행하기 위한 도구입니다. Minikube를 사용하면 로컬 환경에서 Kubernetes를 학습하고 익힐 수 있으며, 개발 및 테스트용 애플리케이션을 빠르게 배포할 수 있습니다. 또한, 로컬 환경에서 동작하는 애플리케이션을 Kubernetes에 배포하기 전에 테스트하고 문제를 해결할 수 있는 편리한 환경을 제공합니다.
minikube로 kubernetes를 사용하기 위해 minikube와 kubectl을 설치해주어야 합니다. 본 글에서는 두 가지를 설치하는 과정을 정리합니다.
1. 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은 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을 설치하고, 정상적으로 동작하는 것을 확인하였습니다. 다음 글에서는 이를 기반으로 쿠버네티스 실습을 진행하도록 하겠습니다.
'MLOps > 개념 정리' 카테고리의 다른 글
[MLOps] 5. 쿠버네티스의 기본 개념과 YAML (0) | 2023.02.25 |
---|---|
[MLOps] 4. Docker Image와 Dockerfile (0) | 2023.02.23 |
[MLOps] 3. Docker의 기본적인 명령어 정리 (0) | 2023.02.22 |
[MLOps] 2. Docker 실습 환경 셋팅 (VirtualBox, Ubuntu) (0) | 2023.02.21 |
[MLOps] 1. MLOps와 컨테이너의 개념 (feat, 도커/쿠버네티스) (0) | 2023.02.20 |