본문 바로가기
개발/Cloud

[kubernetes] 쿠버네티스 dashboard 배포 / 접속하기

by yo.na 2022. 2. 23.

 

1. Metrics-server 생성하기 / 확인하기

// root 에서 metrics-server 설치
ubuntu@master1:~$ sudo -i
root@master1:~# kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
serviceaccount/metrics-server created

// metrics-server 생성된 것 확인 
root@master1:~# kubectl get po -A

NAMESPACE          NAME                                       READY   STATUS    RESTARTS       AGE

kube-system        kube-scheduler-master1                     1/1     Running   2 (4h7m ago)   6d4h
kube-system        metrics-server-8cc6d-tlj74                 0/1     Running   0              5s


root@master1:~# kubectl -n kube-system get deploy,po
NAME                             READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns          2/2     2            2           6d4h
deployment.apps/metrics-server   0/1     1            0           92s

NAME                                  READY   STATUS    RESTARTS       AGE
pod/metrics-server-8cc6d-tlj74        0/1     Running   0              92s

 

2. metrics-server 편집

root@master1:~# kubectl -n kube-system edit deploy metrics-server 
deployment.apps/metrics-server edited

// spec 에서 아래와 같은지 확인, 변경

spec:

   containers:

   - args:

     - --cert-dir=/tmp

     - --secure-port=4443

     - --kubelet-insecure-tls      # 추가         

     - --kubelet-preferred-address-types=InternalIP   # 추가

     image: k8s.gcr.io/metrics-server-amd64:v0.3.6

     imagePullPolicy: IfNotPresent

     name: metrics-server

 

3. 확인 

root@master1:~# kubectl -n kube-system logs metrics-server-5    tabkey누르기

root@master1:~# kubectl top pods --all-namespaces

NAMESPACE          NAME                                       CPU(cores)   MEMORY(bytes)             
kube-system        metrics-server-5                           3m           14Mi            



root@master1:~# kubectl top nodes
NAME      CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master1   309m         15%    1712Mi          45%       
worker1   82m          4%     842Mi           22%  


root@master1:~# exit
logout

 

4. 대시보드 UI 배포하기

edit selector -> type -> NodePort로 변경

ubuntu@master1:~$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml


ubuntu@master1:~$ kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard
service/kubernetes-dashboard edited

// selector -> type -> NodePort로 변경

 

4-1. NodePort 로 할당된 포트 확인 

ubuntu@master1:~$ kubectl get svc -n kubernetes-dashboard

NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP                     8000/TCP        88s
kubernetes-dashboard        NodePort                      443:1111/TCP   88s

 

 

4-2. 쿠버네티스 대시보드 접속하기

- kubernetes-dashboard 의 port 확인 443:1111/TCP   

- 할당된 포트 1111 

- 마스터 공인 IP 확인

-> https://마스터공인IP:할당된포트 

해당 주소로 접속 ->  주의요함 ~~~ 나옴. -> 안전하지 않은 ~~ 링크 클릭 -> 들어가기

 

 

5. 쿠버네티스 대시보드 로그인하기

- name에 token 들어간 것 확인 

- token 내용 복사

- token 파일 만들어서 토큰 복붙

ubuntu@master1:~$ kubectl -n kubernetes-dashboard get secrets
NAME                               TYPE                                  DATA   AGE
kubernetes-dashboard-token-        kubernetes.io/service-account-token   3      7m58s



ubuntu@master1:~$ kubectl -n kubernetes-dashboard describe secrets kubernetes-dashboard-token-탭키누르기

token:    <여기있는 토큰 복사하기>



ubuntu@master1:~$ cat > token.hyh

토큰복붙

5-1. 쿠버네티스 대시보드 로그인

- 토큰 복붙하기

5-2. 대시보드에서 정보 확인

- clusterrolebinding 해주기 

ubuntu@master1:~$ kubectl create clusterrolebinding kubernetes-dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-admin created

- 대시보드에서 확인 가능 

 

 

참고 

https://github.com/kubernetes-sigs/metrics-server/

 

GitHub - kubernetes-sigs/metrics-server: Scalable and efficient source of container resource metrics for Kubernetes built-in aut

Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines. - GitHub - kubernetes-sigs/metrics-server: Scalable and efficient source of container reso...

github.com

https://kubernetes.io/ko/docs/tasks/access-application-cluster/web-ui-dashboard/

 

쿠버네티스 대시보드를 배포하고 접속하기

웹 UI(쿠버네티스 대시보드)를 배포하고 접속한다.

kubernetes.io