목차

minikube 설치

원문출처 : https://minikube.sigs.k8s.io/docs/start/

CentOS 7 에 minikube 를 설치하는 방법을 설명한다.
버전은 문서 작성일 2021-04-23 버전을 기준으로 되어있다.

사전 준비사항

minikube 가 동작하기 위해서는 사전에 컨테이너 엔진이 설치가 되어있어야 한다. minikube 에서 지원하는 컨테이너 엔진은 아래와 같다.

위의 가상화/컨테이너 엔진중 하나가 설치되어있어야 한다.

본 문서에서는 기본적으로 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 설치는 공식문서에 나온대로 binarydebian / 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패키지가 없어서 발생하는 문제이다. 쿠버네티스 네트워크 구성시에 netfilterconntrack기능을 사용하게 되는데 이때 필요한 패키지가 없는 상황이다. 해당 패키지를 설치해 주면 해결된다.

[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