
gcloud-helm-ko是一个集成了Google Cloud SDK、Helm3、Ko及helmfile工具的Docker镜像,旨在简化CI/CD流水线中与GCP(Google Cloud Platform)和Kubernetes相关的构建、认证及部署流程。通过整合这些工具,用户可在CI环境中一站式完成Go应用容器化(Ko)、GCP资源操作(Google Cloud SDK)及Kubernetes应用部署(Helm3/helmfile)。
GOOGLE_APPLICATION_CREDENTIALS:当设置此变量时,镜像将使用其指定的凭证文件初始化GCP认证。以下环境变量用于配置GKE集群信息,简化与Kubernetes集群的对接:
CLOUDSDK_CONTAINER_CLUSTER:GKE集群名称。CLOUDSDK_COMPUTE_ZONE:GKE集群所在区域(如us-central1-a)。CLOUDSDK_CORE_PROJECT:GCP项目ID。在Gitlab-CI中使用时,需在.gitlab-ci.yaml中定义相关变量并配置作业阶段。
yamlvariables: CLOUDSDK_COMPUTE_ZONE: {{区域}} # GKE集群所在区域,如us-central1-a CLOUDSDK_CORE_PROJECT: {{项目ID}} # GCP项目ID CLOUDSDK_CONTAINER_CLUSTER: {{集群名称}} # GKE集群名称 DEPLOYMENT_NAME: {{部署名称}} # Helm部署名称 KO_DOCKER_REPO: {{Go容器仓库前缀}} # Ko构建的容器镜像仓库前缀(如gcr.io/[项目ID]) DOCKER_REPO: {{其他容器仓库前缀}} # 非Go应用的容器镜像仓库前缀 NAMESPACE: {{命名空间}} # Kubernetes命名空间
使用Ko构建Go应用容器镜像:
yamlgo-build: stage: build image: scholarshipowl/gcloud-helm-ko script: ko publish -B -t ${CI_COMMIT_SHORT_SHA} . # -B:构建平台无关镜像,-t:指定标签为Git提交短SHA
说明:此阶段将创建镜像 ${KO_DOCKER_REPO}/go-cmd:${CI_COMMIT_SHORT_SHA}(go-cmd为应用名称,由Ko根据项目自动生成)。
使用Helm3将应用部署到GKE集群:
yamldeploy: stage: deploy image: scholarshipowl/gcloud-helm-ko script: # 注意:在k8s runner中存在入口点(entrypoint)被覆盖的问题,需手动执行入口点脚本 # 若使用其他类型runner,可移除此行 # 参考:https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4125 - /docker-entrypoint.sh # 执行Helm部署命令 - helm upgrade ${DEPLOYMENT_NAME} chart/ --install # 若部署不存在则安装,存在则升级 --set image.tag=${CI_COMMIT_SHORT_SHA} # 设置镜像标签为构建阶段的Git提交短SHA --namespace ${NAMESPACE} # 指定Kubernetes命名空间
说明:此阶段通过helm upgrade --install命令将chart/目录下的Helm chart部署到${CLOUDSDK_CONTAINER_CLUSTER}集群的${NAMESPACE}命名空间。
镜像内置helmfile工具(https://github.com/roboll/helmfile%EF%BC%89%EF%BC%8C%E7%94%A8%E4%BA%8E%E7%AE%A1%E7%90%86%E5%A4%9AHelm chart的部署配置。通过编写helmfile.yaml,可实现更复杂的Helm chart版本控制、依赖管理及多环境部署。
yamldeploy: stage: deploy image: scholarshipowl/gcloud-helm-ko script: - helmfile -e prod apply # 应用prod环境的helmfile配置 --set imageTag=${CI_COMMIT_SHORT_SHA} # 覆盖镜像标签为Git提交短SHA
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务