创建访客政策后,您可以按照以下步骤查看和管理您的政策:
- 更新访客政策:修改访客政策配置。
- 描述访客政策:获取特定访客政策的详细信息。
- 列出访客政策:查看项目中的访客政策列表。
- 删除访客:删除特定访客政策。
- 查看虚拟机实例的配置:查看应用于虚拟机实例的配置。
- 调试访客政策:排查访客政策问题。
由于 OS Config 代理每 10-15 分钟运行一次,因此当您设置政策更新或删除时,大约需要 10-15 分钟才能生效。
您可以使用 Google Cloud CLI 或 Cloud OS Config API 来管理访客政策。
在 Google Cloud CLI 和 Cloud OS Config API 中,访客政策名称采用 POLICY_ID
格式。
准备工作
- 如果您要使用本指南中的命令行示例,请执行以下操作:
- 安装或更新到 Google Cloud CLI 的最新版本。
- 设置默认区域和可用区。
- 如果您要使用本指南中的 API 示例,请设置 API 访问权限。
- 查看 OS Config API 速率和资源限制。
更新访客政策
如需更新访客政策,请完成以下步骤:
- 更新 YAML 或 JSON 文件。
- 运行 update 或 patch 命令。更新过程与创建过程类似,只是增加了对用于并发性和一致性控制的 ETag 的支持。
gcloud
使用 os-config guest-policies update
命令更新访客政策。
gcloud beta compute os-config guest-policies update POLICY_ID \ --file=FILE
替换以下内容:
POLICY_ID
:您要更新的访客政策的名称。FILE
:包含更新后的访客政策规范的 JSON 或 YAML 文件。
API
在 API 中,创建对 projects.guestPolicies.patch
方法的 PATCH
请求。
PATCH https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID { For more information, see Guest policy JSON }
请替换以下内容:
PROJECT_ID
:您的项目 ID。POLICY_ID
:您的访客政策的名称。
描述访客政策
gcloud
如需查看访客政策的相关详细信息,请使用 os-config guest-policies describe
命令。将 POLICY_ID
替换为您要描述的访客政策的名称。
gcloud beta compute os-config guest-policies describe POLICY_ID
API
在 API 中,创建对 projects.guestPolicies.get
方法的 GET
请求。
GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID
请替换以下内容:
PROJECT_ID
:您的项目 ID。POLICY_ID
:您的访客政策的名称。
列出访客政策
gcloud
如需查看项目中的访客政策列表,请使用 os-config guest-policies list
命令。
gcloud beta compute os-config guest-policies list
API
在 API 中,创建对 projects.guestPolicies.list
方法的 GET
请求。将 PROJECT_ID
替换为您的项目 ID。
GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies
删除访客政策
当 OS Config 代理检测到触发了对某访客政策的删除操作时,系统会保持当前状态,但不会对配置进行进一步维护。例如,假设您设置了访客政策 package-update-zone2b
,以在可用区 us-west2-b
中的所有虚拟机上安装软件包 my-package
,并保留软件包 UPDATED
。
如果您删除 package-update-zone2b
政策,则会发生以下更改:
us-west2-b
中所有安装了my-package
的虚拟机会保留my-package
的安装状态。但当前系统状态不会还原。删除政策后,在以后运行 OS Config 代理时,将发生以下情况:
- 如果向
us-west2-b
添加了新虚拟机,则my-package
不会安装到这个新虚拟机上。 - 对于安装了
my-package
的实例,该软件包不会更新。
- 如果向
gcloud
如需删除访客政策,请使用 os-config guest-policies delete
命令。将 POLICY_ID
替换为您要删除的访客政策的名称。
gcloud beta compute os-config guest-policies delete POLICY_ID
API
在 API 中,创建对 projects.guestPolicies.delete
方法的 DELETE
请求。
DELETE https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID
请替换以下内容:
PROJECT_ID
:您的项目 ID。POLICY_ID
:您的访客政策的名称。
查看虚拟机实例的配置
gcloud
如需查看应用于单个虚拟机实例的政策,请使用 os-config guest-policies lookup
命令。
gcloud beta compute os-config guest-policies lookup VM_NAME \ --zone=ZONE
替换以下内容:
VM_NAME
:虚拟机实例的名称。ZONE
:虚拟机实例的可用区。
API
如需查看应用于单个虚拟机实例的政策,请使用以下 POST
请求。
POST https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:lookupEffectiveGuestPolicy
替换以下内容:
PROJECT_ID
:您的项目 ID。ZONE
:虚拟机实例的可用区。VM_NAME
:虚拟机实例的名称。
问题排查
检查访客政策
您可以使用 Cloud Console 或 Google Cloud CLI 检查与项目关联的访客政策。
控制台
在 Google Cloud Console 中,转到操作系统访客政策页面。
选择要检查的访客政策,然后点击查看详情。
gcloud
使用
os-config guest-policies list
命令列出所有访客政策。gcloud beta compute os-config guest-policies list
从访客政策列表中,复制您要检查的访客政策的 ID,然后运行命令以检查每项访客政策。将
POLICY_ID
替换为您要查看的政策 ID。gcloud beta compute os-config guest-policies describe POLICY_ID
检查特定虚拟机的访客政策
您可以针对给定虚拟机运行 lookup
命令,以查看哪些配置应用于该虚拟机。
如果虚拟机似乎未遵循预期的访客政策要求,请检查其分配包含该特定虚拟机实例的访客政策列表。这有助于确定访客政策中的 Assignment
字段是否与该特定虚拟机匹配。
使用 os-config guest-policies lookup
命令列出可能针对某个特定虚拟机的访客政策。将 VM_NAME
替换为要检查的虚拟机的名称。
gcloud beta compute os-config guest-policies lookup VM_NAME
如需了解详情,请参阅查看虚拟机实例的配置。
该命令的输出可能会显示访客政策的虚拟机分配属性实际未针对该虚拟机。例如,它可能未列在 Labels
列表或虚拟机名称前缀列表中。
从故障中恢复
系统不会重新尝试安装已安装失败的软件配方。这是因为系统不知道安装失败的软件配方所处的状态。
当调试安装失败的软件配方时,我们建议执行以下步骤:
- 重命名软件配方。
- 使用重命名的软件配方删除并重新创建客机政策。
如需了解更多问题排查步骤,请参阅虚拟机管理器问题排查。