【发布时间】:2020-02-12 21:35:21
【问题描述】:
我将 GoCD 视为一种用于将 Kubernetes 应用程序部署到多个集群的管道/交付工具。
目前遇到一个非常基本的问题:在 GoCD 任务中运行kubectl 命令的推荐方式是什么?
我是否要创建一个安装了 kubectl 的自定义 GoCD 代理映像?有没有插件可以帮助实现这一点?
【问题讨论】:
-
您找到解决方案了吗?我也面临同样的问题。
标签: go-cd
我将 GoCD 视为一种用于将 Kubernetes 应用程序部署到多个集群的管道/交付工具。
目前遇到一个非常基本的问题:在 GoCD 任务中运行kubectl 命令的推荐方式是什么?
我是否要创建一个安装了 kubectl 的自定义 GoCD 代理映像?有没有插件可以帮助实现这一点?
【问题讨论】:
标签: go-cd
由于您尚未收到任何回复:是的,您需要将go-agent 和kubectl 安装在同一台机器上或同一容器中。
请参阅documentation for installing go-agent 和docker elastic agents plugin。
【讨论】:
我使用 Dockerfile 来做到这一点。适用于 GCP,但如果您不使用“gcloud”部分,则可以删除它。
FROM gocd/gocd-agent-alpine-3.9:v19.12.0
USER root
# begin - gcloud
RUN \
apk add --update make ca-certificates openssl python && \
update-ca-certificates && \
wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz && \
tar zxf google-cloud-sdk.tar.gz && \
./google-cloud-sdk/install.sh --usage-reporting=false && \
./google-cloud-sdk/bin/gcloud --quiet components update && \
rm -f google-cloud-sdk.tar.gz
# end - gcloud
# begin - kubectl
RUN apk update && apk add curl git
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.1/bin/linux/amd64/kubectl
RUN chmod u+x kubectl && mv kubectl /bin/kubectl
# end - kubectl
# begin - docker
RUN apk add docker
# end - docker
USER go
ENV PATH $PATH:/google-cloud-sdk/bin
【讨论】: