쿠버네티스 설치 후 web UI로 리소스를 볼 수 있도록 할 수 있다.
kubectl apply -f https://raw.githubusercontent.com/
kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
다음과 같이 yaml 파일을 다운로드하여 Dashboard의 Deployment와 Service 등을 배포한다.
kubernetes-dashboard 라는 namspace로 배포가 되며 배포된 내용을 조회해 보면 다음과 같다
kubectl get all -n kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
pod/dashboard-metrics-scraper-856586f554-5fgm6 1/1 Running 1 2d
pod/kubernetes-dashboard-67484c44f6-25rbs 1/1 Running 2 2d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dashboard-metrics-scraper ClusterIP 10.98.133.105 <none> 8000/TCP 2d
service/kubernetes-dashboard ClusterIP 10.101.35.20 <none> 443/TCP 2d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/dashboard-metrics-scraper 1/1 1 1 2d
deployment.apps/kubernetes-dashboard 1/1 1 1 2d
NAME DESIRED CURRENT READY AGE
replicaset.apps/dashboard-metrics-scraper-856586f554 1 1 1 2d
replicaset.apps/kubernetes-dashboard-67484c44f6 1 1 1 2d
해당 리소스 내역과 metric정보를 수집하는 pod과 Dashboard를 구축하는 Pod 생성되고 8000 port로 접근할 수 있는 Service가 생성되는 것을 확인할 수 있다.
이후 해당 Dashboard에 접근하기 위해서
kubectl proxy &
명령어를 통해 해당 Web을 활성화 하고
로 Dashboard에 접속하면 다음과 같은 화면을 출력한다.
admin 계정을 생성한 후에 토큰을 생성하여 접근하여야 하는데 admin 계정의 생성의 예는 다음과 같다.
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
kubectl create -f admin_user.yaml
해당 유저 등록 후 token 생성
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
eyJhbGciOiJSUzI1NiIsImtpZCI6IjVqRjNLdGt1SXRyelpfVV9TNzMwV0p1QWx6a2NLcUl4S3ZUNH
JwdmVNREkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pb
y9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV
0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWx3cWJ6I
iwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWl
uLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiO
iIzZGUzY2I4ZC1lZGJiLTQxYTMtOTE0Yy01ZWJmMzExMTY1MTEiLCJzdWIiOiJzeXN0ZW06c2Vydml
jZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.fMKCEiZzem-
O94A4gtNDNxjGMoJAh2ePJgQGSL6WqhjcVycynPr3Y-
DIJuVmuQqlXd5CBdv36ufejdVWDjhB3MdRweVfWpvdrWncZ3FBnHpUtWmhP7XA2go2-
eY2pM24NBYR3y8bKaDP5X8LxuFSWnmBn7TSpxFiVddFOsz-
toER7OWLnksgi66dVrZthA281POgHyQjF3ZBnYYpexJiLGKSfmWy6pz8IFmv3ysRydnwE0kFkoiXZ5
wpbc_KHvGIbcFR4RdM4C8Jjd7gLk7NdeBHNIEZs_UZwqrz-
0bMkcs2Wx1wwfPn_9Q6p_FYi9onMFiQgwAWiOSbqWfeG7aO-Q
해당 token을 입력하여 다음과 같은 UI를 만날 수 있다.
해당 admin 계정은 다음과 같이 삭제할 수 있다.
kubectl -n kubernetes-dashboard delete serviceaccount admin-user
kubectl -n kubernetes-dashboard delete clusterrolebinding admin-user
출처
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
'Cloud > Kubernetes' 카테고리의 다른 글
kubernetes helm chart 이용하기 (0) | 2021.08.06 |
---|---|
Krew 설치 및 사용법 (0) | 2021.07.05 |
Kubernetes 기본 개념 (0) | 2021.07.05 |
Kubernetes 설치와 runtime 이슈 (0) | 2021.06.30 |
최근댓글