You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法配置Kubernetes Dashboard远程访问,编辑端口提示NotFound

解决Kubernetes Dashboard端口修改及远程访问问题

1. 定位错误原因

你执行kubectl edit service/kubernetes-dashboard时未指定命名空间,而Kubernetes Dashboard的Service默认部署在kubernetes-dashboard命名空间下,因此会提示"NotFound"错误。

2. 正确修改Service配置实现远程访问

方式一:编辑Service资源

执行以下命令进入编辑界面:

kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

在编辑界面中:

  • 将spec.type从ClusterIP修改为NodePort(云环境也可改为LoadBalancer)
  • 可选:在spec.ports下添加nodePort: <指定端口>(端口需在30000-32767范围内,为Kubernetes NodePort默认端口段)
    保存退出后,Service会自动更新配置。

方式二:用patch命令快速修改

直接执行命令将Service类型改为NodePort:

kubectl patch svc kubernetes-dashboard -n kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'

3. 获取访问端口并验证

执行以下命令查看Service的端口映射:

kubectl get svc kubernetes-dashboard -n kubernetes-dashboard

输出示例:

NAME                        TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard        NodePort   10.96.232.185   <none>        443:30007/TCP   1h

其中30007就是可用于远程访问的NodePort,使用远程服务器IP:30007即可访问Dashboard(需确保服务器防火墙已开放该端口)。

4. 补充:解决Dashboard权限不足问题

默认Dashboard账号权限有限,登录后可能无法查看集群资源,需创建管理员账号:

  1. 创建admin用户的Service Account:
kubectl create serviceaccount admin-user -n kubernetes-dashboard
  1. 绑定Cluster-admin角色:
kubectl create clusterrolebinding admin-user-binding --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:admin-user
  1. 获取登录令牌:
kubectl get secret $(kubectl get serviceaccount admin-user -n kubernetes-dashboard -o jsonpath="{.secrets[0].name}") -n kubernetes-dashboard -o jsonpath="{.data.token}" | base64 --decode

复制输出的令牌,在Dashboard登录界面选择"Token"方式登录即可获取完整集群权限。

内容的提问来源于stack exchange,提问作者Peter Penzov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:15:32