minikube 설치
원문출처 : https://minikube.sigs.k8s.io/docs/start/
CentOS 7 에 minikube 를 설치하는 방법을 설명한다.
버전은 문서 작성일 2021-04-23
버전을 기준으로 되어있다.
사전 준비사항
minikube
가 동작하기 위해서는 사전에 컨테이너 엔진이 설치가 되어있어야 한다. minikube
에서 지원하는 컨테이너 엔진은 아래와 같다.
- Docker
- Hyperkit
- Hyper-V
- KVM
- Parallels
- Podman
- VirtualBox
- VMWare
위의 가상화/컨테이너 엔진중 하나가 설치되어있어야 한다.
본 문서에서는 기본적으로 Docker
가 설치되어있다고 가정하고 진행한다.
CentOS에서 Docker
설치는 아래와 같다.
[root@minikube ~]# yum -y install docker Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.kakao.com * extras: mirror.kakao.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package docker.x86_64 2:1.13.1-204.git0be3e21.el7 will be installed --> Processing Dependency: docker-common = 2:1.13.1-204.git0be3e21.el7 for package: 2:docker-1.13.1-204.git0be3e21.el7.x86_64 ... 생략 ... subscription-manager-rhsm-certificates.x86_64 0:1.24.45-1.el7.centos usermode.x86_64 0:1.111-6.el7 yajl.x86_64 0:2.0.4-4.el7 Complete!
minikube 설치
minikube
설치는 공식문서에 나온대로 binary
와 debian
/ redhat
계열 설치방법등 여러가지가 있는데 이 문서에서는 CentOS 7
을 기준으로 rpm
으로 설치하는 방법을 진행하도록 하겠다.
필요 패키지 파일minikube-latest.x86_64.rpm
을 다운로드 받아 설치하도록 한다.
[root@minikube ~]# curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 14.2M 100 14.2M 0 0 3866k 0 0:00:03 0:00:03 --:--:-- 3866k [root@minikube ~]# [root@minikube ~]# rpm -ivh minikube-latest.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:minikube-1.19.0-0 ################################# [100%] [root@minikube ~]#
설치가 완료되었다. 매우 간단하다.
minikube 실행
minikube를 실행하는 방법은 간단하다. minikube start
명령어를 입력한다.
[root@minikube ~]# minikube start
docker가 없거나 docker 데몬이 기동되지 않은경우
아래와 같은 오류가 나는경우는 docker
가 설치되어있지 않거나 docker
데몬이 기동중이지 않은 상황이다.
* minikube v1.19.0 on Centos 7.9.2009 (kvm/amd64) * Unable to pick a default driver. Here is what was considered, in preference order: - vmware: Not installed: exec: "docker-machine-driver-vmware": executable file not found in $PATH - docker: Not healthy: "docker version --format {{.Server.Os}}-{{.Server.Version}}" exit status 1: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? - kvm2: Not installed: exec: "virsh": executable file not found in $PATH - podman: Not installed: exec: "podman": executable file not found in $PATH - virtualbox: Not installed: unable to find VBoxManage in $PATH X Exiting due to DRV_NOT_DETECTED: No possible driver was detected. Try specifying --driver, or see https://minikube.sigs.k8s.io/docs/start/
systemctl start docker
명령어로 docker
데몬을 기동하여 준다.
[root@minikube ~]# systemctl enable docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. [root@minikube ~]# systemctl restart docker
root privileges 문제
[root@minikube ~]# minikube start * minikube v1.19.0 on Centos 7.9.2009 (kvm/amd64) * Automatically selected the docker driver. Other choices: none, ssh * The "docker" driver should not be used with root privileges. * If you are running minikube within a VM, consider using --driver=none: * https://minikube.sigs.k8s.io/docs/reference/drivers/none/ X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
docker
로 기동시에 root
권한을 사용하게 되면 보안 문제가 발생할수 있으므로 root
권한을 사용하지 말라고 권장하는 메셎이다. 이런경우 내용에 나온대로 --driver=none
옵션을 줘서 실행하도록 한다.
conntrack 패키지 문제
[root@minikube ~]# minikube start --driver=none * minikube v1.19.0 on Centos 7.9.2009 (kvm/amd64) * Using the none driver based on user configuration X Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.20.2 requires conntrack to be installed in root's path
위의 메세지는 conntrack
패키지가 없어서 발생하는 문제이다. 쿠버네티스 네트워크 구성시에 netfilter
나 conntrack
기능을 사용하게 되는데 이때 필요한 패키지가 없는 상황이다. 해당 패키지를 설치해 주면 해결된다.
[root@minikube ~]# yum -y install conntrack Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. Loading mirror speeds from cached hostfile * base: mirror.kakao.com * extras: mirror.kakao.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package conntrack-tools.x86_64 0:1.4.4-7.el7 will be installed ... 생략 ... Installed: conntrack-tools.x86_64 0:1.4.4-7.el7 Dependency Installed: libnetfilter_cthelper.x86_64 0:1.0.0-11.el7 libnetfilter_cttimeout.x86_64 0:1.0.0-7.el7 libnetfilter_queue.x86_64 0:1.0.2-2.el7_2 Complete! [root@minikube ~]#
minikube 기동
[root@minikube ~]# minikube start --driver=none