전공영역 공부 기록

쿠버네티스 대시보드 설치

악분 2021. 1. 3. 13:47
반응형

영상: youtu.be/rF37usHuzJ8

 

1. 대시보드란?

쿠버네티스 대시보드는 핵심 리소스(예: pod, deployment 등)를 웹브라우저 UI로 표현한 서비스입니다. 

 

그림1 대시보드 메인페이지

 

2. 수정한 helm소개

helm install 명령어로 쉽게 한 줄 명령어로 설치 가능합니다. 하지만, 불편한 기본 설정이 있어서 몇 가지 수정했습니다. (수정한 내용은 github Readme.md에서 자세히 볼수 있습니다.)

  1. 쓰기 권한 수정

    - 기본 설정은 읽기 권한만 가능

  2. 대시보드 로그인 해제시간(timeout) 해제

    - 기본 설정은 아무 작업도 하지 않은 시간이 약 10분이 지나면 로그아웃

 

▶ 공식 helm: github.com/kubernetes/dashboard/tree/master/aio/deploy/helm-chart/kubernetes-dashboard

수정한 helm: github.com/choisungwook/kubernetes_practice/tree/main/helm/11_dashboard/charts

 

 

3. 설치

제가 수정한 helm을 다운로드 받고(git clone) helm install 명령어로 실행하시면 됩니다. 제가 설정한 인자는 네임스페이스 자동 생성, 서비스 타입 변경 등이 있습니다. 네임스페이스는 dashbord로 설정했습니다.

  • -n: namespace
  • --create-namespace: namespace없을 때 자동 생성
  • --dependency-update: 디펜더시 자동 설치
  • --set=service.type=NodePort: 포트타입을 NodePort로 변경
helm install dashboard -n dashboard --dependency-update --create-namespace --set=service.type=NodePort ./charts

 

4. 접속

 

쿠버네티스 대시보드 접속 주소는 아래 명령어를 입력하면 알 수 있습니다.

export NODE_PORT=$(kubectl get -n dashboard -o jsonpath="{.spec.ports[0].nodePort}" services dashboard-kubernetes-dashboard)
export NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}")
echo https://$NODE_IP:$NODE_PORT/

그림2 대시보드 접속 주소

 

 

 

대시보드 접속시 토큰(인증정보)이 필요합니다. 

그림3 로그인 페이지

 

토큰은 dashboard 네임스페이스의 admin secret에 있습니다.

kubectl describe secret admin-user-token-xxxx -n dashboard

반응형