개요
대시보드는 웹 기반 쿠버네티스 유저 인터페이스이다. 대시보드를 통해 컨테이너화 된 애플리케이션을 쿠버네티스 클러스터에 배포할 수 있고, 컨테이너화 된 애플리케이션을 트러블슈팅 할 수 있으며, 클러스터 리소스들을 관리할 수 있다. 대시보드를 통해 클러스터에서 동작중인 애플리케이션의 정보를 볼 수 있고, 개별적인 쿠버네티스 리소스들을(예를 들면 디플로이먼트, 잡, 데몬셋 등) 생성하거나 수정할 수 있다. 예를 들면, 디플로이먼트를 스케일하거나, 롤링 업데이트를 초기화하거나, 파드를 재시작하거나 또는 배포 마법사를 이용해 새로운 애플리케이션을 배포할 수 있다.
또한 대시보드는 클러스터 내 쿠버네티스 리소스들의 상태와 발생하는 모든 에러 정보를 제공한다.
구성환경
Kubernetes v1.17.4, dashboard v2.0.0-rc6
1. 대시보드 UI 배포
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml |
2. 대시보드 UI 접근
2.1 커맨드 라인 프록시 실행
shell> kubectl proxy Starting to serve on 127.0.0.1:8001 |
2.2 접속 URL
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
* UI는 커맨드가 실행된 머신에서 오직 접근 가능하다.
- 초기 접속 화면
서비스 계정 생성 및 접속
Step 1) 서비스 계정 생성
shell> kubectl apply -f dashboard-adminuser.yaml
- dashboard-adminuser.yaml 샘플
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard |
Step 2) 롤 매핑(Role mapping)
shell> kubectl apply -f rollbinding.yaml
- rollbinding.yaml 샘플
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 |
Step 3) 서비스계정의 토큰(tocken) 확인 - 파란색 글씨
shell> kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') Name: admin-user-token-4qwzh Namespace: kubernetes-dashboard Labels: Annotations: kubernetes.io/service-account.name: admin-user kubernetes.io/service-account.uid: 53eef793-501f-4542-b3ce-85e6e80acd9a Type: kubernetes.io/service-account-token Data ==== ca.crt: 1025 bytes namespace: 20 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImVQTHZaeU5NdDVUY0FWQ0NXWHZQYkNMNE5RcGI5Zjk1amhzeEFJUTFPMVEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLTRxd3poIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI1M2VlZjc5My01MDFmLTQ1NDItYjNjZS04NWU2ZTgwYWNkOWEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.qv8-DgcP3IIs-ttoxt2bb4wE875PhWNXiCi6uMqJXet4GC_C1xQUtYETP0213-f1dxCNfC4cENaCB6ae5u7BO0FjRfZXRp6FkwzEX2kJLgpKmHJBBaWxzfAe0hg9rzPkNMzbuxyUMhGLNEzSglpux8NsxR9eQa3Ugw4ggyGyXJyrczKVFdsbOE31hu-QUJkIrh-2dYcHuG4rwB9kexXG5xnwJm6eL3VyioSi9FD1DubRLrG0RLxd4PNkuXby2QUCerLzOoCJm2-hCTyxb9d8j2Dm4MgY9CiIymUoOhViVZ7KkFRWz_JTus2_RNC6Kp2aHSVm0W1au7pZuhGRegbMmw shell> |
Step 4) 토큰을 이용하여 접속(토큰 부분을 복사하여 붙여넣기)
Step 5) 웰컴 뷰(초기 클러스터 대시보드에 접근하면, 환영 페이지를 볼수 있다.)
참조 문서
- 웹 UI 설치(대시보드 UI 배포) : https://kubernetes.io/ko/docs/tasks/access-application-cluster/web-ui-dashboard/
- 서비스 계정 생성 : https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md
'가상화 > Kubernetes' 카테고리의 다른 글
[kubernetes] TroubelShooting (0) | 2020.03.27 |
---|---|
[Docker] Image Build (0) | 2020.03.25 |
[kubernetes] kubeadm을 사용하여 고 가용성(HA) 클러스터 만들기 (0) | 2020.03.22 |
[kubernetes] 설치 (0) | 2020.03.15 |
[Docker] swarm 모드에서 컨테이너 rebalance (0) | 2020.01.15 |