首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在google cloud deploy中使用云构建privatePool

如何在google cloud deploy中使用云构建privatePool
EN

Stack Overflow用户
提问于 2021-11-03 17:22:34
回答 1查看 322关注 0票数 0

我们不能让云部署作业在另一个项目的私有池中运行渲染或部署,我们可以让它使用托管云部署的项目中的私有池。

按照这里:https://cloud.google.com/deploy/docs/execution-environment#changing_from_the_default_pool_to_a_private_pool和这里:https://cloud.google.com/build/docs/private-pools/set-up-private-pool-environment#setup-private-connection的云部署设置的文档,我已经创建了一个带有以下参数的clouddeploy.yaml

代码语言:javascript
复制
apiVersion: deploy.cloud.google.com/v1beta1
kind: Target
metadata:
  name: k8-target
description: apply development
requireApproval: false
gke:
  cluster: projects/development-k8-cluster/locations/europe-west1/clusters/development-k8
executionConfigs:
  - privatePool:
      workerPool: projects/vpchost-project-development/locations/europe-west1/workerPools/cloudddeploy-pool
    usages:
      - RENDER
      - DEPLOY

总结:有一个cloudbuild项目,一个k8s项目和一个clouddeploy项目。然而,无论我做什么,我都不能让云部署作业在另一个项目的私有池中运行渲染或部署。它确实可以运行,但在clouddeploy项目本身中。在部署阶段之前,没有日志或错误。cloudbuild要么在clouddeploy项目中启动,而不是在私有池项目中启动,要么最终超时,管道仍然停滞,因为没有取消功能。

我已经给了clouddeploy服务帐户、cloudbuild服务帐户、自定义服务帐户(在上面的yaml中没有显示)和默认的计算服务帐户:所有者权限、云部署运行者权限、云构建所有者和工作者池用户权限。

来自cloud deploy的请求看起来是空的,除了在提交作业时创建的运行ID:cloud beta deploy releases create

在选择部署版本之后,该作业将不会执行任何操作,直到超时。

有没有人能看到我做错了什么,或者有没有人成功做到了?

根据其中一位贡献者的评论进行编辑:我希望'privatePool‘字段被填充,并在云部署主机项目或云构建项目中运行作业,但这两个项目中都没有活动。

EN

回答 1

Stack Overflow用户

发布于 2021-11-05 15:59:55

您可以使用另一个项目的私有池,但Cloud Build实例(以及构建和日志的显示位置)将始终位于Cloud Deploy管道所在的项目中

请注意,为了实现这一点,您需要授予跨项目使用该池的权限(请参阅:https://cloud.google.com/deploy/docs/execution-environment#changing_from_the_default_pool_to_a_private_pool下的注释)

要显示日志,您需要确保运行构建的服务帐户在交付管道所在的同一项目中具有日志记录权限。

如果用于构建的服务帐户与Cloud Deploy不在同一项目中,则还需要授予Cloud Deploy使用该服务帐户的act-as权限

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69829161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档