操作系统政策就是一个文件,其中包含操作系统资源(如软件包、存储库、文件或脚本定义的自定义资源)的声明性配置。 如需了解详情,请参阅 OSPolicy
的资源定义。
操作系统政策分配任务是虚拟机管理器用来将操作系统政策应用于虚拟机的 API 资源。 如需了解详情,请参阅 OSPolicyAssignment
的资源定义。
操作系统政策
操作系统政策是包含三个部分的 JSON 或 YAML 文件:
模式。政策行为。有两种模式可供选择:
Validation
:对于此模式,该政策会检查资源是否处于所选状态,但不执行任何操作。Enforcement
:对于此模式,政策会检查资源是否处于所选状态;如果不是,则政策会执行必要的操作,使资源达到所选状态。
对于这两种模式,虚拟机管理器都会报告操作系统政策及相关资源的合规性。
资源组。关联资源规范适用的操作系统名称和版本。例如,您可以定义单个政策,以在不同的操作系统发布版本和版本上安装或部署代理。
资源。虚拟机获得所选配置所需的规范。支持以下资源类型:
pkg
:用于安装或移除 Linux 和 Windows 软件包repository
:用于指定可从中安装软件包的代码库exec
:用于允许运行临时 shell (/bin/sh
) 或 PowerShell 脚本file
:用于管理系统中的文件
操作系统政策示例
以下示例展示了如何创建操作系统政策。创建操作系统政策分配任务时,您可以将这些操作系统政策上传到 Google Cloud 控制台。
- 示例 1:安装软件包。
- 示例 2:运行脚本。
- 示例 3:指定下载代码库,并从该代码库安装软件包。
- 示例 4:在运行 Container-Optimized OS (COS) 的虚拟机上配置 CIS 基准扫描。如需详细了解如何使用操作系统政策进行 CIS 基准扫描,请参阅自动启用和检查 CIS 合规性状态。
如需查看可在您的环境中应用的示例操作系统政策的完整列表,请参阅 GoogleCloudPlatform/osconfig GitHub 代码库。
示例 1
创建操作系统政策,以安装从 Cloud Storage 存储分区下载的 Windows MSI。
示例 2
创建一个操作系统政策,以验证 Apache Web 服务器是否正在 Linux 虚拟机上运行。
示例 3
创建在 CentOS 虚拟机上安装 Google Cloud Observability 代理的操作系统政策。
示例 4
配置定期 CIS 1 级扫描,每天扫描一次。
操作系统政策分配任务
操作系统政策分配任务包含以下部分:
操作系统政策。您要应用到虚拟机的一项或多项操作系统政策。如需下载或创建政策,请参阅操作系统政策。
目标虚拟机。您要应用政策的单个可用区内的一组虚拟机。在一个可用区内,您可以使用操作系统系列以及包含或排除标签来限制虚拟机。您可以选择以下选项的组合:
- 操作系统系列:指定操作系统政策要应用于的目标操作系统。如需查看支持操作系统政策的操作系统和版本的完整列表,请参阅操作系统详细信息。
- 包含集:根据虚拟机或系统标签,指定操作系统政策要应用于的虚拟机。
- 排除集:根据虚拟机或系统标签,指定操作系统政策应忽略的虚拟机。
对于“包含”和“排除”标签集,如果单个字符串标签符合系统使用的命名惯例,则会被接受。但大多数标签均采用
key:value
对的形式指定。如需详细了解标签,请参阅为资源添加标签。例如,您可以在测试环境中选择全部 Ubuntu 虚拟机,并通过指定以下内容来排除运行 Google Kubernetes Engine 的虚拟机:
- 操作系统系列:
ubuntu
- 包含:
env:test
、env:staging
- 排除:
goog-gke-node
发布速率。指定将操作系统政策应用于虚拟机的速率。操作系统政策将逐步发布,让您能够跟踪系统运行状况,并在更新导致环境退步时做出修改。发布计划包含以下组成部分:
- 波次规模(中断预算):一次发布可以发布的虚拟机的固定数量或百分比。这表示无论何时进行发布,仅以指定数量的虚拟机为发布目标。
- 等待时间:从服务向虚拟机应用政策到虚拟机从中断阈值中移除之间的时间。例如,等待时间为 15 分钟,这表示发布过程必须在将政策应用于虚拟机之后等待 15 分钟,然后才能从中断阈值中移除虚拟机并继续发布。 等待时间有助于控制发布速度,也有助于您尽早发现和解决潜在的发布问题。请选择足够长的时间,以便监控发布状态。
例如,如果您将目标设置为 10 个虚拟机,并将中断阈值设置为 20%,将将烘焙时间设置为 15 分钟,则在任何给定时间,系统只会安排更新 2 个虚拟机。更新每个虚拟机后,必须等待 15 分钟才能从中断阈值中移除该虚拟机,并将另一个虚拟机添加到发布中。
如需详细了解发布,请参阅发布。
操作系统政策分配任务示例
以下示例展示了如何创建操作系统政策分配任务。您可以使用这些示例通过 Google Cloud CLI 或 OS Config API 创建操作系统政策分配任务。
- 示例 1:安装软件包。
- 示例 2:运行脚本。
- 示例 3:指定下载代码库,并从该代码库安装软件包。
如需查看可在您的环境中应用的操作系统政策分配任务示例的列表,请参阅 GoogleCloudPlatform/osconfig GitHub 代码库。
示例 1
创建操作系统政策分配任务,以安装从 Cloud Storage 存储分区下载的 Windows MSI。
示例 2
创建操作系统政策分配任务,以验证 Apache Web 服务器是否正在所有 Linux 虚拟机上运行。
示例 3
创建在 CentOS 虚拟机上安装 Google Cloud Observability 代理的操作系统政策分配任务。
后续步骤
- 详细了解操作系统政策。
- 创建操作系统政策分配任务。
- 管理操作系统政策。