이번 글에서는 Kubernetes Dashboard 설정 과정에 대해 정리할 예정이다.
Kubernetes Dashboard는 클러스터를 시각적으로 관리할 수 있는 웹 기반 UI이다.
이를 통해 리소스의 상태를 쉽게 파악하고 관리할 수 있기 때문에 Dashboard 설정을 진행했다.
Deploying Dashboard UI
Helm 설치
공식문서에서 위 그림과 같이 현재 대시보드는 helm 기반 설치만 지원한다고 되어있다.(helm이란 kubernetes 애플리케이션을 배포하고 관리하기 위한 패키지 매니저로 볼 수 있다.)
따라서, helm이 설치되어 있지 않으면 먼저 이를 설치해주어야한다.
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
helm version # 설치 확인
Dashboard 설치
다음으로 kubernetes-dashboard repository를 추가해주고, Helm을 사용해 Kubernetes 대시보드를 설치한다. .
# Add kubernetes-dashboard repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard
Dashboard Service 타입 변경
Dashboard를 외부에서 접근할 수 있게 NodePort 형식으로 바꿔주어야한다.
kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard-kong-proxy
위 그림과 같이 targetPort: 8443 밑에 nodePort: <원하는 포트>를 추가하고, type을 NodePort로 변경해준다.
포트포워딩
node port로 변경했으니, 포트포워딩을 진행해야한다.
실제 dashboard가 띄워져있는 서버를 확인하고 이에 맞게 포트포워딩을 진행했다.
접속 확인
실제 접속을 해보면 잘 접속되는 것을 확인할 수 있다.
하지만 접속하기 위해서는 token 값이 필요하다. 따라서, Dashboard 사용자 계정을 만들어 token을 얻어 접속해야한다.
Dashboard 사용자 계정 생성
ClusterRoleBinding 생성
cat <<EOF | kubectl create -f -
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
EOF
위 작업에서는 admin-user라는 ServiceAccount에 cluster-admin이라는 ClusterRole을 연결한다.
cluster-admin은 클러스터 내 모든 리소스에 대한 관리자 권한을 가진 역할이다.
Service Account 생성
cat <<EOF | kubectl create -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
위 작업은 admin-user라는 이름의 ServiceAccount를 kubernetes-dashboard 네임스페이스에 생성한다.
kubectl get sa -n kubernetes-dashboard
확인해보면 정상적으로 생성된 것을 확인할 수 있다.
Token 생성
접속하기 위한 token 생성은 다음과 같이 할 수 있다.
kubectl -n kubernetes-dashboard create token admin-user
Dashboard 접속
이제 token을 통해 Dashboard에 접속할 수 있다.
마무리
이번 글에서는 Kubernetes Dashboard 구성 과정과 token을 이용해 접속하는 방법까지 정리해보았다.
'Docker 및 Kubernetes > Kubernetes' 카테고리의 다른 글
[Kubernetes] Kubernetes 기본 오브젝트 - Volume (0) | 2025.02.10 |
---|---|
[Kubernetes] Kubernetes 기본 오브젝트 - Service (0) | 2025.02.06 |
[Kubernetes] Kubernetes 기본 오브젝트 - Pod (0) | 2025.02.04 |
[Kubernetes] Kubernetes 설치 (1) | 2025.01.23 |
[Kubernetes] Kubernetes란? (0) | 2025.01.22 |