跳到主要内容

第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地址!

1725446987136-a7cbc3f0-4b2c-4f87-9412-be690e782938.png

1725446986660-4143e8c4-055b-4f01-845b-7a746d3882e7.png

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.浏览器访问

1725446986659-81e4e38d-0fe1-4e24-aa1a-f190a8f2e203.png

1725498173955-0efe87d1-23c0-48ce-9d0c-133addcdd95b.png

更新: 2024-09-05 09:02:56