第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