【问题标题】:What is the best way to run kubectl in GoCD task?在 GoCD 任务中运行 kubectl 的最佳方法是什么?
【发布时间】:2020-02-12 21:35:21
【问题描述】:

我将 GoCD 视为一种用于将 Kubernetes 应用程序部署到多个集群的管道/交付工具。

目前遇到一个非常基本的问题:在 GoCD 任务中运行kubectl 命令的推荐方式是什么?

我是否要创建一个安装了 kubectl 的自定义 GoCD 代理映像?有没有插件可以帮助实现这一点?

【问题讨论】:

  • 您找到解决方案了吗?我也面临同样的问题。

标签: go-cd


【解决方案1】:

由于您尚未收到任何回复:是的,您需要将go-agentkubectl 安装在同一台机器上或同一容器中。

请参阅documentation for installing go-agentdocker elastic agents plugin

【讨论】:

    【解决方案2】:

    我使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2018-07-21
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多