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

CloudBuild部署Helm到GKE时helm list报错:gke-gcloud-auth-plugin未找到

问题原因

你使用的 alpine/helm:3.11.2 镜像未预装 gke-gcloud-auth-plugin,但你的kubeconfig文件指定了通过该插件完成GKE集群认证,因此执行helm命令时会出现找不到插件的错误。而gcr.io/cloud-builders/kubectl镜像内置了该插件,所以kubectl相关操作能正常运行。

解决方案

方案一:使用含认证插件的镜像运行helm命令

将helm步骤的镜像替换为gcr.io/cloud-builders/gcloud(该镜像已内置gke-gcloud-auth-plugin),在命令中先安装指定版本的helm再执行操作:

- id: 'helm-status'
  name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: 'bash'
  args:
    - '-c'
    - |
      curl https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz | tar xz && mv linux-amd64/helm /usr/local/bin/
      helm list -A
  waitFor: ['kubectl-info']
  env:
    - KUBECONFIG=/builder/home/.kube/config
    - USE_GKE_GCLOUD_AUTH_PLUGIN=True
    - CLOUDSDK_COMPUTE_REGION=$_DEFAULT_REGION
    - CLOUDSDK_CONTAINER_CLUSTER=$_GKE_NAME

方案二:在alpine/helm镜像中安装认证插件

若坚持使用alpine镜像,可在步骤中添加插件安装命令(需先添加谷歌软件源):

- id: 'helm-status'
  name: 'alpine/helm:3.11.2'
  entrypoint: 'sh'
  args:
    - '-c'
    - |
      echo "https://packages.cloud.google.com/apk/alpine/edge/main" >> /etc/apk/repositories
      apk add --no-cache gke-gcloud-auth-plugin
      helm list -A
  waitFor: ['kubectl-info']
  env:
    - KUBECONFIG=/builder/home/.kube/config
    - USE_GKE_GCLOUD_AUTH_PLUGIN=True

方案三:自定义构建包含helm和认证插件的镜像

如果需要多次复用,可提前构建自定义镜像:

  1. 创建Dockerfile:
FROM alpine/helm:3.11.2
RUN echo "https://packages.cloud.google.com/apk/alpine/edge/main" >> /etc/apk/repositories && \
    apk add --no-cache gke-gcloud-auth-plugin
  1. 通过Cloud Build将镜像推送到GCR,之后在cloudbuild.yaml中直接使用该自定义镜像即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:52:36