第11章 Dashboard图形界面
1.安装部署dashboard
官方项目地址
https://github.com/kubernetes/dashboard
下载配置文件并应用
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
应用资源配置
kubectl create -f recommended.yaml
查看创建的pod
[root@node1 k8s]# kubectl -n kubernetes-dashboard get pods
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-7b59f7d4df-62m6s 1/1 Running 0 62s
kubernetes-dashboard-665f4c5ff-4twq7 1/1 Running 0 62s
2.创建Ingress资源并应用
创建资源配置:
cat > dashboard-ingress.yml << 'EOF'
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kubernetes-dashboard-ingress
namespace: kubernetes-dashboard
annotations:
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: "dashboard.k8s.com"
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: kubernetes-dashboard
port:
number: 443
EOF
应用配置:
kubectl apply -f dashboard-ingress.yml
关键参数解释:
annotations: #注解
kubernetes.io/ingress.class: "nginx" #使用的是nginx类型的ingress
ingress.kubernetes.io/ssl-passthrough: "true" #SSL透传
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" #后端使用TLS协议
nginx.ingress.kubernetes.io/rewrite-target: / #URL重定向
3.访问网页测试
注意要在windows上绑定hosts地址!
4.创建管理员账户并应用
官方文档:
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md
创建授权资源配置清单
cat > dashboard-admin.yaml<<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
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: kubernetes-dashboard
EOF
应用资源配置清单
kubectl create -f dashboard-admin.yaml
5.查看资源并获取token
kubectl get pod -n kubernetes-dashboard -o wide
kubectl get svc -n kubernetes-dashboard
kubectl get secret -n kubernetes-dashboard
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
6.浏览器访问
更新: 2024-09-05 09:02:56