일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- apache kafka
- leetcode
- 코딩테스트
- 티스토리챌린지
- 프로그래머스
- 우선순위큐
- 그래프
- Kubernetes
- DP
- String
- docker
- Python
- 도커
- heapq
- 오블완
- 아파치 하둡
- 아파치 카프카
- Apache Hadoop
- BFS
- 분산
- 쿠버네티스
- programmers
- 리트코드
- 파이썬
- 하둡
- 이진탐색
- Apache Spark
- 분산처리
- 알고리즘
- 아파치 스파크
- Today
- Total
래원
[Kubernetes] Kubernetes Dashboard 설정 본문
이번 글에서는 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 기본 오브젝트 - Service (0) | 2025.02.06 |
---|---|
[Kubernetes] Kubernetes 기본 오브젝트 - Pod (0) | 2025.02.04 |
[Kubernetes] Kubernetes 설치 (0) | 2025.01.23 |
[Kubernetes] Kubernetes란? (0) | 2025.01.22 |