Minikube Addons

Tool/Kubernetes 2019. 3. 28. 21:40

minikube 에는 쿠버네이트 환경에서 사용할 수 있는 애드온들이 내장되어 있으며, 활성화(enabled), 비활성화(disabled), 열기(open) 등의 명령으로 제어할 수 있다.


- 내장 애드온 목록과 상태 보기

> minikube addons list

- addon-manager: enabled

- dashboard: disabled

- default-storageclass: enabled

- efk: disabled

- freshpod: disabled

- gvisor: disabled

- heapster: disabled

- ingress: disabled

- logviewer: disabled

- metrics-server: disabled

- nvidia-driver-installer: disabled

- nvidia-gpu-device-plugin: disabled

- registry: disabled

- registry-creds: disabled

- storage-provisioner: enabled

- storage-provisioner-gluster: disabled


  • dashboard : 클러스터의 웹 UI 툴
  • efk : 로그분석 툴(Elasticsearch, Fluentd 및 Kibana)
  • freshpod : 이미지 리빌드시 pod 재시작
  • gvisor : 컨테이너 런타임을 대체하여 안전하게 pod 실행
  • heapster : 컴퓨터 리소스 분석 및 클러스터 모니터링
  • ingress : 쿠버네티스 Ingress 리소스를 기반으로 구축된 NGINX 컨트롤러
  • logviewer : 경량 로그 툴
  • metrics-server : 클러스터 자원 사용률 및 활용도를 수집



1. heapster addon


꽤 많은 애드온이 있지만 어떤게 유용할지는 모르겠고, 모니터링에 관련된 heapster 와 dashboard 를 한 번 사용해 보기로 했다. 애드온을 활성화 시켜 사용하는 방법은 아래와 같다. 


> minikube addons enable heapster

-   dashboard was successfully heapster


이렇게 애드온을 활성화 시키면 kube-system 이라는 가상 클러스터(namespace) 에 아래와 같이 pod 와 service 가 생성된다.


> kubectl get pod,svc -n kube-system

NAME                                       READY     STATUS    RESTARTS   AGE

pod/coredns-86c58d9df4-krzfn               1/1       Running   1          1d

pod/coredns-86c58d9df4-zs6wk               1/1       Running   1          1d

pod/etcd-minikube                          1/1       Running   1          1d

pod/heapster-xtm6r                         1/1       Running   0          2m

pod/influxdb-grafana-lt6zz                 2/2       Running   0          2m

pod/kube-addon-manager-minikube            1/1       Running   1          1d

pod/kube-apiserver-minikube                1/1       Running   1          1d

pod/kube-controller-manager-minikube       1/1       Running   1          1d

pod/kube-proxy-88cvs                       1/1       Running   0          2h

pod/kube-scheduler-minikube                1/1       Running   1          1d

pod/storage-provisioner                    1/1       Running   4          1d


NAME                           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE

service/heapster               ClusterIP   10.107.156.3     <none>        80/TCP              2m

service/kube-dns               ClusterIP   10.96.0.10       <none>        53/UDP,53/TCP       1d

service/monitoring-grafana     NodePort    10.108.87.143    <none>        80:30002/TCP        2m

service/monitoring-influxdb    ClusterIP   10.110.101.236   <none>        8083/TCP,8086/TCP   2m


아래와 같이 애드온을 open 시키면 해당 애드온이 브라우저에 출력된다.


> minikube addons open heapster

-   Opening kubernetes service kube-system/monitoring-grafana in default browser...


여기서는 Service 타입으로 NodePort 를 사용했는데, 외부에서 포트를 통해 해당 service 로 접근할 수 있다. http://192.168.10.183:30002/ (node ip : node port)





2. dashboard addon


dashboard 애드온은 minikube 명령으로 즉시 사용할 수 있다.


> minikube dashboard

-   Enabling dashboard ...

-   Verifying dashboard health ...

-   Launching proxy ...

-   Verifying proxy health ...

-   Opening http://127.0.0.1:12255/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/ in your default browser...


dashboard 애드온을 enable 하고 proxy 를 사용하여 주소를 생성해 주는 일을 한번에 해결해 주었다. 이 Dashboard 는 쿠버네티스 클러스터의 웹 기반 UI 로써, 클러스터 및 실행중인 어플리케이션 관리 등을 할 수 있다.






WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,