部署仪表板 UI
默认情况下不部署仪表板 UI。要部署它,请运行以下命令:
[root@xy-5-server14 kube-dashboard]# kubectl apply -f <https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml>
[root@xy-5-server14 kube-dashboard]# kubectl -n kubernetes-dashboard get pods
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-8c47d4b5d-h8b9x 1/1 Running 0 6h12m
kubernetes-dashboard-67bd8fc546-wz9lc 1/1 Running 0 6h12m
暴露dashboard服务
[root@xy-5-server14 kube-dashboard]# kubectl -n kubernetes-dashboard get svc kubernetes-dashboard -oyaml
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
allocateLoadBalancerNodePorts: true
clusterIP: 10.100.15.137
clusterIPs:
- 10.100.15.137
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- nodePort: 31510
port: 443
protocol: TCP
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer: {}
访问dashboard:
需要访问token
创建用户
[root@xy-5-server14 kube-dashboard]# cat dashboard-account.yaml
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
执行
[root@xy-5-server14 kube-dashboard]# kubectl apply -f dashboard-account.yaml
serviceaccount/admin-user unchanged
clusterrolebinding.rbac.authorization.k8s.io/admin-user unchanged
创建token
[root@xy-5-server14 kube-dashboard]# kubectl create token admin-user -n kubernetes-dashboard
eyJhbGciOiJSUzI1NiIsImtpZCI6IlZBVUpzM2FKOFYzSkJVTHgxS25WWWlaZDBYXy1qZ0xON2Rsb2Nzd2N6SFUifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNjg0NzQ3Njk2LCJpYXQiOjE2ODQ3NDQwOTYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiMDEwYWVkYjItZmE4ZS00N2I5LWI2ZjktN2FhZWZhYWMxYzM0In19LCJuYmYiOjE2ODQ3NDQwOTYsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.TTPeY5QSi7BGFvsK9xjRm626gCSGoXm8sxmWUu1S1ePgLuTWThKNH1NDy2pd4Y-yd_Nr33GcoRkOzxqkUYhrsZhpBPp0JDnaV8U7vD1D63r0wfe_iBjpYWY9Mc-bv-oGbJBxZKRzGVAwF3AF0Hw3CstCV1aWT1jTk5GzY-m7doR5I1aq3Q2no9X1EKcE-Mg5G26MSL6eGW4EAAHTn93uVNj2jo2K3k7EX8aToYbbJ8Cxg9VWbgwteneGBbdBYae_fXLXQXT4W9_2i9LboZ8HjA5aS_CeCrZ1OPJsbrzqSBgcGpwFNhxS4C13Ij2PfNyPGiQg60jZfhnYKpe6bbVFOA
访问dashboard
在dashboard登录页面,输入上面的token
然后可以登录到dashboard页面: