728x90
Kubernetes Dashboard를 설치 하여 Kubernetes Cluster를 모니터링하고 관리를 해보자
1. 아키텍처(Dashboard v2.3.0)
- kubeconfig에 인증서를 등록함으로써 Kubernetes API Server 6443으로 바로 접속 할 수 있다
- kubernetes-metrics-scraper를 이용해서 Kubernetes Metric을 긁어 오는 Pod도 같이 존재한다
2. 설치
Dashboard 설치 시 kubernetes-dashboard라는 namespace가 같이 만들어진다.
2.1. Dashboard 설치
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.0/aio/deploy/recommended.yaml
2.2. Service Account 생성
Kubernetes Dashboard에 접근하는 서비스 계정을 생성한다
- serviceAccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
- ServiceAccount 생성
$ kubectl apply -f serviceAccount.yaml
2.3. ClusterRoleBinding 생성
Kubernetes Dashboard에서 Kubernetes Cluster에 운영 중인 서비스들에 대한 메타 데이터 정보 및 Metrics 정보를 가져오기 위해 설정한다 생성한 admin-user 서비스 계정에 ClusterRole을 묶어준다.
- clusterRoleBinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
- clusterRoleBinding 생성
$ kubectl apply -f clusterRoleBinding.yaml
3. 사용자 PC 인증서 설치
사용자 PC에서 Kubernetes Dashboard에 접속하는 방법으로는 kubernetes proxy 사용, NodePort 서비스, API Server에 직접 접근하는 것이 있다. 본문에서는 API Server에 직접 접근하는 방법으로 작성하였다.
3.1. PC 인증서 설치
.kube 디렉터리가 있는 곳에서 아래 명령어를 수행한다.
$ grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> client.crt
$ grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> client.key
$ openssl pkcs12 -export -clcerts -inkey client.key -in client.crt -out client.p12 -name "k8s-master-30"
위에서 생성한 client.p12 파일을 사용자 PC에 옮긴 다음 더블 클락하여 등록해 준다.
3.2. Kubernetes Dashboard URL
https://${SERVER_IP}:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy
- 대시보드 화면
대시보드를 접속하면 위와 같이 토큰 및 kubeconfig 방식으로 로그인을 할 수 있다.
- Token 생성 명령어
$ kubectl -n kubernetes-dashboard create token admin-user
728x90
'Kubernetes' 카테고리의 다른 글
[Kubernetes] HostAliases (0) | 2025.03.05 |
---|---|
[Kubernetes] metrics-server 설정 (0) | 2024.12.30 |
[Kubernetes] ingress-nginx 도메인주소 rerwite 설정 (0) | 2024.10.16 |
[Kubernetes] Ingress 413 에러 해결 방법 (0) | 2024.10.15 |
[Kubernetes] Image Pull Policy (0) | 2024.10.15 |