建立修補作業後,您可以使用下列程序查看及管理修補程式:
- 列出修補工作:查看所有有效和已完成的工作清單。
- 列出 VM 執行個體詳細資料:查看 VM 執行個體的修補程式狀態。
- 說明修補工作:取得特定修補工作的詳細資料。
- 取消修補工作:取消特定的修補工作。
您可以使用 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.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
權限
專案擁有者擁有完整的存取權,可執行及管理修補作業。您必須授予其他使用者權限,您可以授予下列精細角色:
roles/osconfig.patchJobExecutor
:包含執行、取消、取得及列出修補工作的權限。也包含查看修補工作執行個體詳細資料的權限。roles/osconfig.patchJobViewer
:包含取得及列出修補程式工作時的唯讀存取權限。也包含查看修補工作中執行個體詳細資料的權限。
列出修補工作
查看所有有效和已完成的工作清單。
主控台
- 在 Google Cloud 控制台中依序前往「Compute Engine」 >「VM Manager」 >「Patch」頁面。
- 選取「Patch Jobs」分頁標籤。
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
的修補工作,並以建立時間和升冪順序排序,請執行下列指令:
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
列出特定修補工作的所有 VM 執行個體詳細資料
查看使用 OS 修補程式管理服務的 VM 執行個體完整清單,瞭解修補工作狀態。
主控台
- 在 Google Cloud 控制台中依序前往「Compute Engine」 >「VM Manager」 >「Patch」頁面。
- 選取「Patch Jobs」分頁標籤。
- 按一下要查看的修補工作名稱。
- 向下捲動至「已更新的 VM 執行個體」。
gcloud
使用 os-config patch-jobs list-instance-details
指令,列出特定修補工作中所有 VM 的詳細資料。將 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 ..."
您可以使用更多標記來篩選、排序及格式化搜尋結果。舉例來說,如要依據執行個體名稱以降冪順序列出所有非活動 VM 的詳細資料,請執行下列指令。將 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
更改下列內容:
project-id
:您的專案 ID。patch-job-id
:修補作業 ID。
說明修補工作
查看修補工作詳細資訊。
主控台
- 在 Google Cloud 控制台中依序前往「Compute Engine」 >「VM Manager」 >「Patch」頁面。
- 選取「Patch Jobs」分頁標籤。
- 按一下要查看的修補工作名稱。
- 查看「更新資訊」部分。
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
更改下列內容:
project-id
:您的專案 ID。patch-job-id
:修補作業 ID。
取消修補工作
取消修補工作時,OS Config 代理程式會完成目前執行的子項工作,但不會繼續執行。子工作是指由代理程式執行且無法停止的工作。
舉例來說,如果在 VM 例項重新啟動時取消修補工作,重新啟動 (以及任何可能的重新啟動後自動修補) 仍會執行至完成,但代理程式不會為該修補工作啟動其他工作。
主控台
- 在 Google Cloud 控制台中依序前往「Compute Engine」 >「VM Manager」 >「Patch」頁面。
- 選取「Patch Jobs」分頁標籤。
- 展開要取消的修補工作 「Actions」 選單。
- 選取「取消」。
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
更改下列內容:
project-id
:您的專案 ID。patch-job-id
:修補作業 ID。