본문 바로가기

minikube start

빠르게(?) 쿠버네티스를 접해 볼 수 있는 minikube 를 간단(?)하게 설치하고 시작해 봤다. minikube 의 시작은 minikube start 였다. 이 minikube start 명령이 한 일은 바로 쿠버네티스 클러스터 생성과 마스터 구성 인데, 그 과정에서 얼마나 많은 일들을 사용자 대신 해줬는지 로그를 보며 살펴보자. 


# minikube start --vm-driver=none

o   minikube v0.35.0 on linux (amd64)

>   Configuring local host environment ...


           ... 생략 ...


i   This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true

>   Creating none VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...

-   "minikube" IP address is 10.0.1.111

-   Configuring Docker as the container runtime ...

-   Preparing Kubernetes environment ...

@   Downloading kubeadm v1.13.4

@   Downloading kubelet v1.13.4

-   Pulling images required by Kubernetes v1.13.4 ...

-   Launching Kubernetes v1.13.4 using kubeadm ...

:   Waiting for pods: apiserver proxy etcd scheduler controller addon-manager dns

-   Configuring cluster permissions ...

-   Verifying component health .....

+   kubectl is now configured to use "minikube"

i   For best results, install kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl/

=   Done! Thank you for using minikube!



  1. VM 이든 none VM 이든 2CPU, 2GB 메모리, 20GB 디스크의 가상 node 생성.
  2. 컨텍스트(minikube) 를 생성하여 ip 를 할당하고, 컨테이너 런타임으로 docker 구성.
  3. docker 에서 쿠버네티스 이미지를 받고, Master node 측 도구인 kubeadm, kubelet 을 다운받아 kubeadm 으로 클러스터를 생성.
  4. Master 및 각종 pod 컨테이너 구성 : apiserver, proxy, etcd, scheduler, controller, addon-manager, dns
  5. 컴포넌트 상태 체크.
  6. 클러스터과 사용자가 통신할 수 있도록 kubectl 를 구성. (no VM 환경에서는 직접 다운로드)





클러스터를 하나 생성하는데 이렇게 많은 작업들이 필요하다. minikube 로 인해 대부분 자동으로 세팅이 되었지만 나중에 쿠버네티스를 사용할 때는 노드스펙, 네트워크, 디스크, 각종도구 설치, 클러스터 생성 등을 모두 직접 설정해야 한다. 이제 정말 서론은 끝났다. 다음은 진짜 쿠버네티스를 경험할 차례!