您可以使用「修補程式」,對一組虛擬機器 (VM) 執行個體套用作業系統修補程式。
如要將修補程式套用至 VM,請完成下列步驟:
事前準備
- 查看 OS 設定配額。
- 如要產生 VM 管理員事件的稽核記錄,請啟用資料存取稽核記錄。
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 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
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
限制
- 您只能為單一 Google Cloud 專案中的 VM 部署及執行修補程式工作。您無法跨 Google Cloud 專案執行修補程式作業,即使 VM 位於共用 VPC 中也一樣。不過,您可以查看跨專案的修補程式合規資料。
- 根據預設,VM 管理員不會修補屬於代管執行個體群組 (MIG) 的任何 VM。建立修補工作時,您可以覆寫這項預設行為。
修補屬於 MIG 的 VM 時,有下列限制:
- MIG 修復 VM 時,會根據執行個體範本重新建立 VM。這可能會導致 VM 回復為未修補狀態。
- 如果 MIG 啟用自動調整功能,修補 VM 可能會導致非預期的結果。負載下降時,自動調度器會刪除已修補的 VM,負載增加時,則會使用 MIG 的執行個體範本建立新的 VM,且不會套用任何修補程式。舉例來說,如果平均 CPU 使用率低於您為自動調度資源指定的目標使用率,MIG 可以在縮減規模時移除部分已修補的 VM。
支援的作業系統
如需支援 Patch 的作業系統和版本完整清單,請參閱「作業系統詳細資料」。
設定 VM
如要使用「修補」功能,請完成下列步驟:
權限
Google Cloud 專案擁有者有權執行及管理修補程式作業。如要授予其他使用者權限,您可以授予下列其中一項精細角色:
roles/osconfig.patchJobExecutor:包含執行、取消、取得及列出修補工作的權限。這個角色也包含查看修補工作執行個體詳細資料的權限。roles/osconfig.patchJobViewer:包含權限,可取得及列出修補程式作業,但只能讀取。此外,也包含查看修補工作執行個體詳細資料的權限。
舉例來說,如要授予使用者執行修補程式作業的權限,請使用下列指令:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchJobExecutor更改下列內容:
project-id:專案 ID。user-id:使用者的 Google Workspace 使用者名稱。
執行修補工作
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST 執行修補程式作業。
執行修補工作時,系統會同時在執行個體篩選條件指定的所有執行個體上,開始修補 VM。
開始修補程式工作後,您可以使用修補程式資訊主頁監控修補程式。修補程式作業開始後,資訊主頁大約需要 30 分鐘才會填入資料。
控制台
- 在 Google Cloud 控制台中,依序前往「Compute Engine」 >「VM Manager」 >「Patch」(修補程式) 頁面。
- 按一下「建立修補工作」。
在「目標 VM」部分中,選取要修補的 VM 所在的區域。你也可以選擇選取所有區域。
選取區域後,您可以進一步篩選該區域內的 VM。
舉例來說,如要修補所選可用區中的特定 VM,請輸入名稱和標籤篩選條件,類似於下列範例:
- 名稱前置字串:
test- - 標籤:「
env=dev」和「app=web」
- 名稱前置字串:
在「修補程式設定」部分,設定修補程式。
- 指定修補程式的「名稱」。
- 選取作業系統的必要更新。詳情請參閱修補程式設定。
在「排程」部分,完成下列步驟:
- 選取時間表。如要立即執行修補程式工作,請選取「立即啟動」。
- 選用:設定時間長度或維護時間範圍。
在「推出選項」部分,設定修補程式推出選項:
- 選取要一次修補一個可用區,還是同時修補多個可用區。
- 設定中斷預算。中斷預算是指您希望修補程序一次中斷的區域 VM 數量或百分比。
選用步驟:在「Advanced options」(進階選項) 部分,您可以完成下列工作:
- 選取重新啟動選項。
- 上傳修補前和修補後指令碼。如要進一步瞭解修補前和修補後指令碼,請參閱「指定修補前和修補後指令碼」。
按一下 [Deploy] (部署)。
gcloud
使用
os-config patch-jobs execute指令執行修補程式工作。將instance-filter替換為您想要的執行個體篩選條件。如要進一步瞭解執行個體篩選器,請參閱執行個體篩選器。gcloud compute os-config patch-jobs execute instance-filter
如要進一步瞭解套用的更新,請參閱「作業系統修補程式作業包含哪些內容」。如要自訂更新,請使用選用旗標。
範例
範例 1 如要執行修補程式工作並採用下列設定:
- 執行個體名稱:
instance-1 - 可用區:
us-east1-b 說明:
patch for instance-1您會執行下列指令:
gcloud compute os-config patch-jobs execute \ --instance-filter-names="zones/us-east1-b/instances/instance-1" \ --description "patch for instance-1"範例 2 假設您想以非同步方式執行修補工作,並採用下列設定:
- 您必須在專案中的所有執行個體上執行修補程式。
- 修補程式工作必須在 1 小時 30 分鐘後逾時並停止。
- 安裝更新後,機器必須根據系統設定重新啟動。
- 在執行 Apt 的 VM 上,修補作業是透過
apt dist-upgrade執行。 - 在執行 Windows 的 VM 上,只套用
KB4339284更新的修補程式。 - 在執行 Yum 的 VM 上,修補作業是使用
yum update-minimal --security公用程式完成。
您會執行下列指令:
gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --duration="1h30m" --reboot-config="DEFAULT" \ --apt-dist --windows-exclusive-patches=4339284 \ --yum-minimal --yum-security \ --asyncREST
在 API 中,建立
POST要求來執行新的修補作業。您必須透過patchJobs.executeAPI 說明文件,明確定義所有必要的設定欄位。如要進一步瞭解套用的更新,請參閱「作業系統修補程式工作包含哪些內容」。如要自訂更新,請使用
PatchConfig參數。舉例來說,僅含必填欄位的修補程式工作如下。
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter }更改下列內容:
project-id:您的專案 ID。instance-filter:您想要的篩選器參數。如要進一步瞭解執行個體篩選器,請參閱執行個體篩選器。
範例
範例 1 假設您要在位於
us-east1-b的instance1執行個體上執行修補程式作業。在這個範例中,我們新增了說明,並指定工作執行時間為 1 小時 30 分鐘。將project-id替換為專案 ID。POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "description":"patch instance1 in us-east1-b", "duration":"5400s", "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }範例 2 下列修補程式工作會選取具有下列設定的 VM:
- 具有「
env=dev」和「app=web」標籤。 - 位於
asia-east1-b或asia-east1-c。 - 前置字串為
test-。
在下列指令中,將
project-id替換為您的專案 ID。POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } } ], "instanceNamePrefixes":[ "test-" ], "zones":[ "asia-east1-b", "asia-east1-c" ] } }範例 3
假設您想執行修補工作,並採用下列設定:
- 您必須在專案中的所有執行個體上執行修補程式。
- 修補程式工作必須在 1 小時 30 分鐘後逾時並停止。API 規定時間必須以秒為單位,因此請將此值設為 5400 秒。
- 安裝更新後,機器必須根據系統設定重新啟動。
- 在執行 Apt 的 VM 上,修補作業是透過
apt dist-upgrade執行。 - 在執行 Windows 的 VM 上,只套用
KB4339284更新的修補程式。 - 在執行 Yum 的 VM 上,修補作業是使用
yum update-minimal --security公用程式完成。
您會建立下列要求:
在下列指令中,將
project-id替換為您的專案 ID。POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "duration":"5400s", "instanceFilter":{ "all":true }, "patchConfig":{ "rebootConfig":"DEFAULT", "apt":{ "type":"DIST" }, "yum":{ "security":true, "minimal":true }, "windowsUpdate":{ "exclusivePatches":"4339284" } } }執行個體篩選器
您可以使用篩選器指定要納入修補作業的執行個體。修補程式工作支援下列篩選條件:
依名稱篩選:將修補程式工作限制為僅適用於具有特定名稱的執行個體。執行個體名稱必須使用完整 URI 指定。支援的 URI 格式包括:
zones/zone/instances/instance-name
projects/project-id/zones/zone/instances/instance-name
https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name
依名稱前置字串篩選:將修補程式工作限制為名稱含有特定前置字串的執行個體。
依可用區篩選:將修補程式作業限制在特定可用區的執行個體。
依標籤篩選:將修補程式工作限制為具有特定標籤的執行個體。
您也可以在
instanceFilter中將all欄位設為true,在 Google Cloud 專案中的所有執行個體上執行修補程式作業。詳情請參閱執行個體篩選器範例。執行個體篩選器範例
情境 gcloud 篩選器 API 篩選器 專案中的所有執行個體 Google Cloud --instance-filter-all
{ "instanceFilter":{ "all":"true" } }位於區域 us-east1-b的執行個體,名稱為instance1。--instance-filter-names="zones/us-east1-b/instances/instance1"
{ "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }前置字串為 app-的執行個體--instance-filter-name-prefixes="app-"
{ "instanceFilter":{ "instanceNamePrefixes":[ "app-" ] } }區域 us-east1-b或us-east1-c中的執行個體--instance-filter-zones="us-east1-b","us-east1-c"
{ "instanceFilter":{ "zones":[ "us-east1-b", "us-east1-c" ] } }標籤組合為 env=dev和app=web的執行個體,以及標籤為env=dev和app=worker的執行個體。--instance-filter-group-labels="env=dev,app=web" --instance-filter-group-labels="env=dev,app=worker"
{ "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } }, { "labels":{ "env":"dev", "app":"worker" } } ] } }合併執行個體篩選器
您也可以合併執行個體篩選器。舉例來說,如要為前置字串為
test-、位於us-east1-c區域,且具有env=dev和app=web標籤的執行個體執行修補程式工作,請執行下列指令:gcloud compute os-config patch-jobs execute \ --instance-filter-name-prefixes="test-" \ --instance-filter-zones="us-east1-c" \ --instance-filter-group-labels="env=prod,app=web"修補程式設定
執行修補程式作業時,您可以指定參數來控管要套用至 VM 的修補程式。修補程式設定參數取決於平台,通常會傳遞至基礎系統更新工具。實際修補程式的來源是 VM 上設定的套件存放區 (Linux) 或 Windows Update 伺服器 (Windows)。
您可以為 VM 指定下列修補程式設定:
- 如果是 Windows,請指定要套用的修補程式分類 (例如
Security和Critical),或指定要排除的 KB。 如要進一步瞭解修補程式分類,請參閱 Microsoft 支援說明文件。 對於 RHEL、Rocky Linux 和 CentOS,基礎系統為
yum。- 如要修補 RHEL 和 Rocky Linux VM,可以指定
security和minimal套件。 - 對於 CentOS VM,CentOS
yum存放區中沒有security中繼資料。因此更新安全性套件時,您不需要指定security選項。如果未指定任何套件,修補程式工作會更新所有套件,包括含有安全性更新的套件。 - 您也可以排除特定套裝組合。詳情請參閱
yum說明文件頁面。
- 如要修補 RHEL 和 Rocky Linux VM,可以指定
對於 Debian 和 Ubuntu,基礎系統為
apt。如要為這些 VM 安裝修補程式,可以指定dist-upgrade或標準升級。您也可以排除特定套件。詳情請參閱 Debian 說明文件頁面或 Ubuntu 說明文件頁面。對於 SuSE,底層系統為
zypper,具體來說是使用 zypper 修補程式。針對以這些 VM 為目標的修補程式,您可以指定下列選項:with update:更新修補程式未涵蓋的所有套件with optional:視需要處理選用修補程式- 要套用的修補程式類別或嚴重程度
您也可以排除特定修補程式。
您也可以選擇只安裝核准的修補程式,方法是針對所有支援的作業系統指定這些更新。您可以在這裡輸入核准的套件或修補程式清單。選取這些核准的修補程式後,系統只會安裝核准的套件或修補程式。更新期間,系統會略過所有其他修補程式設定參數。
範例
控制台
gcloud
舉例來說,如要在區域
northamerica-northeast1-a中所有執行個體上執行修補程式工作,並為不同作業系統設定特定修補程式,請執行gcloud compute os-config patch-jobs execute指令:gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --apt-dist \ --yum-security \ --yum-minimal \ --zypper-categories=security \ --windows-classifications=critical,security \ --reboot-config=default \ --skip-unpatchable-vms如要進一步瞭解支援的選項,請執行下列指令:
gcloud compute os-config patch-jobs execute --help
REST
舉例來說,如要在可用區
northamerica-northeast1-a的所有執行個體上執行修補程式作業,並為不同作業系統設定特定修補程式,請執行下列指令:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "apt": { "type": "dist-upgrade" }, "yum": { "security": true, "minimal": true }, "zypper": { "categories": ["security"] }, "windowsUpdate": { "classifications": ["CRITICAL", "SECURITY"] }, "rebootConfig": "DEFAULT" }, "skipUnpatchableVms": true }如要進一步瞭解支援的參數,請參閱
PatchConfig API說明文件。MIG 中的 VM 和無法修補的 VM 設定
如要指定 VM 管理員處理代管執行個體群組 (MIG) 中的 VM,或執行不支援修補作業的作業系統的 VM,請在修補程式設定中使用下列布林選項:
- 允許修補 MIG 執行個體:根據預設,VM 管理員不會修補 MIG 中的任何 VM。如要修補 MIG 中的 VM,請將
migInstancesAllowed設為true。如要進一步瞭解修補 MIG 中 VM 的限制,請參閱「限制」一節。 略過無法修補的 VM:如果將
skipUnpatchableVms設為true,只要符合下列任一條件,VM 管理員就會略過修補 VM 的作業:- VM 的作業系統不支援修補程式。例如 Container-Optimized OS。請參閱「支援的作業系統」。
- VM 屬於 MIG,且
migInstancesAllowed設為false。
如果
skipUnpatchableVms設為true,修補工作會將無法修補的 VM 修補狀態回報為SKIPPED。此外,如果沒有發生其他錯誤,修補程式作業會針對閒置 VM 回報COMPLETED_WITH_INACTIVE_VMS狀態,而非COMPLETED_WITH_ERRORS。
維護期間
維護期間是指您允許修補程式工作執行的總時間長度。 如果修補程式工作未在指定維護時段內完成,就會逾時。
舉例來說,如果您將維護期間設為
60 minutes,系統就不會在開始時間後 60 分鐘內啟動任何新的修補程式工作。部分程序 (例如下載檔案或重新啟動) 可能會在維護期間外執行,但系統不會啟動新的修補工作。重新啟動選項
執行修補程式工作時,您可以指定修補程式的重新啟動選項。可用的選項如下:
- 預設:代理程式會檢查各個 OS 的常見信號,藉此判定是否需要重新啟動。修補作業期間可能會多次重新啟動,且可能在安裝任何修補程式前發生。
- 一律重新啟動:機器會在更新作業完成後重新啟動。
- 永不:機器在更新作業完成後不會重新啟動。在某些情況下,這可能表示並非所有修補程式都已完全套用。
修補前和修補後指令碼
執行修補程式工作時,您可以指定要執行的指令碼,做為修補程序的一部分。這些指令碼可用於執行關閉應用程式和執行健康狀態檢查等工作。
- 在修補作業展開前運作的修補前指令碼。如果系統必須在修補作業展開前重新啟動,則修補前指令碼會在系統重新啟動前開始運作。
- 在修補作業完成後運作的修補後指令碼。如果系統必須在修補作業中重新啟動,則修補後指令碼會在系統重新啟動後開始運作。
修補工作可接受 Linux 的修補前和修補後指令碼各一,以及 Windows 的修補前和修補後指令碼各一。使用 Google Cloud CLI、REST 或 Google Cloud 控制台指定 Linux 和 Windows 指令碼時,必須使用適當的旗標、參數或區段。Linux 指令碼只能在 Linux VM 上執行,Windows 指令碼只能在 Windows VM 上執行。
這些指令碼檔案可以儲存在 VM 或已啟用版本控管的 Cloud Storage 值區中。
將修補程式指令碼儲存在 Cloud Storage bucket 中
如要使用 Cloud Storage bucket 儲存指令碼,請建立 Cloud Storage bucket,並將指令碼上傳至 bucket。使用 Cloud Storage bucket 時,請注意下列事項:
- 如果 Cloud Storage 物件無法公開讀取,請確保附加至執行個體的服務帳戶具備讀取 Cloud Storage 物件的必要 IAM 權限。如要確認您具備適當權限,請檢查 Cloud Storage 物件的權限設定。
- 使用Google Cloud 控制台從 Cloud Storage 選取指令碼時,系統預設會使用指定 Cloud Storage 物件的最新版本。
如果貴機構強制執行資源位置限制條件,您就必須將指令碼儲存在機構政策允許的區域和可用區的 Cloud Storage 值區中。
控制台
gcloud
舉例來說,如要在可用區
northamerica-northeast1-a的所有執行個體上執行修補工作,並為 Linux 和 Windows 執行個體提供修補前和修補後指令碼,請執行下列指令:gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --async \ --pre-patch-linux-executable="/tmp/pre_patch_script.sh" \ --post-patch-linux-executable="gs://my-patch-scripts/linux/post_patch_script#1523477886880" \ --pre-patch-windows-executable="C:\\Users\\user\\pre-patch-script.cmd" \ --post-patch-windows-executable="gs://my-patch-scripts/windows/post_patch_script.ps1#135920493447"如要進一步瞭解可接受的檔案格式,請執行下列指令:
gcloud compute os-config patch-jobs execute --help
REST
舉例來說,如要在可用區
northamerica-northeast1-a的所有執行個體上執行修補工作,並為 Linux 和 Windows 執行個體提供修補前和修補後指令碼,請執行下列指令:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "preStep":{ "linuxExecStepConfig":{ "localPath":"/tmp/pre_patch_script.sh" }, "windowsExecStepConfig":{ "interpreter":"SHELL", "localPath":"C:\\Users\\user\\pre-patch-script.cmd" } }, "postStep":{ "linuxExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"1523477886880", "object":"linux/post_patch_script" } }, "windowsExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"135920493447", "object":"windows/post_patch_script.ps1" }, "interpreter":"POWERSHELL" } } } }如要進一步瞭解可接受的檔案格式,請參閱
PatchConfigAPI 說明文件的ExecStepConfig一節。修補程式推出選項
您可以選擇一次修補一個可用區的 VM (逐一修補可用區),或同時修補所有可用區的 VM (並行修補可用區)。
除了選取區域推出作業外,您也可以為 VM 指定區域中斷預算。
可用區服務中斷預算
中斷預算是指各區域在特定時間內受中斷的 VM 數量 (或百分比) 上限。
什麼是中斷的 VM?
修補期間,系統會從通知 OS 設定代理程式開始修補,到修補完成為止,將 VM 視為中斷。這段中斷時間包括完成重新啟動和任何修補後步驟的時間。
如果 VM 符合下列任一條件,也會計入中斷預算:
- 套用修補程式時,修補作業失敗
- 執行修補前或修補後步驟時,修補作業失敗
- 修補作業在逾時前未傳送成功通知
中斷預算的運作方式
如果是逐區推出,如果某個區域超出中斷預算,修補程式工作就會停止。這是因為繼續前往下一個區域前,必須完成上一個區域的修補程序。
舉例來說,如果中斷預算值為 10,且目前區域中有 8 部 VM 無法修補,修補工作會繼續一次修補 2 部 VM,直到該區域完成修補為止。該區域完成修補後,系統會開始修補下一個區域,一次修補 10 部 VM。如果下一個可用區中有 10 部 VM 無法完成修補,修補作業就會停止。
範例
控制台
gcloud
範例 1
本範例顯示如何使用
os-config patch-jobs execute指令,執行符合下列規格的修補程式工作:- 修補專案中的所有 VM
- 依可用區修補 VM
- 確保同一可用區中,在特定時間內受中斷的 VM 不超過 10 個
gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=zone-by-zone \ --rollout-disruption-budget=10
示例 2
本範例顯示如何使用
os-config patch-jobs execute指令,執行符合下列規格的修補程式工作:- 修補專案中的所有 VM
- 同時修補多個可用區
- 確保同一區域中受中斷的 VM 不超過 50%
gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=concurrent-zones \ --rollout-disruption-budget-percent=50
REST
這個範例顯示如何使用
patchJobs.execute方法,以執行符合下列規格的修補程式工作:- 修補可用區
us-central1-a、us-central1-c和us-central1-f中的所有 VM - 同時修補多個可用區
- 確保同一區域中,在特定時間內中斷的執行個體不超過 25%
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "us-central1-a", "us-central1-c", "us-central1-f" ] }, "rollout": { "disruptionBudget": { "percent": 25 }, "mode": "CONCURRENT_ZONES" } }如要進一步瞭解修補程式推出作業,請參閱
PatchRolloutAPI 說明文件。在 Windows VM 上啟用 Microsoft 軟體修補程式
在 Windows VM 上執行修補作業時,Patch 預設只會套用 Windows 作業系統的修補程式。
執行修補程式作業時,您可以為 Windows VM 上執行的 Microsoft 軟體套用更新,例如 Microsoft SQL Server、SharePoint Server 或 .NET Framework。根據預設,系統會停用這些應用程式的修補程式,以免服務中斷,並將這些軟體的排定更新作業分開處理。如要自動修補 Microsoft 軟體,可以使用 Windows UI 或 PowerShell。
Windows UI
- 在 Windows「開始」選單中,依序選取「設定」>「更新與安全性」>「Windows Update」。
- 在「進階選項」部分,開啟「在更新 Windows 時接收其他 Microsoft 產品的更新」。
PowerShell
$service_manager = New-Object -ComObject 'Microsoft.Update.ServiceManager' $service_manager.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")偵錯修補工作
如果修補程式安裝失敗,請按照下列步驟找出並解決問題。
查看受影響修補程式工作的執行個體詳細資料。這有助於您找出失敗的執行個體,或執行個體停滯的狀態。執行個體詳細資料清單也會顯示每個執行個體的簡短錯誤訊息。
如果修補程式失敗,且狀態為
NO_AGENT_DETECTED或TIMED_OUT,通常表示服務已傳送要求給代理程式,要求開始修補,但代理程式未回報。請查看下列可能原因和修正方式:- 執行個體未執行。如要修正這個問題,請啟動 VM 執行個體。
- 使用驗證檢查清單驗證設定。
- 虛擬私有雲網路或執行個體上的網路設定,不允許 OS Config 代理程式與 OS Config API 通訊。如要修正這個問題,請檢查網路設定。
如果執行個體詳細資料提供的資訊不足,請查看 Cloud Logging 記錄或序列埠控制台。OS Config 代理程式會將記錄項目寫入這兩個位置。 在 Cloud Logging 中,您可以使用修補程式工作 ID 進行篩選,查看與該修補程式工作相關的所有記錄項目。您也可以在 VM 或專案層級設定
osconfig-log-level=debug中繼資料值,啟用偵錯記錄。 Google Cloud
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-12-04 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-12-04 (世界標準時間)。"],[],[]] -