查看操作系统详细信息

使用操作系统库存管理功能可以收集和查看虚拟机实例的操作系统详细信息。这些详细信息包括操作系统信息,例如主机名、操作系统、内核版本、已安装的软件包以及可用的操作系统软件包更新。如需了解使用操作系统库存管理功能的常见场景,请查看何时使用操作系统库存管理功能

您必须先配置虚拟机实例,然后才能使用操作系统库存管理功能。如需配置虚拟机实例以使用操作系统库存管理功能,您必须完成以下步骤:

  1. 在每个实例或整个项目中启用客机特性和操作系统库存元数据键
  2. 在每个实例上安装操作系统配置代理

在虚拟机实例上设置操作系统库存管理功能后,您可以查看操作系统详细信息

准备工作

支持的操作系统

以下操作系统支持操作系统库存管理功能:

  • Debian 9
  • Ubuntu 16.04 和 18.04
  • CentOS 6 和 CentOS 7
  • Red Hat Enterprise Linux 6、7 和 8
  • Windows Server 2008R2、2012R2、2016、2019 及半年版本 1803 和 1809

启用客机特性和操作系统库存管理功能

如需启用客机特性和操作系统库存管理功能,您需要设置一些特定的元数据键。

如需为实例或项目设置自定义元数据,您可以使用 Google Cloud Platform Console、gcloud 命令行工具或 Compute Engine API。您可以在实例级层或项目级层设置这些特性。

Console

您可以使用以下选项之一在项目或实例上应用元数据值:

创建实例时,在实例元数据中设置 enable-guest-attributesenable-os-inventory

  1. 在 GCP Console 中,转到“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 点击创建实例
  3. 创建新实例页面上,为实例填写所需的属性。
  4. 元数据部分中,添加以下元数据条目:

    • enable-guest-attributes,值为 TRUE
    • enable-os-inventory,值为 TRUE
  5. 点击创建以创建实例。

在整个项目的元数据中设置 enable-guest-attributesenable-os-inventory,使其应用于项目中的所有实例:

  1. 转到“元数据”页面。

    转到“元数据”页面

  2. 点击修改
  3. 添加以下元数据条目:

    • enable-guest-attributes,值为 TRUE
    • enable-os-inventory,值为 TRUE
  4. 点击保存以应用更改。

在现有实例的元数据中设置 enable-guest-attributesenable-os-inventory

  1. 转到“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 点击要为其设置元数据值的实例的名称。
  3. 在实例详情页面的顶部,点击修改以修改实例设置。
  4. 自定义元数据下,添加以下元数据条目:

    • enable-guest-attributes,值为 TRUE
    • enable-os-inventory,值为 TRUE
  5. 在实例详情页面的底部,点击保存以将更改应用于实例。

gcloud

使用 project-info add-metadata gcloud 命令启用客机特性和操作系统库存元数据键。

您可以使用以下某种方式在项目或实例上应用 enable-oslogin 元数据值:

在整个项目的元数据中设置 enable-guest-attributesenable-os-inventory,使其应用于项目中的所有实例:

gcloud compute project-info add-metadata \
  --project [PROJECT_ID] \
  --metadata=enable-guest-attributes=true,enable-os-inventory=true

其中,[PROJECT_ID] 是您的项目 ID。

在现有实例的元数据中设置 enable-guest-attributesenable-os-inventory

gcloud compute instances add-metadata [INSTANCE_NAME] \
  --metadata=enable-guest-attributes=true,enable-os-inventory=true

其中 [INSTANCE_NAME] 是实例的名称。

创建实例时,在实例元数据中设置 enable-guest-attributesenable-os-inventory

gcloud compute instances create [INSTANCE_NAME] \
  --metadata=enable-guest-attributes=true,enable-os-inventory=true

其中 [INSTANCE_NAME] 是实例的名称。

API

您必须将以下键值对用作元数据值:

  • 客机特性:
    • 键:enable-guest-attributes
    • 值:True
  • 操作系统库存管理:
    • 键:enable-os-inventory
    • 值:True

安装操作系统配置代理

在每个实例上,安装操作系统配置代理。您可以使用以下选项之一安装操作系统配置代理:

手动安装代理

使用此方案可在现有实例上安装操作系统配置代理。

如需安装代理,请完成以下步骤:

  1. 连接到要在其上安装操作系统配置代理的实例

  2. 安装操作系统配置代理。

    Windows Server

    如需在 Windows Server 上安装操作系统配置代理,请运行以下命令:

    googet -noconfirm install google-osconfig-agent
    

    Ubuntu

    1. 设置 Ubuntu 代码库。

      sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-osconfig-agent-stretch-stable main' > \
      /etc/apt/sources.list.d/google-osconfig-agent.list"
      curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      
    2. 安装操作系统配置代理。

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

    Debian

    如需在 Debian 实例上安装操作系统配置代理,请运行以下命令:

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

    如果您收到 Unable to locate package 错误消息,则需要设置 Debian 代码库。如需设置 Debian 代码库,请运行以下命令:

    sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-osconfig-agent-stretch-stable main' > \
    /etc/apt/sources.list.d/google-osconfig-agent.list"
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    

    RHEL/CENTOS

    如需在 RHEL 或 CentOS 实例上安装操作系统配置代理,请运行以下命令:

    sudo yum -y install google-osconfig-agent
    

使用启动脚本安装代理

您还可以使用手动安装命令创建启动脚本,以在实例创建期间安装操作系统配置代理。

  1. 复制适用于您的操作系统的手动命令
  2. 为您的实例创建方法提供启动脚本

    例如,如果您使用 gcloud compute instances create 命令创建新的 Debian 9 虚拟机实例,您的命令应类似于以下内容:

    gcloud compute instances create INSTANCE_NAME \
      --image-family=debian-9 --image-project=debian-cloud \
      --metadata startup-script='#! /bin/bash
    sudo apt-get update
    sudo apt-get install -y google-osconfig-agent'
    
  3. 验证启动脚本是否完成运行。如需验证启动脚本是否完成运行,您可以查看日志或查看串行控制台

查看操作系统详细信息

查看库存数据

如需查看实例的库存数据,请使用 instances os-inventory describe 命令。

如需查看为虚拟机收集的库存数据,请运行以下命令:

gcloud beta compute instances os-inventory describe [INSTANCE_NAME]

其中 [INSTANCE_NAME] 是您的实例的名称。

如需查看返回的输出详细信息的类型,请查看操作系统库存管理功能提供的信息

列出实例

如需查看设置了操作系统库存管理功能的虚拟机实例列表,请运行 instances os-inventory list-instances 命令。

例如,如需列出具有库存数据的所有实例,请运行以下命令:

gcloud beta compute instances os-inventory list-instances

您的输出应与以下内容类似:

NAME                  ZONE        MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP  STATUS
inventory-instance   us-east1-b    n1-standard-1               192.0.2.1                RUNNING
instance-inventory1  us-west1-b    n1-standard-1               192.0.2.2                RUNNING
instance-inventory2  asia-east2-b  n1-standard-1               192.0.2.3                RUNNING

您还可以使用过滤器缩小结果范围。例如,您可以运行以下命令列出所有设置了操作系统库存管理功能,并且主机名与正则表达式 instance-* 相匹配的实例:

gcloud beta compute instances os-inventory list-instances --inventory-filter="Hostname~instance-*"

您的输出应与以下内容类似:

NAME                  ZONE        MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP  STATUS
instance-inventory1  us-west1-b    n1-standard-1               192.0.2.2                RUNNING
instance-inventory2  asia-east2-b  n1-standard-1               192.0.2.3                RUNNING

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档