GCE 的 Reservation 功能可以预留资源给已创建的虚机,或者计划要创建的虚机。Reservation 保留的资源,可以确保虚机创建或者停机重启不因为资源不足而失败。
关于 Reservation 的原理和使用,可以参考以下文档。
https://cloud.google.com/compute/docs/instances/reserving-zonal-resources
下面介绍一个典型的配置步骤,以控制台操作为例。
首先创建一台虚机。本例在台湾区域创建一台带一个 T4 显卡的虚机。
然后到 Committed Use Discounts 页面,创建一个 Reservation (预留)。
在预留配置界面,选择与已创建虚机相同的 Zone 、 CPU 、 内存、显卡配置。注意 Reservation 的数量,不能超过 CPU 、内存、显卡等的配额,或者坐在 Zone 的实际可用资源数量。
在 Reservation 创建成功后,可以看到预留的 2 台,已经使用 1 台。因为之前创建的虚机,默认会匹配使用任何配置一致的 Reservation。
此时,再在同一个 Zone 创建一台同配置的虚机。
可以在配置的高级选项里,查看默认的 Reservation 匹配设置,应为自动使用已创建的任何 Reservation。
创建完成后,再刷新 Reservation 状态,可以看到 2 台都已使用。
需要注意的是,如果创建 Reservation 时,所选的 Zone 内空闲资源不足以提供 Reservation 所申请的所有资源,就算项目下现有的虚机可以匹配部分或全部要申请的资源, Reservation 也不能成功创建。比如,本项目在新加坡区域 Zone A 有一台 GPU 虚机在运行。
现在想要创建一个预留同配置一台虚机的 Reservation 。
该 Reservation 如果能匹配现有虚机,则应该不需要占用目标 Zone 里额外的资源,一般容易理解为应该能成功创建。但是实际上,当该 Zone 没有其它可用 GPU 卡资源时,这个 Reservation 创建会失败。这是因为目前 Reservation 的实现是一个两步操作。第一步是在空闲资源里占用所申请的所有资源,第二部用已有的虚机资源替换掉部分的占用资源,并将其释放。
文章信息
相关推荐
