DashBoard(B/S结构的一个k8s管理工具)
Kubernetes Dashboard就是k8s集群的webui,集合了所有命令行可以操作的所有命令。界面如下所示:(ps:目前自动识别为中文版本)
注意检查dashboard版本与kubernetes版本兼容性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
https://github.com/kubernetes/dashboard/releases #Qist大佬推荐用这个 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml yaml提取 链接:https://pan.baidu.com/s/1TCiQnJxNreKYySlLSt_gcw 提取码:sp9y kubectl get pod -n kubernetes-dashboard -o wide kubectl get svc -n kubernetes-dashboard -o wide |
helm 更新(类似于yum更新)
1 2 3 4 5 |
#建议将helm的源换成阿里的,避免更新失败 helm repo remove stable helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts helm repo update helm search |
更新heml
1 |
helm repo update |
1.下载dashboard的chart包文件
1 2 3 4 5 |
helm fetch stable/kubernetes-dashboard #解压 tar -zxvf kubernetes-dashboard-0.6.0.tgz cd kubernetes-dashboard |
2.创建kubernetes-dashboard.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
cat <<EOF> kubernetes-dashboard.yaml image: repository: registry.cn-shanghai.aliyuncs.com/zdl_work/kubernetes-dashboard-amd64 tag: v1.10.1 ingress: enabled: true annotations: kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: 'true' nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" paths: - / hosts: - dashboard.wanfei.wang tls: - secretName: kubernetes-dashboard-tls hosts: - dashboard.wanfei.wang rbac: clusterAdminRole: true serviceAccount: name: dashboard-admin EOF |
安装
1 |
helm install --name kubernetes-dashboard -f kubernetes-dashboard.yaml . --namespace kube-system |
更新
1 |
helm upgrade kubernetes-dashboard -f kubernetes-dashboard.yaml . --namespace kube-system |
安装成功后查看ingress
1 |
kubectl get ingress -n kube-system |

安装成功后,查看svc
1 |
kubectl get svc -n kube-system |

修改kubernetes-dashboard 的svc type类型为 NodePort

1 |
kubectl edit svc kubernetes-dashboard -n kube-system |
然后使用端口访问(当然你也可以用ingress域名+下面端口访问)
- https://192.168.66.20:31557
- https://dashboard.shooter.wang:31557 Ingress访问

web登录界面会告诉你有2种访问方式 一种是通过配置文件 一种是token
1.我们先来看令牌(token)登录
1 2 3 4 5 6 7 8 9 |
#查看dashbboard的secret kubectl -n kube-system get secret | grep dashboard-admin [root@k8s-master kubernetes-dashboard]# kubectl -n kube-system get secret | grep dashboard-admin kubernetes-dashboard-token-fscm7 kubernetes.io/service-account-token 3 14m #然后查看secret 当中的 token kubectl describe secret kubernetes-dashboard-token-wjgmr -n kube-system |

复制token粘贴登录

2.config配置文件登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#获取dashboard secretName kubectl -n kube-system get secret | grep dashboard-admin #将token值赋值给变量 DASH_TOCKEN=$(kubectl get secret -n kube-system kubernetes-dashboard-token-wjgmr -o jsonpath={.data.token}|base64 -d) #设置生成集群参数 kubectl config set-cluster kubernetes --server=192.168.66.20:6443 --kubeconfig=/root/install-k8s/helm/dashbord/dashbord-admin.conf #设置认证参数 kubectl config set-credentials dashboard-admin --token=$DASH_TOCKEN --kubeconfig=/root/install-k8s/helm/dashbord/dashbord-admin.conf #设置上下文将dashboard-admin绑定到kubernetes-admin@kubernetes命名空间下 kubectl config set-context kubernetes-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/install-k8s/helm/dashbord/dashbord-admin.conf #设置切换用户 kubectl config use-context kubernetes-admin@kubernetes --kubeconfig=/root/install-k8s/helm/dashbord/dashbord-admin.conf |
将dashbord-admin.conf配置文件复制到桌面,然后选择配置文件登录

登录成功:

- 本文固定链接: https://www.yoyoask.com/?p=2425
- 转载请注明: shooter 于 SHOOTER 发表