不能';t访问谷歌云上的Kubernetes仪表板

不能';t访问谷歌云上的Kubernetes仪表板,kubernetes,dashboard,gcloud,google-kubernetes-engine,Kubernetes,Dashboard,Gcloud,Google Kubernetes Engine,我正在按照指示行事 我使用以下命令来获取一个正在运行的集群,在gcloud控制台中输入:curl-sShttps://get.k8s.io |bash如链接中所述,之后,我运行命令kubectl cluster info,从中我得到: kubernetes-dashboard is running at https://35.188.109.36/api/v1/proxy/namespaces/kube- system/services/kubernetes-dashboard 但是,当我从f

我正在按照指示行事

我使用以下命令来获取一个正在运行的集群,在gcloud控制台中输入:
curl-sShttps://get.k8s.io |bash
如链接中所述,之后,我运行命令
kubectl cluster info
,从中我得到:

kubernetes-dashboard is running at https://35.188.109.36/api/v1/proxy/namespaces/kube-
system/services/kubernetes-dashboard
但是,当我从firefox转到该url时,得到的信息是:

User "system:anonymous" cannot proxy services in the namespace 
"kube-system".: "No policy matched."

预期行为:应要求管理员姓名和密码以连接到仪表板。

您可以在本地运行
kubectl proxy
,并在

处访问它。您为什么不使用GKE(Google Kubernetes Engine)来提供现成安装的仪表板插件

在您的情况下,只需:

  • kubernetes dashboard插件可能没有安装(但是日志上这么说,所以我认为这不是问题所在)
  • 使
    kubectl代理
    工作的网络配置可能不存在
  • curlsh
    您使用的脚本可能未正确配置身份验证
我建议使用GKE,因为这是开箱即用的。您可以在此处找到文档:


如果您仍然想使用GCE,我建议您在工作站(而不是kubernetes节点)上运行
kubectl proxy
,并访问
http://127.0.0.1:8001/ui
,查看它是否有效

如果您遇到权限不足的错误,您可能正在使用Kubernetes版本,该版本足够新,可以在访问API的仪表板之类的POD上强制实施RBAC策略。您可以通过运行以下命令授予这些权限:

kubectl create clusterrolebinding add-on-cluster-admin  \
  --clusterrole=cluster-admin  \
  --serviceaccount=kube-system:default


我还建议您在谷歌云控制台中试用GKE UI:

您正在寻找的是不推荐的。我们需要使用云控制台仪表盘

:

GKE上的集群不推荐使用开源Kubernetes Dashboard插件,该插件将作为1.15版中的一个选项删除。建议使用中介绍的其他云控制台仪表板


如果您选择在Google Compute Engine上部署k8s,仍然可以访问仪表板。如果遵循处的说明,则您将收到403,如上所述

首先,您需要部署一个“仪表板部署”,运行此命令

kubectl应用-fhttps://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

创建后(在kube系统名称空间btw中),使用此命令创建clusterrolebinding

kubectl create clusterrolebinding加载项群集管理--clusterrole=cluster管理--servicecomport=kube系统:默认值

运行以下命令以获取令牌;
kubectl配置视图| grep令牌

接下来使用命令运行kubectl代理;
kubectl代理

您现在可以访问下面uri处的仪表板。 您需要从上面传递令牌以进行身份验证,就这样


http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes dashboard:/proxy/

您使用的是什么版本的kubernetes?此文档可能<1.5,在1.6中,他们启用了RBAC,我们不能这样访问。@它的1.6.4版本,所以我如何访问仪表板?您可以看看这个答案:如果我在google compute engine中使用kubernetes,它会工作吗?原始答案与google容器引擎相关,因此,
kubectl代理
将不起作用。感谢您提供的替代(真实)方式。GKE的工作棒极了。直到那时我才知道GKE。如果答案是正确的,请考虑这样的标记。当我尝试你所说的程序时,我必须正确地工作。目前非常忙..将很快试用,并通过标记让您知道:)