【问题标题】:Execute Skaffold deployment using Google Cloud Build?使用 Google Cloud Build 执行 Skaffold 部署?
【发布时间】:2021-02-25 17:43:07
【问题描述】:

我为 kubernetes 和 skaffold 以及 dockerfile 开发了 yaml 文件。我的 Skaffold 部署在我的本地机器上运行良好。

现在我需要在我的 Google Cloud 项目中的 k8s 集群中实现相同的部署,由 GitHub 存储库中的新标签触发。我发现我必须使用 Google Cloud Build,但我不知道如何从 cloudbuild.yaml 文件中执行 Skaffold。

【问题讨论】:

    标签: docker kubernetes google-cloud-platform google-cloud-build skaffold


    【解决方案1】:

    https://github.com/GoogleCloudPlatform/cloud-builders-community中有一个脚手架图片

    要使用它,请按照以下步骤操作:

    • 克隆存储库
    git clone https://github.com/GoogleCloudPlatform/cloud-builders-community
    
    • 转到 skaffold 目录
    cd cloud-builders-community/skaffold
    
    • 构建映像:
    gcloud builds submit --config cloudbuild.yaml .
    

    然后,在您的cloudbuild.yaml 中,您可以在此基础上添加一个步骤:

    - id: 'Skaffold run'
      name: 'gcr.io/$PROJECT_ID/skaffold:alpha' # https://github.com/GoogleCloudPlatform/cloud-builders-community/tree/master/skaffold
      env:
      - 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
      - 'CLOUDSDK_CONTAINER_CLUSTER=[YOUR_CLUSTER_NAME]'
      entrypoint: 'bash'
      args:
        - '-c'
        - |
          gcloud container clusters get-credentials [YOUR_CLUSTER_NAME] --region us-central1-a --project [YAOUR_PROJECT_NAME]
          if [ "$BRANCH_NAME" == "master" ]
          then
            skaffold run
          fi
    

    【讨论】:

    • 所以我必须先将该 Skaffold 图像上传到我的集群?没有准备好使用的 Skaffold 图像吗?
    • afaik(根据github.com/GoogleCloudPlatform/cloud-builders-community/blob/…),您必须将图像推送到 gcr 才能使用 cloudbuild 社区图像之一。当然你也可以使用来自hub.docker.com的任何公开图片
    • 我有另一个派生问题,这个 repo 中列出的 docker 镜像不能解决我的问题? github.com/GoogleContainerTools/skaffold/releases (gcr.io/k8s-skaffold/skaffold:v1.20.0)。或者也许有一些我没有看到的东西。谢谢!
    • 我从未使用过这张图片,但它可能有用:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多