配置机器类型建议


本页介绍了如何查看和修改机器类型建议的配置。您可以修改系统建议的机器类型,以便生成的建议仅包含您偏好的机器系列。您还可以更改用于生成内存建议的指标,以提高建议的准确性。对配置所做的更改会应用于项目级。

如需详细了解机器类型建议,请参阅为虚拟机应用机器类型建议

准备工作

  • 如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以选择以下任一选项向 Compute Engine 进行身份验证:
    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

所需的角色

如需获得修改机器类型建议所需的权限,请让您的管理员向您授予项目的 Compute Recommender Admin (roles/recommender.computeAdmin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含修改机器类型建议所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需修改机器类型建议,您需要具备以下权限:

  • 查看机器类型建议配置: recommender.computeInstanceMachineTypeRecommenderConfig.get 在项目中
  • 修改机器类型建议配置:针对项目的 recommender.computeInstanceMachineTypeRecommenderConfig.update 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

配置建议

如需配置机器类型建议,请执行以下步骤:

  1. 获取当前配置以获取配置的 JSON 文件。
  2. 修改 JSON 格式的配置文件。
  3. 上传新的配置文件以应用更改。

获取当前配置

您可以使用 Google Cloud CLI 获取项目的机器类型建议的当前配置。

gcloud

如需获取当前配置参数,请使用 gcloud beta recommender recommender-config describe 命令并将 google.compute.instance.MachineTypeRecommender 用作 Recommender ID:

gcloud beta recommender recommender-config describe google.compute.instance.MachineTypeRecommender \
  --project=PROJECT_ID \
  --location=ZONE

替换以下内容:

  • PROJECT_ID:您的项目的 ID。
  • ZONE:您要获取其当前配置的可用区。

该命令会返回 Recommender 配置,包括可修改的子字段 preferred_machine_typesmemory_metrics

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.MachineTypeRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "preferred_machine_types": "STANDARD_AND_CUSTOM",
      "memory_metrics": "MONITORING_AGENT_ONLY"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2024-08-20T04:41:15.330351Z"
}

如果您想将配置保存到本地文件,以便稍后进行修改并上传,请运行以下命令:

gcloud beta recommender recommender-config describe \
  google.compute.instance.MachineTypeRecommender \
  --project=PROJECT_ID \
  --location=ZONE > LOCAL_FILE_PATH_AND_NAME

修改推荐配置

您可以通过该配置自定义以下参数:

  • preferred_machine_types:您收到的机器类型建议。
  • memory_metrics:如何使用内存指标生成建议。

机器类型建议的选项

您可以将 preferred_machine_types 设置更改为以下某个值,以指定要获取哪些机器类型建议:

  • DEFAULT:默认值为 STANDARD_AND_CUSTOM
  • STANDARD_AND_CUSTOM:从标准机器类型和自定义机器类型中推荐最匹配的类型。
  • STANDARD_ONLY:仅从标准机器类型中推荐最匹配的类型。

内存建议的选项

对于用于生成建议的内存指标,您可以设置以下值:

  • MEMORY_METRICS_DEFAULT:使用默认指标生成建议。
  • MEMORY_METRICS_ALL:使用所有可用指标生成建议。
  • MONITORING_AGENT_ONLY:仅使用 Cloud Monitoring Ops Agent 收集的指标。
  • 如果您不使用 Ops Agent,并且不想收到内存建议,请使用 MEMORY_AGENT_ONLY 值停用这些建议。

如需获取有关内存用量的更准确建议,请使用 Ops Agent

更新项目的配置

如需更新机器类型建议的配置,请修改配置值,然后上传项目的新配置。您可以在同一请求中更改首选机器类型、用于建议的内存指标,或这两个值。

在您上传新配置后,新配置大约需要 48 小时才能生效。在此之前,任何生成的建议都会使用之前的配置。

gcloud

如需更新配置参数,请使用 gcloud beta recommender recommender-config update 命令并将 google.compute.instance.MachineTypeRecommender 用作 Recommender ID:

gcloud beta recommender recommender-config update google.compute.instance.MachineTypeRecommender\
  --project=PROJECT_ID \
  --location=ZONE \
  --config-file=LOCAL_FILE_PATH_AND_NAME \
  --etag=ETAG

替换以下内容:

  • PROJECT_ID:您的项目的 ID。
  • ZONE:您要获取其当前配置的可用区。
  • LOCAL_FILE_PATH_AND_NAME:包含当前配置的 JSON 文件的路径。
  • ETAG:当前配置的 ETag 值。您可以在上一个命令的输出中找到此值。

在配置文件中,仅指定包含更新后的配置参数的 recommenderGenerationConfig 对象。如果您已将配置保存到本地文件,请务必复制 etag 值,然后移除除 recommenderGenerationConfig 值以外的所有字段。

例如,如需仅获取包含标准机器类型的建议,请使用以下配置文件:

{
  "params": {
    "preferred_machine_types": "STANDARD_ONLY"
  }
}

如果命令成功,则会返回类似于以下内容的响应正文,其中显示了包含您刚刚修改的参数的新配置。

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.MachineTypeRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "preferred_machine_types": "STANDARD_ONLY"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2024-08-20T05:00:05Z"
}

后续步骤