linux - 将 gitlab-ci(或任何 CI)与 kubernetes 或谷歌容器引擎一起使用(gitlab-runner 不会找到 kubectl)

标签 linux kubernetes google-kubernetes-engine gitlab-ci gitlab-ci-runner

我想通过 kubectl run 使用 gitlab-ci(或任何其他 CI,任何有效的)部署到谷歌容器引擎

我在谷歌计算引擎上有一个工作的 gitlab runner 但无法弄清楚如何安装 gcloudkubectl 所以 runner 有他们的可执行文件和配置路径。

通过 gitlab ci 文件运行 pwd 显示 /home/gitlab-runner 并运行 whoami 显示 root,所以我以用户身份安装了 kubectl gitlab-runner 和用户 root 但 gitlab-ci-multirunner 仍然提示

$ gcloud config list
bash: line 35: gcloud: command not found

ERROR: Build failed with: exit code 1

对于 kubectl 也是如此。我可能对 gitlab-runner 如何生成构建有一个错误的理解,但它可以访问 docker 安装,那么我如何让它访问 gcloud/kubectl 安装?

是否有更直接的版本可以部署到 kubernetes/google 容器引擎?

非常感谢!

最佳答案

你没有提到你使用的是什么 gitlab 镜像。看看别人的可能会有用,例如: https://github.com/sameersbn/docker-gitlab/

看起来像是通过环境变量显式配置了几个路径。

如果您在运行器上使用 Docker 容器,则需要在 Docker 镜像中安装 kubectl,而不是使用来自主机的可执行文件。 https://github.com/gitlabhq/gitlabhq/blob/master/doc/ci/docker/using_docker_images.md

关于linux - 将 gitlab-ci(或任何 CI)与 kubernetes 或谷歌容器引擎一起使用(gitlab-runner 不会找到 kubectl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35636080/

相关文章:

linux - 使用单个请求获取 haproxy 两次日志

linux - 通过指定回复列表的 mailx 命令

docker - Gitlab Runner 卡在 docker 登录

kubernetes - 我应该更喜欢 Kustomize 而不是 Helm

kubernetes - 如何增加 GKE 临时存储?

elasticsearch - 在集群节点上设置 vm.max_map_count

node.js - Kubernetes 通过基于时间的触发器扩展 pod

c# - 是否可以使用 .net core c# 执行 ps -aux ?

python - python 网络应用程序如何在客户端计算机上打开程序?

linux - 服务被禁止 : User \"system:anonymous\" cannot list services in the namespace\"kube-system\