Minikube Tutorial
Overview
단일 노드 쿠버네티스 클러스터(Minikube
)를 구동하는 방법에 대해서 포스팅하겠습니다.
Prerequisites
Linux, Window, Mac 전부 가능하지만 저는 Linux서버로 작업해보겠습니다.
타 os는 아래 링크를 참고해주세요.
kubernetes.io/Minikube 설치
사용한 리눅스 서버 spec:
os : RHEL 8.1
arch : ppc64le
(중요)
Docker 설치
먼저 도커를 설치해줍니다.
x86 architecture라면 epel만 레포지토리로 추가되면 설치됩니다.
repo추가 :
$ cat > /etc/yum.repos.d/docker.repo << EOF
[docker]
name=Docker
baseurl=http://ftp.unicamp.br/pub/ppc64el/rhel/7/docker-ppc64el/
enabled=1
gpgcheck=0
EOF
설치 및 서비스 시작 :
$ sudo yum install -y docker-ce
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ sudo systemctl status docker
Kubectl 설치
쿠버네티스 repo추가 :
$ cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-ppc64le
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
x86이면 baseurl부분만 아래와 같이 바꿔주세요.
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
kubectl 설치 :
$ sudo yum install -y kubectl
Minikube 구성
이제 minikube를 설치해볼차례입니다.
x86 계열
x86계열은 kubernetes에서 공식적으로 제공하는 파일을 가져다 쓰시면 됩니다.
$ wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
ppc64le계열
아쉽게도 ppc64le로는 빌드된 파일이 없어서, 제가 임시로 빌드해둔 이미지를 사용해주시면 될 것 같습니다.
최신 release 버전인 1.7.3 버전으로 빌드된 파일입니다.(20.03.06기준)
$ wget https://github.com/GRuuuuu/minikube-ppc64le-binary/releases/download/v1.7.3/minikube
$ chmod +x minikube
그 다음 바로 클러스터를 구성해줍니다.
$ ./minikube start --vm-driver=none
vm-driver
는 vm환경을 어떤걸 사용할거냐라고 묻는 옵션이고, 저는 로컬에 바로 실행시킬거니 none
으로 설정해줍니다.
그럼 아래와 비슷한 출력을 확인할 수 있습니다.
* minikube v1.7.3 on Redhat 8.1 (ppc64le)
* Using the none driver based on user configuration
* Running on localhost (CPUs=4, Memory=7640MB, Disk=61424MB) ...
* OS release is Red Hat Enterprise Linux 8.1 (Ootpa)
* Preparing Kubernetes v1.17.3 on Docker 18.03.1-ce ...
> kubelet.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
> kubectl.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
> kubeadm.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
> kubeadm: 36.12 MiB / 36.12 MiB [---------------] 100.00% 73.03 MiB p/s 1s
> kubectl: 40.00 MiB / 40.00 MiB [---------------] 100.00% 51.93 MiB p/s 1s
> kubelet: 102.52 MiB / 102.52 MiB [-------------] 100.00% 55.16 MiB p/s 2s
* Launching Kubernetes ...
* Enabling addons: default-storageclass, storage-provisioner
* Configuring local host environment ...
*
! The 'none' driver provides limited isolation and may reduce system security and reliability.
! For more information, see:
- https://minikube.sigs.k8s.io/docs/reference/drivers/none/
*
! kubectl and minikube configuration will be stored in /root
! To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:
*
- sudo mv /root/.kube /root/.minikube $HOME
- sudo chown -R $USER $HOME/.kube $HOME/.minikube
*
* This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
* Waiting for cluster to come online ...
* Done! kubectl is now configured to use "minikube"
* For best results, install kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl/
제대로 설치되었는지 확인하려면 :
$ ./minikube status
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
노드를 확인해보면 :
$ kubectl get node
NAME STATUS ROLES AGE VERSION
p615-kvm2 Ready master 14m v1.17.3
또 하나 재밌는 기능중에 하나는 실제 full kubernetes와 같이 dashboard기능도 제공한다는 점입니다.
아래 명령어로 활성화시킬 수 있습니다.
$ minikube dashboard
물론 외부에서 접근하려면 svc오픈과 svc type변경을 해주어야 합니다.
마지막으로 클러스터를 삭제하려면 delete를 사용합니다.
$ minikube delete
* Uninstalling Kubernetes v1.17.3 using kubeadm ...
* Deleting "minikube" in none ...
* Removed all traces of the "minikube" cluster.
댓글남기기