Kubernetes用户界面Web UI(Dashboard)

介绍

仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,以及管理集群资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。

部署

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml

访问

修改yaml
image: registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1
1、deployment port 增加 9090, 原本镜像中就是有9090 非安全端口的,只是yaml文件没有暴露出来

2、deployment args 下面 ‘- –auto-generate-certificates’ 注释掉, 前面添加 #
3、service 增加端口,target指向9090

4、注意记得添加type: NodePort 配置nodeport,方便通过节点ip+nodeport 访问,即输入 k8s节点ip:32000 就可以访问到dashboard

5、修改下载的kubernetes-dashboard.yaml文件,更改RoleBinding修改为ClusterRoleBinding,并且修改roleRef中的kind和name,用cluster-admin这个非常牛逼的ClusterRole(超级使用户权限,其拥有访问kube-apiserver的所有权限)。如下:

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard-minimal
  namespace: kube-system
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kube-system

TOKEN:
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk ‘{print $1}’)
kubectl proxy –address=’10.26.14.148′ –disable-filter=true
http://10.26.14.148:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

参考文章:
https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
https://www.jianshu.com/p/acf1e15e9200
https://blog.csdn.net/qq1083062043/article/details/84949924

发表评论

电子邮件地址不会被公开。 必填项已用*标注