設定 VM 管理員

在 Compute Engine 中,您可以使用 VM 管理員,管理虛擬機器 (VM) 上執行的作業系統。

您可以為個別 VM、專案,或資料夾/組織中的所有專案啟用 VM 管理員。如要查看設定 VM 以使用 VM 管理員的必要步驟,請參閱「設定總覽」。如要使用 Terraform 啟用 VM Manager 並在整個組織中指派 OS 政策,請參閱「使用 Terraform 在整個組織中設定 VM Manager」。

設定 VM Manager 後,您可以查看使用 OS Config API 執行的 API 作業稽核記錄,請參閱「查看 VM Manager 稽核記錄」。

事前準備

  • 查看專案的 OS 設定配額。
  • 如果尚未設定驗證,請先完成設定。驗證程序會確認您的身分,以便授予 Google Cloud 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:

    請根據您打算如何使用本頁範例,選取對應的分頁標籤:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證機制。

    gcloud

    1. 安裝 Google Cloud CLI。 安裝完成後, 請執行下列指令,初始化 Google Cloud CLI:

      gcloud init

      如果採用外部識別資訊提供者 (IdP),必須先 使用聯合身分登入 gcloud CLI。

  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      如果採用外部識別資訊提供者 (IdP),必須先 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」一節。

支援的作業系統

如需支援 VM Manager 的作業系統版本完整清單,請參閱「作業系統詳細資料」。如果 OS 設定代理程式不適用於特定作業系統,您就無法為執行該作業系統的 VM 啟用 VM 管理員。

啟用 OS Config 服務 API

您可以透過下列任一方法,為 Google Cloud 專案啟用 OS Config API:

必要的角色

如要取得啟用 API 所需的權限,請要求管理員授予您專案的服務使用情形管理員 (roles/serviceusage.serviceUsageAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備 serviceusage.services.enable 權限,可啟用 API。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

為單一專案啟用 OS Config API

在 Google Cloud 專案中啟用 OS Config API。

控制台

  1. 在 Google Cloud 控制台,選取要啟用 API 的專案。
  2. 前往「OS Config API」頁面。

    前往 OS Config API

  3. 按一下「啟用」。

gcloud

如要啟用 API,請執行下列指令:

gcloud services enable osconfig.googleapis.com --project=PROJECT_ID

將 PROJECT_ID 替換為專案 ID。

為多項專案啟用 OS Config API

如要為組織或資料夾中的所有專案啟用 OS Config API (VM Manager API),請使用階層式服務啟用。這項功能會自動為 Google Cloud 資源階層中所有現有和新專案啟用服務,因此您不必手動為各項專案啟用服務。

如要進一步瞭解階層式服務啟用功能,請參閱「階層式服務啟用功能總覽」。

或者,如要使用 Terraform 啟用 VM 管理員 並在整個組織中指派 OS 政策,請參閱「使用 Terraform 在整個組織中設定 VM 管理員」。

必要的角色

如要取得管理服務啟用所需的權限,請要求管理員授予您目標資源的服務使用情形管理員 (roles/serviceusage.serviceUsageAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備管理服務啟用所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能管理服務啟用狀態:

  • 列出服務:
    • serviceusage.effectivepolicy.get
    • serviceusage.services.list
    • serviceusage.services.get
  • 啟用服務:
    • serviceusage.consumerpolicy.get
    • serviceusage.consumerpolicy.update
    • serviceusage.groups.listExpandedMembers
  • 停用服務:
    • serviceusage.consumerpolicy.get
    • serviceusage.consumerpolicy.update
    • serviceusage.consumerpolicy.analyze

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

資料夾

如要為資料夾中的所有專案啟用 OS Config API,請執行下列指令:

gcloud beta services enable osconfig.googleapis.com \
    --folder=FOLDER_ID

將 FOLDER_ID 替換為資料夾 ID。

機構組織

如要為組織中的所有專案啟用 OS Config API,請執行下列指令:

gcloud beta services enable osconfig.googleapis.com \
    --organization=ORGANIZATION_ID

請將 ORGANIZATION_ID 替換成組織 ID。

使用組織政策設定 VM 管理員中繼資料

您可以使用「需要 OS 設定」組織政策,自動為組織、資料夾或專案中的所有新 VM 設定 VM Manager 中繼資料。

設定「須完成 OS 設定」布林值限制後,系統會套用下列條件:

  • 所有新專案的專案中繼資料都會包含 enable-osconfig=TRUE。
  • 無論是新的或現有的 VM 和專案,只要要求將執行個體或專案中繼資料中的 enable-osconfig 設為 FALSE,就會遭到拒絕。
  • 這項組織政策不會將 VM 或啟用政策前建立的專案,其 enable-osconfig 中繼資料值變更為 TRUE。如要在這些 VM 或專案啟用 VM 管理員,建議您更新中繼資料。詳情請參閱「設定中繼資料值」。

啟用 OS 設定組織政策後,您仍可使用 osconfig-disabled-features 中繼資料停用一或多項 VM Manager 功能。

啟用 OS Config 組織政策

如要啟用 OS Config 政策,您可以使用Google Cloud 控制台或 Google Cloud CLI,對整個組織、資料夾或特定專案設定「需要 OS Config」限制。

控制台

如要透過控制台設定 OS Config 組織政策,請完成下列步驟:

  1. 前往 Google Cloud 控制台的「Organization policies」(組織政策) 頁面。

    前往「Organization policies」(組織政策)

  2. 在專案挑選器中,選取要編輯組織政策的專案、資料夾或組織。

  3. 「Organization policies」(組織政策) 頁面會顯示可篩選的可用組織政策限制清單。

  4. 從限制清單中選取「Require OS Config」(需要 OS Config) 限制。接著,系統會顯示「Policy details」(政策詳細資料) 頁面,說明限制條件及套用方式。

  5. 如要更新這項資源的組織政策,請按一下「Manage policy」(管理政策)。

  6. 在「Edit policy」(編輯政策) 頁面,選取「Override parent's policy」(覆寫上層政策)。

  7. 選取「新增規則」。

  8. 在「Enforcement」(強制執行) 下方,選取是否要強制執行這項組織政策。

  9. 如要強制執行政策,請按一下「Set policy」(設定政策)。

gcloud

如要設定 OS Config 組織政策,請使用 gcloud beta resource-manager org-policies enable-enforce 指令。

  1. 找出組織 ID。

    gcloud organizations list
  2. 在組織中設定限制。將 organization-id 替換為您的組織 ID。

    gcloud resource-manager org-policies enable-enforce compute.requireOsConfig \
        --organization=organization-id
    

您也可以使用 --folder 或 --project 旗標,以及資料夾 ID 和專案 ID,將 OS Config 組織政策套用至資料夾或專案。

如要套用至資料夾,請執行下列指令:

gcloud resource-manager org-policies enable-enforce compute.requireOsConfig \
    --folder=folder-id

如要套用至專案,請執行下列指令:

gcloud resource-manager org-policies enable-enforce compute.requireOsConfig \
    --project=project-id

更改下列內容:

在專案中啟用 VM Manager

如要在專案中啟用 VM Manager,有兩種做法:

  • 自動啟用:套用至整個 Google Cloud 專案。您可以在 Google Cloud 控制台完成自動啟用程序。不過,您可能仍需手動完成部分步驟。
  • 手動啟用:可為個別 VM 或整個 Google Cloud 專案啟用。

手動

如要手動設定 VM Manager,請完成下列步驟:

  1. 在 Google Cloud 專案中啟用 OS Config API。
  2. 在各個 VM 上,檢查是否 已安裝 OS Config 代理程式。如果尚未安裝代理程式,請安裝 OS Config 代理程式。
  3. 在專案或各個 VM 上,設定 OS 設定代理程式的執行個體中繼資料。必須完成這個步驟,才能在 VM 或專案中啟用 OS Config 代理程式。
  4. 確認所有 VM 都有附加的服務帳戶。您不需要為這個服務帳戶授予任何 IAM 角色。VM Manager 會使用這個服務帳戶簽署傳送至 API 服務的要求。
  5. 如果 VM 是在私人虛擬私有雲網路中運作,且沒有公開網路連線能力,請啟用 Private Google Access。
  6. 如果 VM 使用 HTTP Proxy,請設定 HTTP Proxy。
  7. 選用。在專案或各個 VM 上,停用不需要的功能。

自動

首次前往Google Cloud 控制台中的任何 VM Manager 頁面時,可以選擇自動啟用 VM Manager。

如果按照引導步驟操作,您可以使用自動啟用功能完成下列操作:

  • 在 Google Cloud 專案啟用 VM 管理員 (OS Config API)
  • 在 Google Cloud 專案中,為所有已安裝代理程式的 VM 啟用 OS 設定代理程式

自動啟用。

檢查是否已安裝 OS Config 代理程式

OS Config 代理程式預設會安裝在 CentOS、Container-Optimized OS (COS)、Debian、Red Hat Enterprise Linux (RHEL)、Rocky Linux、SLES、Ubuntu 和 Windows Server 映像檔上,建構日期為 v20200114或之後。如要瞭解已安裝 OS Config 代理程式的作業系統版本,請參閱「作業系統詳細資料」。在您啟用代理中繼資料和啟用服務 API 之前,這些代理會保持閒置狀態。

Linux

如要檢查 Linux VM 是否已安裝代理程式,請執行下列指令:

sudo systemctl status google-osconfig-agent

如果代理程式已安裝並執行,輸出內容會與下列內容相似:

google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
 Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
        └─369 /usr/bin/google_osconfig_agent

如果未安裝代理程式,請安裝 OS Config 代理程式。

Windows

如要檢查 Windows VM 是否已安裝代理程式,請執行下列指令:

PowerShell Get-Service google_osconfig_agent

如果代理程式已安裝並執行,輸出內容會與下列內容相似:

Status   Name               DisplayName
------   ----               -----------
Running  google_osconfig... Google OSConfig Agent

如果未安裝代理程式,請安裝 OS Config 代理程式。

安裝 OS Config 代理程式

按照下列步驟安裝代理程式之前,請先確認代理程式是否已在 VM 上執行。

在每個 VM 上安裝 OS Config 代理程式。您可以透過下列任一方式安裝 OS Config 代理程式:

手動安裝代理程式

使用這個選項,在現有 VM 上安裝 OS Config 代理程式。

如要安裝代理程式,請完成下列步驟:

  1. 連線至要安裝 OS Config 代理程式的 VM。

  2. 安裝 OS Config 代理程式。

    Windows Server

    如要在 Windows 伺服器上安裝 OS Config 代理程式,請執行下列指令:

    googet -noconfirm install google-osconfig-agent
    

    Ubuntu

    如要在 Ubuntu VM 上安裝 OS Config 代理程式,請執行下列指令:

    1. 設定 Ubuntu 存放區。

      • 如果是 Ubuntu 20.04 以上版本,請執行下列指令:

        1. 新增 Ubuntu 存放區。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-focal-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. 匯入 Google Cloud 公開金鑰。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • 如果是 Ubuntu 18.04 以上版本,請執行下列指令:

        1. 新增 Ubuntu 存放區。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-bionic-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. 匯入 Google Cloud 公開金鑰。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • 如果是 Ubuntu 16.04,請執行下列指令:

        1. 新增 Ubuntu 存放區。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-xenial-stable main'> \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. 匯入 Google Cloud 公開金鑰。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
    2. 安裝 OS Config 代理程式。

      sudo apt update
      sudo apt -y install google-osconfig-agent
      

    Debian

    如要在 Debian VM 上安裝 OS Config 代理程式,請執行下列指令:

    sudo apt update
    sudo apt -y install google-osconfig-agent
    

    新增 Google Cloud 存放區和公開金鑰

    如果您使用的 VM 執行個體並非透過 Google 提供的映像檔建立,或收到「unable to locate package」(找不到套件) 錯誤訊息,請完成下列步驟,新增 Google Cloud存放區並匯入公開金鑰。

    新增存放區並匯入金鑰後,即可執行指令來安裝 OS Config 代理程式。

    1. 設定 Debian Cloud Repository:

      Debian 13 以上版本

      1. 將公開存放區 GPG 金鑰安裝到 /etc/apt/keyrings:

        sudo curl https://packages.cloud.google.com/apt/doc/apt-key.gpg -o /etc/apt/keyrings/google-keyring.gpg
        
      2. 判斷 Debian 發行版本名稱。接著,建立來源清單檔案 /etc/apt/sources.list.d/google-cloud.list:

        eval $(grep VERSION_CODENAME /etc/os-release)
        sudo tee /etc/apt/sources.list.d/google-cloud.list << EOM
        deb [signed-by=/etc/apt/keyrings/google-keyring.gpg] http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main
        EOM
        

      Debian 12 以下版本

      1. 安裝公開存放區 GPG 金鑰:

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
        
      2. 判斷 Debian 發行版本名稱。接著,建立來源清單檔案 /etc/apt/sources.list.d/google-cloud.list:

        eval $(grep VERSION_CODENAME /etc/os-release)
        sudo tee /etc/apt/sources.list.d/google-cloud.list << EOM
        deb http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main
        deb http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-${VERSION_CODENAME} main
        EOM
        

    RHEL/CentOS/Rocky

    如要在 RHEL 7/8、CentOS 7/8 VM 或 Rocky Linux 8/9 上安裝 OS Config 代理程式,請執行下列指令:

    sudo yum -y install google-osconfig-agent
    

    SLES/openSUSE

    如要在 SLES 或 openSUSE VM 上安裝 OS Config 代理程式,請執行下列指令:

    1. 設定 SLES 存放區。

      • 如果是 SLES 12,請執行下列指令:

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles12-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
      • 如果是 SLES 15 和 OpenSUSE 15,請執行下列指令:

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles15-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
        
    2. 匯入 Google Cloud的 GPG 金鑰。

      sudo rpm --import https://packages.cloud.google.com/yum/doc/yum-key.gpg \
      --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    3. 安裝 OS Config 代理程式。

      sudo zypper -n --gpg-auto-import-keys install --from google-compute-engine google-osconfig-agent
      

使用開機指令碼安裝代理程式

您也可以使用手動安裝指令建立開機指令碼,在建立 VM 時安裝 OS Config 代理程式。

  1. 複製作業系統的手動指令。
  2. 提供開機指令碼給 VM 建立方法。

    舉例來說,如果您使用 gcloud compute instances create 指令建立 Debian 10 VM,指令會類似下列內容:

    gcloud compute instances create VM_NAME \
       --image-family=debian-10 --image-project=debian-cloud \
       --metadata startup-script='#! /bin/bash
       apt update
       apt -y install google-osconfig-agent'

    將 VM_NAME 替換為 VM 名稱。

  3. 確認開機指令碼已執行完畢。如要確認開機指令碼是否完成,請查看記錄或序列主控台。

設定中繼資料值

您可以為每個 VM 設定執行個體中繼資料,或設定適用於專案中所有 VM 的專案中繼資料。

在 Google Cloud 專案或 VM 上,將 enable-osconfig 中繼資料值設為 TRUE。將 enable-osconfig 中繼資料值設為 TRUE,即可啟用下列功能:

  • 修補程式
  • OS 政策
  • OS 庫存管理服務
    • 如果是舊版 OS 庫存管理服務,您也必須將 enable-guest-attributes 中繼資料值設為 TRUE。如果未設定這兩個中繼資料值,資訊主頁會顯示 VM 的「No data」(沒有資料)。新版不需要這項設定。如要瞭解兩個 OS 庫存管理服務版本,請參閱「OS 庫存管理服務版本」。

控制台

您可以使用下列任一選項,將中繼資料值套用至 Google Cloud 專案或 VM:

  • 方法 1:在專案層級的中繼資料中設定 enable-osconfig,以便套用至專案中的所有 VM。

    1. 前往 Google Cloud 控制台的「Metadata」(中繼資料) 頁面。

      前往「Metadata」(中繼資料) 頁面

    2. 按一下 [編輯]。

    3. 新增下列中繼資料項目:

      鍵:enable-osconfig
      值:TRUE

      如果是舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

      • 鍵:enable-osconfig
        值:TRUE
      • 鍵:enable-guest-attributes
        值:TRUE
    4. 點選「儲存」來套用變更。

  • 方法 2:在建立執行個體時,於 VM 中繼資料中設定 enable-osconfig。

    1. 前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。

      前往「Create an instance」(建立執行個體)

    2. 指定 VM 詳細資料。

    3. 展開「Advanced options」(進階選項) 區段,然後執行下列操作:

      1. 展開「管理」部分。
      2. 在「Metadata」(中繼資料) 區段中,按一下「Add item」(新增項目),然後新增下列中繼資料項目:

        鍵:enable-osconfig
        值:TRUE。

        如果是舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

        • 鍵:enable-osconfig
          值:TRUE
        • 鍵:enable-guest-attributes
          值:TRUE
    4. 按一下「Create」(建立),即可建立 VM。

  • 方法 3:在現有 VM 的中繼資料中設定 enable-osconfig。

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體

    2. 按一下要設定中繼資料值的 VM 名稱。

    3. 在「Instance details」(執行個體詳細資料) 頁面中,按一下「Edit」(編輯) 即可編輯設定。

    4. 在「Custom metadata」(自訂中繼資料) 下新增下列中繼資料項目:

      鍵:enable-osconfig
      值:TRUE。

      如果是舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

      • 鍵:enable-osconfig
        值:TRUE
      • 鍵:enable-guest-attributes
        值:TRUE
    5. 按一下「Save」(儲存),將變更套用至 VM。

gcloud

使用 project-info add-metadata 或 instances add-metadata 指令,並加上 --metadata=enable-osconfig=TRUE 旗標。

您可以使用下列任一選項,將中繼資料值套用至專案或 VM:

  • 方法 1:在全專案中繼資料中設定 enable-osconfig,套用至專案中的所有執行個體:

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-osconfig=TRUE
    

    如果是舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    將 PROJECT_ID 替換為專案 ID。

  • 方法 2:在現有執行個體的中繼資料中設定 enable-osconfig。

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    如果是舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    將 VM_NAME 替換為 VM 名稱。

  • 方法 3:建立執行個體時,在執行個體中繼資料中設定 enable-osconfig。

    gcloud compute instances create VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    如果是舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

    gcloud compute instances create VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    將 VM_NAME 替換為 VM 名稱。

REST

您可以在 Google Cloud 專案或執行個體層級設定中繼資料值。

中繼資料屬性必須包含下列鍵/值組合:

  • 鍵:enable-osconfig
    值:TRUE

如果是舊版 OS 庫存管理服務,請一併新增下列鍵/值組合:

  • 鍵:enable-guest-attributes
    值:TRUE

設定 HTTP Proxy

如果您為 VM 使用 HTTP Proxy,請執行下列指令,設定 http_proxy 和 https_proxy 環境變數。如要允許 OS Config 代理程式存取本機中繼資料伺服器,您必須設定 no_proxy 環境變數,排除中繼資料伺服器 (169.254.169.254 和 fd20:ce::254)。

Linux

在採用 systemd 的 Linux 發行版中,以 root 使用者身分將 Proxy 環境變數新增至 google-osconfig-agent.service 單位:

mkdir -p /etc/systemd/system/google-osconfig-agent.service.d
cat >/etc/systemd/system/google-osconfig-agent.service.d/override.conf <<EOF
[Service]
Environment="http_proxy=http://PROXY_IP:PROXY_PORT" \
  "https_proxy=http://PROXY_IP:PROXY_PORT" \
  "no_proxy=169.254.169.254,fd20:ce::254,metadata,metadata.google.internal"
EOF

將 PROXY_IP 和 PROXY_PORT 分別替換為 Proxy 伺服器的 IP 位址和通訊埠編號。

重新啟動 OS Config 代理程式服務:

systemctl daemon-reload
systemctl restart google-osconfig-agent

如要確認變數設定正確,請檢查執行中代理程式的環境變數:

tr '\0' '\n' < /proc/$(systemctl show -p MainPID --value google-osconfig-agent)/environ

Windows

在系統管理員命令提示字元中執行下列指令。

  setx http_proxy http://PROXY_IP:PROXY_PORT /m
  setx https_proxy http://PROXY_IP:PROXY_PORT /m
  setx no_proxy 169.254.169.254,fd20:ce::254,metadata,metadata.google.internal /m

將 PROXY_IP 和 PROXY_PORT 分別替換為 Proxy 伺服器的 IP 位址和通訊埠號碼。

Google 建議您新增 no_proxy 環境變數來排除 *.googleapis.com,以免 OS Config 代理程式發生連線問題。如要只將特定 VM 連線至 OS Config 代理程式,請在 VM 所在可用區加上前置字串,並使用 [zone-name]-osconfig.googleapis.com 格式。例如:us-central1-f-osconfig.googleapis.com。

停用不需要的功能

如要停用可能不需要的功能,請設定下列中繼資料值:osconfig-disabled-features=FEATURE1,FEATURE2。

將 FEATURE1,FEATURE2 替換為下列任一值:

  • OS 庫存管理服務:osinventory
  • 修補程式和 OS 政策:tasks
  • OS 客體政策 (Beta 版):guestpolicies

請使用下列其中一種方法停用中繼資料值。

控制台

您可以使用下列任一選項,停用 Google Cloud 專案或 VM 的中繼資料值:

  • 方法 1:在全專案中繼資料中停用這項功能,以便套用至專案中的所有執行個體。

    1. 前往 Google Cloud 控制台的「Metadata」(中繼資料) 頁面。

      前往「Metadata」(中繼資料) 頁面

    2. 按一下 [編輯]。

    3. 新增下列中繼資料項目:

      鍵:osconfig-disabled-features
      值:FEATURE1,FEATURE2

      例如:
      鍵:osconfig-disabled-features
      值:osinventory,guestpolicies

    4. 點選「儲存」來套用變更。

  • 方法 2:在現有 VM 的中繼資料中停用功能。

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體

    2. 按一下要設定中繼資料值的 VM 名稱。

    3. 在「Instance details」(執行個體詳細資料) 頁面中,按一下「Edit」(編輯) 即可編輯 VM 設定。

    4. 在「Custom metadata」(自訂中繼資料) 下新增下列中繼資料項目:

      鍵:osconfig-disabled-features
      值:FEATURE1,FEATURE2

      例如:
      鍵:osconfig-disabled-features
      值:osinventory

    5. 按一下「Save」(儲存),將變更套用至 VM。

gcloud

使用 project-info add-metadata 或 instances add-metadata gcloud 指令,並加上 --metadata=osconfig-disabled-features 旗標。

如要停用多項功能,旗標格式必須為 --metadata=osconfig-disabled-features=FEATURE1,FEATURE2。請參閱範例 2。

範例 1 如要使用 Google Cloud CLI 在 Google Cloud 專案層級停用 Patch,請執行下列指令:

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=tasks

範例 2 如要使用 Google Cloud CLI 在專案層級停用 OS 政策和 OS 庫存管理服務,請執行下列指令:

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=osinventory,guestpolicies

將 PROJECT_ID 替換為專案 ID。

REST

您可以在 Google Cloud 專案或執行個體層級設定中繼資料值。

中繼資料屬性必須包含下列鍵/值組合:

  • 金鑰:osconfig-disabled-features
  • 值:可以是下列任一標記或組合:
    • osinventory
    • tasks
    • guestpolicies

OS Config 代理程式運作中的必要條件

OS Config 代理程式必須符合下列所有條件,才會視為有效並計費:

  • 必須設定 VM 管理員。
  • VM 必須處於 RUNNING 狀態,且 OS Config 代理程式必須與 OS Config 服務通訊。

    如果 VM 停止、暫停或與網路中斷連線,該 VM 上的代理程式就不會計為有效代理程式。

驗證設定

完成設定程序後,您可以驗證設定。

查看專案的 VM Manager 功能設定

如要確認專案是否已啟用所有 VM Manager 功能,請按照下列步驟操作:

gcloud

使用 gcloud compute os-config project-feature-settings describe 指令,如下所示:

gcloud compute os-config project-feature-settings describe \
    --project PROJECT_ID

指令會輸出類似以下的結果:

name: projects/my-project/locations/global/projectFeatureSettings
patchAndConfigFeatureSet: OSCONFIG_C

OSCONFIG_C 值代表完整的 VM Manager 功能集,OSCONFIG_B 則代表受限的功能集。

REST

如要查看 Google Cloud 專案的 VM 管理員 功能,請對 projects.locations.global.getProjectFeatureSettings 方法建立 GET 要求。

   GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/global/projectFeatureSettings
   

將 PROJECT_ID 替換為專案 ID。

如果成功,方法會傳回專案特徵集,如以下範例所示:

{
 "name": "projects/my-project/locations/global/projectFeatureSettings",
 "patchAndConfigFeatureSet": "OSCONFIG_C"
}

OSCONFIG_C 值代表完整的 VM Manager 功能集,OSCONFIG_B 則代表受限的功能集。

啟用完整的 VM 管理員功能

如果專案未啟用 VM 管理員,且您在建立 VM 時安裝 Ops Agent,VM 管理員會以受限模式啟用。在這個模式下,VM 管理員會免費提供部分功能,適用於不限數量的 VM。舉例來說,您可以在「OS policies」(OS 政策) 頁面查看 VM 的 OS 政策指派項目,但無法建立或編輯 OS 政策指派項目。

如要為已安裝 Ops Agent 的 VM 啟用所有 VM 管理員功能,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「OS policies」(OS 政策) 頁面。

前往「OS policies」(OS 政策)

  1. 按一下「Enable full VM Manager functionality」(啟用完整的 VM 管理員功能),啟用所有 VM 管理員功能。

    自動啟用完整的 VM 管理員。

gcloud

如要為 Google Cloud 專案啟用所有 VM 管理員 功能,請使用 gcloud compute os-config project-feature-settings update 指令:

gcloud compute os-config project-feature-settings update \
    --project PROJECT_ID \
    --patch-and-config-feature-set=full

REST

如要在 Google Cloud 專案層級啟用所有 VM 管理員 功能,請向 projects.locations.global.updateProjectFeatureSettings 方法傳送 PATCH 要求。

   PATCH https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/global/projectFeatureSettings
   {
     "name": "projects/PROJECT_ID/locations/global/projectFeatureSettings",
     "patchAndConfigFeatureSet": "OSCONFIG_C"
   }
   

將 PROJECT_ID 替換為專案 ID。OSCONFIG_C 值代表完整的 VM Manager 功能集。

停用 OS Config 代理程式

停用 OS 設定代理程式不會影響 VM 的行為。您可以停用代理程式,方法與停止作業系統的其他服務相同。

Linux

如要使用 systemctl 停用代理程式,請執行下列指令:

sudo systemctl stop google-osconfig-agent
sudo systemctl disable google-osconfig-agent

Windows

如要使用 powershell 停用代理程式,請執行下列指令:

PowerShell Stop-Service google_osconfig_agent [-StartupType disabled]

後續步驟