排查未来预留请求问题


本文档介绍了如何解决为 Compute Engine 可用区级资源创建或修改未来预留请求时遇到的问题。

未来预留请求的常见错误

本部分介绍了可能会导致您无法创建或修改未来预留请求的错误。

无法访问和查看未来预留

如果您无法在 gcloud CLI 或 Compute Engine API 中访问和使用未来预留,此时可能不符合访问和使用未来预留的条件。在这种情况下,请与您的技术支持客户经理销售团队联系。

已超过使用方项目数上限

如果为共享未来预留请求指定超过 100 个使用方项目,则会发生以下错误。

错误消息

Can only share with at most 100 projects.

解决方法:您最多可以为一个共享未来预留请求指定 100 个使用方项目。如果您想指定更多项目,那么请创建多个共享未来预留请求。如需了解详情,请参阅共享按需预留的最佳实践

自动创建的预留的删除时间无效

当为未来预留请求的自动创建预留指定无效删除时间时,会发生以下错误。

错误消息

Auto-created reservations cannot be deleted before future reservation end time.

解决方法:您只能在未来预留的预留期结束后删除为未来预留自动创建的预留。如需查看您可以删除自动创建的预留的日期和时间,请查看预留的详细信息并查找 deleteAtTime 字段的值。

结束时间无效

如果您为未来预留请求的预留期指定无效时长,则会发生以下错误。

错误消息

Future reservation end time must be at least 24 hours later than start time.

解决方法:预留期的结束时间必须至少比预留期的开始时间晚 24 小时。此外,为了提高 Google Cloud 批准您未来预留请求的可能性,请务必指定预留期的建议值之一。

开始时间无效

如果为未来预留请求的预留期指定无效的开始时间,则会发生以下错误。

错误消息

Future reservation start time is either in the past or too early.

解决方案:在创建或修改未来预留请求时,请务必指定预留期的开始时间,该时间至少比您提交未来预留审核请求的日期和时间晚 1 小时。但是,为了提高 Google Cloud 批准您未来预留请求的可能性,建议指定一个开始时间的建议值

重叠的使用方项目

如果您的当前项目或您要与之共享未来预留请求的项目包含以下一项或两项内容,则会出现以下错误:

  • 具有匹配虚拟机属性和可用区的共享预留,用于指定在您要创建的未来预留请求中未指定的使用方项目。

  • 具有匹配虚拟机属性和可用区的未来预留请求,用于指定在您要创建的未来预留请求中未指定的所有者或使用方项目。

错误消息

Future reservation with conflicting projects and matching instance properties with existing and overlapping shared projects is not allowed.

解决方法:创建未来预留请求时,请务必遵循创建未来预留请求的限制

如果您需要删除或修改自动创建的预留、按需预留或未来的预留请求,以阻止它们限制您可以创建的未来预留请求类型,那么请执行以下一个或多个操作:

重叠的预留期

如果未来预留请求的预留期与具有匹配的虚拟机属性和可用区的现有未来预留请求的预留期重叠,则会发生以下错误。

现有的未来预留请求可以位于您的预留请求所在的项目中,也可以位于您希望与之共享未来预留请求的项目中。

错误消息

Future reservation with overlapping time window for same instance properties and overlapping shared projects is not allowed.

解决方法:尝试以下方法之一:

没有组织的项目

如果您指定的不属于组织的项目,则会发生以下错误。

错误消息

Cannot create Shared Future Reservations in a project that does not belong to an organization.

解决方法:尝试以下方法之一:

  • 将当前项目迁移到组织,然后创建共享未来预留请求。

  • 在您要创建未来预留请求的组织所属的项目中创建共享未来预留请求。

实例模板的未来预留请求错误

本部分介绍了可能导致您无法通过指定实例模板创建未来预留请求的错误。

不允许跨项目引用

如果您尝试通过指定来自其他项目的实例模板来创建未来预留请求,则会发生以下错误。

错误消息

Cross project referencing is not allowed for this resource.

解决方法:执行以下操作:

  1. 确保您在未来预留请求中指定的项目 ID 和实例模板的名称正确无误。如需检查实例模板是否存在,请获取有关模板的信息

  2. 实例模板包含特定于项目的设置,因此您只能在同一项目中访问和使用实例模板。请改为执行以下操作之一:

    • 如需通过指定实例模板来创建未来预留请求,请执行以下操作:

      1. 在您的项目中创建一个新的实例模板

      2. 创建单个项目共享未来预留请求时,请指定新创建的实例模板。

    • 如需在不指定实例模板的情况下创建未来的预留请求,请通过直接指定虚拟机属性改为创建单项目共享预留请求

本地固态硬盘磁盘大小无效

如果您尝试通过指定包含本地固态硬盘磁盘的实例模板来创建未来预留请求,但模板未指定本地固态硬盘磁盘的大小,则会发生以下错误。

错误消息

Disk LOCAL_SSD_NAME provided in the instance template has invalid size: 0 GB.

解决方法:您无法更新实例模板。请改为执行以下操作:

  1. 创建新的实例模板,并务必指定模板中包含的所有本地固态硬盘磁盘的磁盘大小

  2. 使用新创建的实例模板创建单项目共享未来预留请求

  3. 可选:删除旧实例模板

实例模板的可用区无效

如果您尝试通过为模板指定具有无效位置的实例模板来创建未来预留请求,则会发生以下错误。

错误消息

Future reservation cannot be created outside the zone/region of source resource.

解决方法:执行以下操作之一:

  • 请务必在与实例模板中的资源相同的区域和可用区中创建未来预留请求。在实例模板中指定的任何区域级资源可用区级资源(例如机器类型或 Persistent Disk)会将模板的使用范围限制为这些资源所在的位置。例如,如果您的实例模板指定了 us-central1-a 可用区中的现有 Persistent Disk,则必须在同一可用区中创建未来预留请求。否则,创建未来预留请求将失败。

    如需检查现有模板是否指定了任何将模板绑定到特定区域或可用区的资源,请获取有关模板的信息并查找对其中的区域级资源或可用区级资源的引用。

  • 使用不限于特定区域或可用区的实例模板。由于您无法更新实例模板,因此请执行以下操作:

    1. 使用更新后的属性根据现有模板创建新的实例模板

    2. 通过指定新创建的实例模板创建单个项目共享未来预留请求

    3. 可选:删除旧实例模板

替换实例模板属性

如果您尝试通过指定实例模板和虚拟机属性创建未来预留请求,则会发生以下错误。

错误消息

InstanceProperties cannot be specified while an instance template is being provided.

解决方法:执行以下操作之一:

  • 如需通过指定实例模板来创建未来预留请求,请务必移除所有指定虚拟机属性的字段。

  • 如需通过指定具有不同虚拟机属性的实例模板来创建未来预留请求,请执行以下操作:

    1. 您无法更新现有实例模板。请改为根据现有模板创建新的实例模板

    2. 创建单个项目共享未来预留请求时,请指定新创建的实例模板。

    3. 可选:删除旧实例模板

  • 如需在不指定实例模板的情况下创建未来预留请求,请通过直接指定虚拟机属性改为创建单项目共享未来预留请求