设置node1节点的标签
kubectl label node node1 node-role.kubernetes.io/worker=worker

官方文档
https://kubernetes.io/zh-cn/docs/tasks/access-application-cluster/web-ui-dashboard/

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

在Deployment下
添加
nodeName: master


kubectl get svc -n kubernetes-dashboard


kubectl get svc -n kubernetes-dashboard
NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
dashboard-metrics-scraper   ClusterIP   10.103.41.203   <none>        8000/TCP   2m33s
kubernetes-dashboard        ClusterIP   10.96.209.106   <none>        443/TCP    2m33s


kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

type: NodePort

kubectl get svc -n kubernetes-dashboard
NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.103.41.203   <none>        8000/TCP        4m
kubernetes-dashboard        NodePort    10.96.209.106   <none>        443:30095/TCP   4m
https://192.168.14.132:30095


kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard

kubectl get secret -n kubernetes-dashboard

kubectl get secret -n kubernetes-dashboard
NAME                              TYPE     DATA   AGE
kubernetes-dashboard-certs        Opaque   0      5m58s
kubernetes-dashboard-csrf         Opaque   1      5m58s
kubernetes-dashboard-key-holder   Opaque   2      5m58s


kubectl -n kubernetes-dashboard create token kubernetes-dashboard

eyJhbGciOiJSUzI1NiIsImtpZCI6IjZxV0tqREdKZ3oyb29NOTYxWGU5YjItVlhHVzgzOWlfdjdRVmNQc3BQNUkifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNjc4OTYxMjk3LCJpYXQiOjE2Nzg5NTc2OTcsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInVpZCI6Ijc0MjEwMjhmLTY5ZTgtNGM5NS1iZDAxLTkxYWY0NGE0YmNiMyJ9fSwibmJmIjoxNjc4OTU3Njk3LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQifQ.Z6Zg05AKvkCvOxVoEXffNNGELkhZ2j8GYstp0NmJA26eU-JaYBAVFoyFaLOnq08WxI835rY3hIdX6gxOMW1XZWw778u1ivbLrMIsfvFNYx2sEjjbA93JEqttAFzQJYAnUoQoUi0sGCNr0q5yifkdhYlp_Oz5Zj0mW0w1ucUFwEmQWO9AooUxHo1dPpGuSqk2_-e0Gob0S2L-3tDtA_dfhgbdbjfPT9t8YQSN2n7_qcrdACAckyj1taPQC3ahKdNlxj_nFLnacYEe72Nj986q0qOmaGJhypZyN7yG8SKK_E2ILYJG2tDj_wjxRZI-NwFfPgTVkzF9ASJ1qcwHWB1lsw