본문 바로가기

취업/프로젝트

쿠버네티스 대시보드 배포하기 / 2025.01.24

쿠버네티스 환경 구축을 완료했으니 대시보드를 배포하고 접속해보자.

대시보드 관련 정보는 아래 페이지에서 확인할 수 있다.

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

 

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

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

kubernetes.io


▶ 대시보드 배포

먼저, kubectl 명령어를 사용해 dashboard pod를 배포한 후, pod가 제대로 생성되었는지 확인한다.

# 대시보드 배포
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

# Pod 확인
kubectl get pods -n kubernetes-dashboard

 


▶ Service Type 변경

쿠버네티스 대시보드를 외부에서 접속할 수 있도록 서비스 타입을 ClusterIP에서 NodePort로 변경한다.

# 쿠버네티스 대시보드 수정
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

 

이때, NodePort를 직접 지정해도 되고, 지정 하지않으면 랜덤으로 번호가 정해진다.


▶ NodePort 변경 및 포트 번호 확인

쿠버네티스 대시보드 서비스의 타입이 NodePort로 변경되었는지, 포트번호는 무엇인지 확인한다.

아래 사진에서는 포트 번호가 31662로 랜덤 지정되었다.

# svc 확인
kubectl get svc -n kubernetes-dashboard


▶ 쿠버네티스 대시보드 접속

인터넷 창을 열고 아래 주소를 입력한다.

# 예시 https://192.168.159.128:31662/#/login
https://<MN 노드IP>:<dashborad port>/#/login

 

쿠버네티스 대시보드에 접속하면 토큰을 요구한다.


▶ 대시보드 관리자 계정 생성

토큰을 발급받기 이전에 대시보드 계정을 생성해야한다.

먼저, 임의의 yaml 파일을 생성하고 아래 ServiceAccount와 Role을 복사 붙여 넣기한다.

이후 kubectl 명령어로 yaml 파일을 적용해 계정을 생성한다.

# yaml 파일 생성
vim dashboard.yaml

# ServiceAccount와 Role 입력
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
  
# yaml 파일 적용
kubectl apply -f dashboard.yaml

▶ 토큰 발급받기

아래 명령어를 입력하면 토큰 값을 얻을 수 있다. 

kubectl -n kubernetes-dashboard create token admin-user

 

이 토큰 값을 복사해 대시보드에 붙여넣기하면, 쿠버네티스 대시보드에 접속할 수 있다.