一、Dashboard 介绍
仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。
仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。
二、Yaml配置文件准备
[root@k8s-master k8s]# mkdir /root/k8s/dashboard && cd /root/k8s/dashboard
rz 上传yaml文件
三、部署Web UI
- 修改 controller 镜像地址
- 暴露Node端口
kubectl apply -f dashboard-rbac.yaml
kubectl apply -f dashboard-secret.yaml
kubectl apply -f dashboard-configmap.yaml
kubectl apply -f dashboard-controller.yaml
kubectl apply -f dashboard-service.yaml #暴露Node端口
kubectl get pods -n kube-system #查看pod状态,kube-system是命名空间
访问地址:https://192.168.31.65:30001/#!/login 请使用火狐浏览器 本次我们使用ip+端口的方式访问,还可以直接访问nginx代理
3.1 创建登录admin账号登录
cat > k8s-admin.yaml <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: dashboard-admin
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: dashboard-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
EOF
3.2 应用
kubectl apply -f k8s-admin.yaml
3.3 查看TOKEN
#查看账号
kubectl get secrets -n kube-system |grep admin
#查看账号TOKEN
kubectl describe secrets -n kube-system dashboard-admin-token-tzzcb
#kubectl get secrets -n kube-system dashboard-admin-token-9g9hp -o yaml
#echo TOKEN | base64 -d
3.4 解决dashboard证书过期问题
解决方法也很简单替换默认证书即可
sh shecheng.sh {需要在ca证书目录执行}
执行后 会生成dashboard-key.pem 、 dashboard.pem 连个证书
dashboard-controller.yaml 增加证书两行,然后apply
# args:
# # PLATFORM-SPECIFIC ARGS HERE
# - --auto-generate-certificates
# - --tls-key-file=dashboard-key.pem
# - --tls-cert-file=dashboard.pem
- QQ精品交流群
-
- 微信公众号
-