Kubernetes Dashboard 설치
Kubernetes Dashboard를 설치하고, API Server를 통해 외부에서 접속할 수 있도록 설정한다.
1. yaml 수정
1-1. Kubernetes Dashboard 설치 yaml 예시 다운로드
https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml
1-2. ClusterRole/ClusterRoleBinding 추가
외부에서 Dashboard 접속을 위해 anonymous role을 추가한다.
...
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: kubernetes-dashboard-anonymous
rules:
- apiGroups: [""]
resources: ["services/proxy"]
resourceNames: ["https:kubernetes-dashboard:"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- nonResourceURLs: ["/ui", "/ui/*", "/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/*"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard-anonymous
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubernetes-dashboard-anonymous
subjects:
- kind: User
name: system:anonymous
...
1-3. nodeSelector 수정
Dashboard를 Master Node에만 올리기 위해 설치 yaml 상 nodeSelector를 수정한다.
...
nodeSelector:
node-role.kubernetes.io/master: ""
...
2. Kubernetes Dashboard 설치
$ kubectl create -f kubernetes_dashboard.yaml
3. 계정/RoleBinding 생성
대시보드에 접속하기 위한 service account를 생성하고, 해당 계정에 cluster-admin 권한을 부여한다.
*보안상 운영환경에서는 수정 필요
$ cat <<EOF | kubectl create -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
EOF
$ 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: kube-system
EOF
4. 접속 확인
4-1. token 확인
$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
AAAAAAAAAAA
4-2. url 접속
https://192.168.0.1:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
*'192.168.0.1'에 Master Node의 IP를 기입
*4-1에서 확인한 token을 입력하여 로그인
'Kubernetes' 카테고리의 다른 글
Kubernetes Persistent Volume 구성 - nfs (0) | 2020.02.12 |
---|---|
Kubernetes 설치 및 설정 (0) | 2020.02.12 |