下面给你一份在 CentOS 上安装 Kubernetes Dashboard(官方) 的常用做法,适用于 kubeadm 安装的 K8s(CentOS 7/8/Stream 都差不多)。
kubectl 可用Ready查看集群状态:
kubectl get nodes
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
如果你网络不通,可先下载再 apply。
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
把:
type: ClusterIP
改为:
type: NodePort
保存退出后查看端口:
kubectl get svc -n kubernetes-dashboard
你会看到类似:
kubernetes-dashboard NodePort 10.96.x.x <none> 443:30001/TCP
浏览器访问:
https://<节点IP>:30001
cat > admin-user.yaml <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
kubectl apply -f admin-user.yaml
cat > admin-role.yaml <<EOF
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 apply -f admin-role.yaml
kubectl -n kubernetes-dashboard create token admin-user
复制输出的 token,在 Dashboard 登录页选择 Token 登录。
firewall-cmd --add-port=30001/tcp --permanent
firewall-cmd --reload
kubectl proxykubectl proxy --address=0.0.0.0 --accept-hosts='^*$'
访问:
http://<IP>:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
如果你愿意,可以告诉我:
我可以给你更精准的命令或一键脚本。