Dashboard安装和使用
# 一、Dashboard 安装
# 1.1、安装和启动
[root@k8s-master ~]# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1.2、查看 dashboard 是否正常启动
[root@k8s-master k8s-dir]# kubectl get ns
NAME STATUS AGE
default Active 6h59m
ingress-nginx Active 4h16m
kube-flannel Active 6h30m
kube-node-lease Active 6h59m
kube-public Active 6h59m
kube-system Active 6h59m
kubernetes-dashboard Active 35s
[root@k8s-master k8s-dir]# kubectl get pods --namespace=kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-78f5d9f487-nkclc 1/1 Running 0 2m18s
kubernetes-dashboard-6bc5cb8879-2fn29 1/1 Running 0 2m18s
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
会发现有两个pod,其中metrics是从节点获取cpu、内存等信息的
# 1.3、配置外网访问(默认只能集群内访问)
修改 service 配置,将 type: ClusterIP 改成 NodePort
kubectl edit service kubernetes-dashboard --namespace=kubernetes-dashboard
1
[root@k8s-master ~]# kubectl get service --namespace=kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dashboard-metrics-scraper ClusterIP 10.96.210.224 <none> 8000/TCP 31m
kubernetes-dashboard NodePort 10.111.50.110 <none> 443:32544/TCP 31m
1
2
3
4
2
3
4
此时访问:https://k8s-master:32544/ 即可
- 更改了hosts文件,k8s-master 对应我节点的ip
- Chrome出现不安全的链接无法访问时,可以在空白处输入 thisisunsafe
# 二、访问 dashboard
# 2.1、使用token登陆
要配置Kubernetes Dashboard以使用token进行访问,请按照以下步骤操作:
创建一个服务账户和对应的ClusterRoleBinding:
$ kubectl create sa dashboard-admin -n kube-system
$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
1
2
2
获取服务账户的token:
$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep dashboard-admin | awk '{print $1}')
1
2
2
# 2.2、使用配置文件登陆
略
# 2.3、使用用户名密码登陆
生产环境不安全,建议使用token,略