【问题标题】:Running gcloud in a docker container在 docker 容器中运行 gcloud
【发布时间】:2021-03-19 17:56:30
【问题描述】:

所以我在尝试设置一个将运行和部署 kubernetes 资源的 docker 容器时被卡住了。我正在使用 tekton-pipeline 并使用 appuio/oc 设置一个容器(我想我也可以给你一个不同的容器)。

我在容器中的命令现在看起来像这样 -

设置 gcloud

curl https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > /google-cloud-sdk.tar.gz
mkdir -p /usr/local/gcloud
tar -C /usr/local/gcloud -xvf /google-cloud-sdk.tar.gz > /dev/null
/usr/local/gcloud/google-cloud-sdk/install.sh > /dev/null
PATH=$PATH:/usr/local/gcloud/google-cloud-sdk/bin

登录 gcloud

gcloud auth activate-service-account --key-file=gcloud.json
gcloud projects list
gcloud config set project <PROJECT_NAME>
gcloud config set compute/zone us-west1-a
kubectl get pods -n tekton-pipelines

它进行身份验证,但在运行 get pods 命令时给我一个错误 -

已激活服务帐户凭据: [serviceaccount-name@developer.gserviceaccount.com]

PROJECT_ID 名称 PROJECT_NUMBER

我的第一个项目

更新了属性 [核心/项目]。更新了属性 [计算/区域]。 来自服务器的错误(禁止):Pod 被禁止:用户 “system:serviceaccount:tekton-pipelines:default”无法列出资源 命名空间“tekton-pipelines”中的 API 组“”中的“pods”

我尝试了一些设置角色、授予服务帐户权限的方法,但都没有奏效。对此的任何帮助将不胜感激。

【问题讨论】:

    标签: google-app-engine kubernetes google-cloud-platform google-kubernetes-engine gcloud


    【解决方案1】:

    我的理解是,要在安装了 gcloud 的全新 VM 中访问 GKE 环境,必须运行以下命令:

    gcloud container clusters get-credentials

    如果我们查看here,我们会找到该命令的文档。在它声称的文档中:

    gcloud container clusters get-credentials 使用适当的凭据和端点信息更新 kubeconfig 文件,以将 kubectl 指向 Google Kubernetes Engine 中的特定集群。

    【讨论】:

    • 我认为问题不在于凭据,而在于 VM 环境中的计算权限。
    猜你喜欢
    • 1970-01-01
    • 2022-10-04
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2021-12-03
    • 2015-01-19
    • 2021-07-22
    相关资源
    最近更新 更多