IT/Kubernetes (k8s)

가상머신에 Minikube 설치하기 (with Docker)

잼니크 2023. 7. 3. 00:55
반응형

안녕하세요 잼니크입니다!

이 글에서는 쿠버네티스(Kubernetes,k8s)를 간편하게 쓸 수 있는 방법 중 하나인 미니큐브(minikube)를 설치하는 과정을 남기려고 합니다. 

원래 쿠버네티스를 구성하기 위해서는 아주 복잡한 설치 과정이 필요하지만 미니큐브를 사용하면 쿠버네티스 학습이나 테스트 환경을 간단하게 설정할 수 있습니다. 

 

1. Minikube 요구사항

먼저 공식문서를 보고 필요한 요구사항을 파악합니다. 공식 문서 링크는 아래와 같습니다. 

https://minikube.sigs.k8s.io/docs/start/

 

minikube start

minikube is local Kubernetes

minikube.sigs.k8s.io

공식 문서에 따르면 미니큐브 구동을 위해서는 최소 2 core 이상, 2GB 이상의 메모리, 20GB 이상의 저장장치가 필요합니다. 그리고 미니큐브를 위해  도커(Docker)나 포드맨(Podman) 같은 컨테이너나 버추얼박스(VirtualBox)나 KVM 같은 가상머신을 기동할 수 있어야 합니다. 

 

2. 사전 준비사항

저는 쿠버네티스 공부를 위해서 사용할 것이기 때문에 가상머신에 우분투를 설치하고, 우분투에 도커를 설치를 먼저 진행했습니다.

우분투를 설치하는 과정과 도커를 설치하는 과정은 아래 링크를 통해 볼 수 있습니다. 

2023.07.02 - [IT/Linux] - Ubuntu 22.04 서버 버전 설치

 

Ubuntu 22.04 서버 버전 설치

안녕하세요! 잼니크입니다. 오늘은 우분투 22.04 서버를 설치해 보겠습니다. 새삼스럽게 갑자기 우분투 설치 문서를 작성하는 이유는 그동안 잘 사용하지 않았기 때문에 새로 생긴 함정(?) 빠르고

gam1532.tistory.com

2023.07.02 - [IT/Kubernetes (k8s)] - Docker를 설치해 봅시다!

 

Docker를 설치해 봅시다!

안녕하세요. 잼니크 입니다. 이번 글에서는 도커(Docker)를 설치해 보겠습니다. 사실 카테고리를 보면 아시겠지만 k8s에 대한 내용을 주로 다룰텐데... 그 전에 설치 및 환경 설정을 위해 간단하게

gam1532.tistory.com

도커까지 설치가 끝나면 그 다음은 미니큐브를 진행할 수 있습니다. 

 

3. Minikube 준비하기 

공식 문서에 따르면 리눅스는 바이너리를 직접 설치하거나, 패키지로 설치할 수 있습니다. 저는 바이너리를 이용해서 설치를 진행하겠습니다. 아래 명령을 입력하면 미니큐브 실행을 위한 바이너리 준비가 끝납니다.

# 쉘에서 실행
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# 확인
whereis minikube

3. Minikube 시작하기

미니튜브를 시작하면 자동으로 필요한 파일을 다운로드 하고 시작합니다. 시작은 아래 명령어를 실행하면 됩니다 

# 쉘에서 실행
minikube start

위 그림과 같은 메시지가 나온다면, 미니큐브를 통해 쿠버네티스 설치가 끝났습니다. 그러나 아직 몇가지 세팅이 더 필요합니다. 친절하게도 쿠버네티스의 명령을 내릴 kubectl이 없는것을 알고, 어떤 명령을 실행해 달라고 알려줍니다. 

# 쉘에서 실행
minikube kubectl -- get pods -A

명령을 실행하면 미니큐브가 구성한 쿠버네티스 버전에 맞는 kubectl을 다운로드 받고 쿠버네티스에서 실행중인 pod의 목록을 보는 명령인 get pods -A을 실행해 줍니다. 대충 보니 쿠버네티스의 핵심 컴포넌트인 etcd, apiserver가 떠 있는 것을 볼 수 있습니다. 

 

이후 쿠버네티스 명령 실행을 위해 kubectl를 다운로드 받아서 설치해도 되지만, 저는 aliase를 적용해서 사용하고 명령이 잘 되는지 확인해 보겠습니다. 

# 쉘에서 실행
alias kubectl="minikube kubectl --"
kubectl get nodes

그 다음, 테스트를 위해 pod 한개를 만들고 정보를 출력해 보겠습니다. 

# 쉘에서 실행
# Pod 생성
kubectl run test --image=nginx
# Pod 정보 출력
kubectl describe pod test

미니큐브 설치 한 다음 pod를 생성해서 간단하게 동작을 확인 했습니다.

질문 있으시면 답글로 알려주세요

고생하셨습니다!

반응형