Kubernetes K8S仪表板在GKE-GCP中的第一个群集后无法使用控制台访问

Kubernetes K8S仪表板在GKE-GCP中的第一个群集后无法使用控制台访问,kubernetes,gcp,google-kubernetes-engine,Kubernetes,Gcp,Google Kubernetes Engine,新手设置: 在GCP中创建了第一个项目 已创建默认为3个节点的群集。节点版本1.7.6。集群主版本1.7.6-gke.1 根据示例,在pod中部署aan应用程序 能够使用外部ip和端口访问“hello world”和主机名 在我的云控制台的GCP/GKE网页中,单击“发现和负载平衡”,我可以看到绿色勾号的“kubernetes dashboard”过程,但无法通过列出的IP访问。尝试了80019090,/ui,但没有任何效果 在本地笔记本电脑上不使用任何cloud shell或gcloud命令。

新手设置:

  • 在GCP中创建了第一个项目
  • 已创建默认为3个节点的群集。节点版本1.7.6。集群主版本1.7.6-gke.1
  • 根据示例,在pod中部署aan应用程序
  • 能够使用外部ip和端口访问“hello world”和主机名
  • 在我的云控制台的GCP/GKE网页中,单击“发现和负载平衡”,我可以看到绿色勾号的“kubernetes dashboard”过程,但无法通过列出的IP访问。尝试了80019090,/ui,但没有任何效果
  • 在本地笔记本电脑上不使用任何cloud shell或gcloud命令。一切都是在控制台上完成的
  • 问题:

  • 任何人如何访问在console中创建的集群的kubernetes仪表板
  • 文档不清楚,控制台本身是否包含仪表板组件?文档是否与GCP-GKE屏幕不同步
  • 教程说运行“kubectl代理”,然后打开
    “”但它不起作用,为什么
  • 仪表板服务的地址只能从集群内部访问。如果通过ssh连接到集群中的节点,则应该能够连接到仪表板。您可以通过注意地址在集群的服务CIDR范围内来验证这一点

  • 仪表板将作为集群内的一个吊舱运行,并提供相关服务。如果打开Workloads视图,您将看到
    kubernetes仪表板
    部署,并可以看到部署创建的pod。我不确定你指的是哪些文档,因为你没有提供链接

  • 当您运行
    kubectl proxy
    时,它会创建一个从本地计算机到集群的安全连接。它的工作原理是连接到主机,然后通过主机上的代理运行到您通过ssh隧道连接到的pod/服务/主机。可能是因为ssh隧道没有运行,所以无法正常工作;您应该验证您的项目是否新建了ssh规则,允许从集群端点IP地址进行访问。否则,如果您能详细解释它是如何失败的,这将有助于调试


  • 这似乎是谷歌云上从1.7.6版开始的内部Kubernetes DNS服务的一个问题

    解决方案是在该端点访问仪表板:

    Github问题链接:

    首先:
    gcloud容器群集获取凭据群集-1--区域我的区域--项目我的项目
    
    然后找到kubernetes仪表板端点,执行以下操作:
    kubectl集群信息


    如果您使用1.9.x或更高版本创建集群,那么您可以使用令牌进行访问

  • 获取秘密
  • kubectl-n kube系统描述机密`kubectl-n kube系统获取机密| awk'/clusterrole聚合控制器/{print$1}``awk'/token:/{print$2}'

  • 复制秘密

  • kubectl代理

  • 使用127.0.0.1:8001/UI打开UI。这将重定向到登录页面。 登录将有两个选项,kubeconfig和token。 选择令牌并粘贴先前复制的机密

  • 希望这有帮助

  • 安装kube仪表板

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
    
  • 运行:

    $ kubectl proxy
    
  • 访问:

    http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login
    

  • 请尽量问单个问题,并保持具体。当然可以。很抱歉。好的,我可以在“”的帮助下访问仪表板链接。此命令“kubectl cluster info”显示了所有进程。但是,当我尝试K8S仪表板的链接时(https:///api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy),网页抛出此错误:用户“system:anonymous”无法获取命名空间“kube system”中的服务/代理。“没有匹配的策略。\n未知用户\“system:anonymous\”。不过,还是不走运。您必须从github进行RTFM:。在运行
    kubectl proxy
    之前,您是否运行了
    gcloud容器群集获取凭据群集\u NAME
    ?是的,先生,我运行了。似乎与此类似