Minikube는 Kubernetes 클러스터를 로컬 PC에 실행할 수 있도록 지원해주는 툴이다. 주로 Kubenetes를 학습하기위해서 사용한다. Minikube의 핵심 목표가 kubnernetes의 모든 기능을 로컬에서 제공하는 것이다.
Minikube가 제공하는 기능은 아래와 같다.
- LoadBalancer : minikube tunnel
- Multi-cluster : minikube start -p <name>
- NodePorts : minikube service
- Persistent Volumes
- Ingress
- Dashboard : minikube dashboard
- Container runtimes : start --container-runtime
- Configure apiserver and kubelet options
리눅스 운영체제를 기준으로 한다. 가상화를 지원하는 CPU인지 확인하자. vmx 혹은 svm을 포함한 문자열이 출력되야 한다.
# grep -E --color 'vmx|svm' /proc/cpuinfo
- vmx(Hardware virtualization)은 intel의 가상화기술이다.
- svm(Secure virtual machine)는 AMD의 가상화기술이다.
혹은 docker를 사용하는 방법도 있다. 머리 복잡하게 하지 말고 그냥 docker 설치하자. 이 문서는 docker를 기준으로 한다.
$ docker version
Client:
Version: 18.09.6
API version: 1.39
Go version: go1.10.8
Git commit: 481bc77
Built: Sat May 4 02:35:57 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.6
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 481bc77
Built: Sat May 4 01:59:36 2019
OS/Arch: linux/amd64
Experimental: false
kubectl을 설치한다. 자세한 내용은
install kubectl를 확인한다.
# curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
# sudo cp kubectl /usr/bin
# sudo +x /usr/bin/kubectl
# kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:12:48Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
이글을 쓰고 있는 2020년 8월 kubectl 버전은 1.18이다.
# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube