kubernetes - 为什么从主机而不是gcloud交互式shell使用gcloud命令如此困难?

标签 kubernetes google-cloud-platform gcloud

也许我有点困惑,但是基本上我想通过我自己的主机(Mac)终端而不是提供的gcloud交互式shell使用gcloud cli建立我的工作流。

我正在通过运行与IAM成员进行身份验证:
gcloud auth login
它带我到成功进行身份验证的Google Cloud登录页面,然后在shell中获得以下信息:

You are now logged in as [MY_EMAIL@gmail.com].
Your current project is [myproperty-1537056464248].  You can change this setting by running:

  $ gcloud config set project PROJECT_ID

之后,我尝试发出以下命令:
gcloud container clusters create somename

我收到以下错误消息:
ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=Project "myproperty-1537056464248" has no network named "default".

我的IAM用户具有以下角色:
  • Kubernetes Engine Cluster Admin
  • Owner

  • 我要做的就是避免使用gcloud交互式 shell ,这样我可以:
  • 通过命令行
  • 创建集群
  • 将docker构建推送到Google容器注册表
  • 列表集群
  • 创建 pod
  • 等...

  • 但是这些IAM政策并没有真正按照我的预期运作。

    我应该改为使用服务帐户吗?

    最佳答案

    您遇到了两个明显的错误:

  • 第一条错误消息表明您的项目缺少“默认”网络。

  • 您可以使用以下方法检查项目的网络:
    $ gcloud compute networks list
    NAME     SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE  GATEWAY_IPV4
    default  AUTO         REGIONAL
    

    如果创建一个全新的项目,则该项目应具有“默认”网络。

    或者,您可以通过以下方式指定现有网络:
    gcloud container clusters create somename --network=put-existing-network-here
    
  • 第二个错误是项目中缺少权限“compute.networks.get”。

  • 您可以使用“gcloud projects get-iam-policy PROJECT_ID”来验证项目中的实际角色。为您的IAM用户查找角色“所有者”,如下所示:
    $ gcloud projects get-iam-policy PROJECT_ID
    - members:
      - user:username@somedomain.com
      role: roles/owner
    

    关于kubernetes - 为什么从主机而不是gcloud交互式shell使用gcloud命令如此困难?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55720234/

    相关文章:

    kubernetes - 在 Kubernetes 下调度任务失败

    kubernetes - 未找到命名空间

    docker - 为什么在我使用Kubernetes时docker重新下载相同的镜像

    google-app-engine - WebSocket 握手期间出错 : Unexpected response code: 400 when deployed on google cloud

    python - 将大量文件从 Google Cloud Storage 复制到 Google Colab 而无需记录/打印

    kubernetes - Metricbeat kubernetes 模块无法连接到 kubelet

    regex - Terraform GCP 正则表达式中不支持的转义序列

    python - 部署到Google云函数: Error message: 'main'

    docker - 如何在 docker 中的节点前为 Cloud Run 设置 nginx?

    google-kubernetes-engine - 错误 : gcloud crashed (WindowsError): [Error 3] The system cannot find the path specified: u'W:\\'