Google Cloud Builds 似乎提供了三种不同的机器尺寸来运行构建,具体如下:这里。
我们可以看到这些映射到三种可用的计算机器类型这里。
因此我们的选择是:
- 1 个 CPU,3.75GB 内存
- 8 个 CPU,7.2 GB 内存
- 32 个 CPU,28.8 GB 内存
我想将 Cypress 测试作为构建管道的一部分运行,这是 Google 认可并提供的模式,我的要求是大约 8-16GB 的内存。为了满足最低要求,我需要申请 32 CPU 的巨型机器并支付相应费用。这对我们来说是不可行的,因为额外的 ~30 个 CPU 的成本非常高。
理想情况下,我希望请求n1-highmem-2
机器运行这些测试;我认为这很好地满足了我的需求,但它似乎不是 Cloud Builds 中的一个选项。我尝试在 Cloud Builds 选项中指定它,但它被视为无效。
我是不是理解错了?我感觉很奇怪,为什么我们拥有这么多 CPU,却只有这么少的内存。我为什么要这样做?为什么 Google 如此确定我会想要这个,以至于他们甚至不提供像 highmem 这样的不同形状?
答案1
对于 2022 年遇到类似问题的人:
Cloud Build 现在还提供私人泳池另外还有 15 种机器类型:
- e2-中等
- e2-标准-2
- e2-标准-4
- e2-标准-8
- e2-标准-16
- e2-标准-32
- e2-高 CPU-2
- e2-高 CPU-4
- e2-高 CPU-8
- e2-高 CPU-16
- e2-高 CPU-32
- e2-高内存-2
- e2-高内存-4
- e2-高内存-8
- e2-高内存-16
在@Goldstein场景中,e2-高内存-216GB RAM 的使用成本为每分钟 0.01306 美元,而使用e2-高 CPU-32。
答案2
您可以使用 gCloud cli 工具构建 N1 自定义图像。
单个 N1 实例类型每个 vCPU 的内存限制为 6.5GB,因此要获得更多内存,您需要启用扩展内存,但需支付额外费用。
我已链接相关的 GCP 文档供您参考。
希望有所帮助。
答案3
编辑
截至 2021 年 4 月,Cloud Build 有 4 种机器类型可供选择,如下所述文档:
N1_HIGHCPU_8 Highcpu machine with 8 CPUs.
N1_HIGHCPU_32 Highcpu machine with 32 CPUs.
E2_HIGHCPU_8 Highcpu e2 machine with 8 CPUs.
E2_HIGHCPU_32 Highcpu e2 machine with 32 CPUs.
原始答案
Cloud Build 提供两种高 CPU 虚拟机类型来运行您的构建:8 个 CPU 和 32 个 CPU。默认机器类型为 1 个 CPU。请求高 CPU 虚拟机可能会增加构建的启动时间。添加 machineType 选项以请求具有更高 CPU 的虚拟机。
https://cloud.google.com/cloud-build/docs/build-config#options
所以不,只有这三个选项可用。