创建修补作业后,您可以按照以下步骤查看和管理您的补丁程序:
- 列出修补作业:查看所有活跃作业和已完成作业的列表。
- 列出虚拟机实例详细信息:查看虚拟机实例的修补状态。
- 描述修补作业:获取有关特定修补作业的详细信息。
- 取消修补作业:取消特定的修补作业。
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST 管理修补作业。
准备工作
- 查看 OS Config 配额。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
roles/osconfig.patchJobExecutor
:包含运行、取消、获取和列出修补作业的权限。该角色还包含查看修补作业对应实例的详情的权限。roles/osconfig.patchJobViewer
:包含获取和列出修补作业的只读权限。该角色还包含查看修补作业对应实例的详情的权限。- 在 Google Cloud 控制台中,依次前往 Compute Engine > 虚拟机管理器 > 补丁页面。
- 选择修补作业标签页。
- 在 Google Cloud 控制台中,依次前往 Compute Engine > 虚拟机管理器 > 补丁页面。
- 选择修补作业标签页。
- 点击要查看的修补作业的名称。
- 向下滚动到已更新的虚拟机实例。
project-id
:您的项目 ID。patch-job-id
:您的修补作业 ID。- 在 Google Cloud 控制台中,依次前往 Compute Engine > 虚拟机管理器 > 补丁页面。
- 选择修补作业标签页。
- 点击要查看的修补作业的名称。
- 查看更新信息部分。
project-id
:您的项目 ID。patch-job-id
:您的修补作业 ID。- 在 Google Cloud 控制台中,依次前往 Compute Engine > 虚拟机管理器 > 补丁页面。
- 选择修补作业标签页。
- 展开要取消的修补作业的 操作菜单。
- 选择取消。
project-id
:您的项目 ID。patch-job-id
:您的修补作业 ID。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
权限
项目的所有者拥有运行和管理修补作业的完整访问权限。 对于所有其他用户,您需要为其授予权限。您可以授予以下其中一种精细角色:
列出修补作业
查看所有活跃作业和已完成作业的列表。
控制台
gcloud
使用
os-config patch-jobs list
命令列出修补作业。gcloud compute os-config patch-jobs list
对于 Google Cloud CLI,默认输出会返回最近的 10 项修补作业,无论它们是已完成的作业还是活跃的作业都是如此。您可以通过使用
--limit
标志来替换此设置。输出类似以下内容:
ID NAME DESCRIPTION CREATE_TIME UPDATE_TIME STATE TARGETED_INSTANCES 23b0815e-1c94-4dc6-91b1-30a6da395cb9 2019-11-05T20:22:54.150Z 2019-11-06T19:40:08.641Z COMPLETED_WITH_ERRORS 4 4116ad72-bd57-4e48-94dc-7a577dc707b6 2019-08-23T20:36:03.068Z 2019-08-23T20:36:15.984Z CANCELED 2 06856cbe-9a7b-498e-9105-9ae4eb566511 2019-08-12T20:27:38.410Z 2019-08-12T20:28:37.583Z SUCCEEDED 1 04a15964-9eaa-4282-96f5-9cd535352cf6 2019-08-12T17:48:22.938Z 2019-08-12T17:48:42.274Z SUCCEEDED 0 21dc1e06-deee-4e3a-821e-8082a32abde5 testing patch job reboot 2019-07-24T22:45:07.451Z 2019-07-25T00:44:44.459Z TIMED_OUT 1
您可以使用更多标志来对搜索进行过滤和排序以及设置搜索格式。 例如,如需过滤上述输出,以便按创建时间升序列出状态为
SUCCEEDED
的修补作业的 URI,请运行以下命令:gcloud compute os-config patch-jobs list \ --filter="state=SUCCEEDED" \ --sort-by="create_time" --uri
输出类似以下内容:
https://osconfig.googleapis.com/v1/projects/1234567/patchJobs/04a15964-9eaa-4282-96f5-9cd535352cf6 https://osconfig.googleapis.com/v1/projects/1234567/patchJobs/06856cbe-9a7b-498e-9105-9ae4eb566511
如需查看完整的标志列表,请参阅
os-config patch-jobs list
命令。REST
在 API 中,创建对
patchJobs.list
方法的GET
请求。将project-id
替换为您的项目 ID。GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs
列出特定修补作业的所有虚拟机实例详细信息
查看使用 OS Patch Management 的所有虚拟机实例的修补作业状态。
控制台
gcloud
使用
os-config patch-jobs list-instance-details
命令列出特定修补作业中所有虚拟机的详细信息。将patch-job-id
替换为您的修补作业的 ID。gcloud compute os-config patch-jobs list-instance-details patch-job-id
例如,如需查看属于修补作业
23b0815e-1c94-4dc6-91b1-30a6da395cb9
的所有实例的详细信息,请运行以下命令:gcloud compute os-config patch-jobs list-instance-details 23b0815e-1c94-4dc6-91b1-30a6da395cb9
输出类似以下内容:
NAME ZONE STATE FAILURE_REASON instance-1 us-central1-a SUCCEEDED guest-policy-test-instance us-east1-c TIMED_OUT Instance timed out while in state: APPLYING_PATCHES after PT1H2.225S my-centos us-west1-b SUCCEEDED my-windows us-west1-b FAILED Error running pre-patch step: fork/exec /tmp/pre_patch_script.sh: no such file ..."
您可以使用更多标志来对搜索进行过滤和排序以及设置搜索格式。 例如,如需按实例名称降序列出所有非活跃虚拟机的详细信息,请运行以下命令。将
patch-job-id
替换为您的修补作业的 ID。gcloud compute os-config patch-jobs list-instance-details patch-job-id \ --filter="state=INACTIVE" \ --sort-by="~name"
如需查看完整的标志列表,请参阅
os-config patch-jobs list-instance-details
命令。REST
在 API 中,创建对
patchJobs.instanceDetails
方法的GET
请求。GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id/instanceDetails
替换以下内容:
描述修补作业
查看修补作业的详细信息。
控制台
gcloud
使用
os-config patch-jobs describe
命令描述修补作业。将patch-job-id
替换为您的修补作业的 ID。gcloud compute os-config patch-jobs describe patch-job-id
例如,如需查看修补作业
23b0815e-1c94-4dc6-91b1-30a6da395cb9
的相关信息,请运行以下命令:gcloud compute os-config patch-jobs describe 23b0815e-1c94-4dc6-91b1-30a6da395cb9
输出类似以下内容:
createTime: '2019-11-05T20:22:54.150Z' errorMessage: Completed with 2 instance failure(s). filter: id=* instanceDetailsSummary: instancesFailed: '1' instancesSucceeded: '2' instancesTimedOut: '1' instanceFilter: {} name: projects/1234567/patchJobs/23b0815e-1c94-4dc6-91b1-30a6da395cb9 patchConfig: {} percentComplete: 100.0 state: COMPLETED_WITH_ERRORS updateTime: '2019-11-06T19:40:08.641Z'
REST
在 API 中,创建对
patchJobs.get
方法的GET
请求。GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id
替换以下内容:
取消修补作业
取消修补作业时,OS Config 代理会完成其所在的子任务,但此后不会继续执行修补作业。子任务是指由该代理执行且无法停止的任务。
例如,如果在虚拟机实例重新启动期间取消修补作业,则“重新启动”操作(以及重新启动后可能执行的任何自动修补操作)会继续执行到完成为止,但该代理不会为该修补作业启动其他任务。
控制台
gcloud
使用
os-config patch-jobs cancel
命令取消修补作业。将patch-job-id
替换为您的修补作业的 ID。gcloud compute os-config patch-jobs cancel patch-job-id
REST
在 API 中,创建对
patchJobs.cancel
方法的POST
请求。POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id:cancel
替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-08。
-