curl https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml -o dashboard.yaml
kubectl apply -f dashboard.yaml
...
deployment.apps/dashboard-metrics-scraper created
kubectl get pods -n kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-c45b7869d-7mln9 1/1 Running 0 45s
kubernetes-dashboard-576cb95f94-shn55 1/1 Running 0 45s
정상적으로 dashboard가 올라간것을 확인
샘플 사용자 만들기 가이드를 참고
# service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: [admin-user]
namespace: kubernetes-dashboard
# cluster-role-binding.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
kubectl apply -f service-account.yaml
kubectl apply -f cluster-role-binding.yaml
# 생성한 유저를 확인
kubectl get serviceaccounts -n kube-system
>>> NAME SECRETS AGE
...
[admin-user] 1 1m23s
# 유저 토큰 가져오기
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
>>>
Name: admin-user-...
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: xxxx-xxxx-xxxx-xxxx-xxxxxxx
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1099 bytes
namespace: 11 bytes
token: xxxx.xxxx.xxxx
10443 포트를 dashboard의 443 포트로 전달
kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 10443:443 --address 0.0.0.0
>>> Forwarding from 0.0.0.0:10443 -> 8443
앞에서 생성한 사용자의 token 정보를 입력
정상적으로 로그인 완료
Gendou, Shinji, Rei 3개 노드 활성화를 확인