如何借助Ingress Controller部署Kubernetes Dashboard
嘿,作为树莓派K8s集群的新手,能顺利部署好Dashboard Pod还配置了NodePort,这进度已经相当不错啦!既然核心部署已经搞定,接下来咱们就把访问权限和登录流程捋清楚,让你能真正用上Dashboard查看Pod和节点状态:
第一步:给Dashboard配置足够的访问权限
默认情况下,Dashboard的内置ServiceAccount权限极低,连查看节点、Pod的权限都没有,所以咱们得先给它提权:
- 执行以下命令创建ClusterRoleBinding,把Dashboard的ServiceAccount绑定到集群管理员角色(测试集群这么做完全没问题,生产环境可以按需配置更精细的权限):
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard
小提示:如果你部署Dashboard时自定义了命名空间,记得把命令里的
kubernetes-dashboard替换成你的目标命名空间哦。
第二步:获取登录用的令牌
Dashboard需要通过令牌验证身份,你有两种方式获取:
- 直接创建临时令牌(推荐,更简单):
kubectl -n kubernetes-dashboard create token kubernetes-dashboard
命令执行后会直接输出一串长长的令牌,复制下来备用。
2. 从Secret中提取令牌:
# 先列出kubernetes-dashboard命名空间下的Secret kubectl -n kubernetes-dashboard get secrets # 找到名称类似kubernetes-dashboard-token-xxxx的Secret,然后查看它的token字段 kubectl -n kubernetes-dashboard describe secret kubernetes-dashboard-token-xxxx
在输出里找到token对应的字符串,复制即可。
第三步:访问Dashboard界面
既然你已经配置了NodePort,先确认下Service的端口号:
kubectl -n kubernetes-dashboard get service kubernetes-dashboard
看输出里的NODEPORT列,比如是30443或者30000这类端口,然后用树莓派集群中任意一个节点的IP加上这个端口访问,比如:http://<你的树莓派节点IP>:30000
注意:默认Dashboard用的是HTTP协议,如果需要HTTPS,后续可以自行配置证书。
打开页面后,选择「令牌」登录方式,粘贴刚才复制的令牌,点击「登录」就能看到集群的Pod、节点运行状态啦!
额外实用小贴士
- 如果觉得NodePort端口太随机不好记,可以修改Dashboard的Service YAML文件,在
spec.ports里添加nodePort: 30001(端口要在K8s默认NodePort范围30000-32767内),然后重新部署Service。 - 虽然你更习惯CLI,但Dashboard在快速排查Pod异常(比如查看实时日志、事件)、可视化集群资源分布时,确实能帮你节省不少时间,尤其是树莓派这种多节点集群,一眼就能看清整体状态。
内容的提问来源于stack exchange,提问作者ThefrEnchman
相关产品推荐
相关产品推荐

