google.cloud.gcp_container_node_pool_info 模块 – 收集 GCP NodePool 信息

注意

此模块是 google.cloud 集合 (版本 1.4.1) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install google.cloud。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:google.cloud.gcp_container_node_pool_info

注意

由于违反了 Ansible 包含要求,google.cloud 集合将在 Ansible 12 中移除。该集合存在 未解决的健全性测试失败。有关更多信息,请参阅 讨论主题

概要

  • 收集 GCP NodePool 信息

要求

执行此模块的主机需要以下要求。

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

参数

参数

注释

access_token

字符串

如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。

auth_kind

字符串 / 必需

使用的凭据类型。

选项

  • "application"

  • "machineaccount"

  • "serviceaccount"

  • "accesstoken"

cluster

字典 / 必需

此节点池所属的集群。

此字段表示 GCP 中集群资源的链接。它可以通过两种方式指定。首先,您可以放置一个字典,其中键为“name”,值为资源的名称。或者,您可以将 `register: name-of-resource` 添加到 gcp_container_cluster 任务中,然后将此 cluster 字段设置为“{{ name-of-resource }}”

env_type

字符串

指定您在哪个 Ansible 环境中运行此模块。

除非您知道自己在做什么,否则不应设置此项。

这只会更改任何 API 请求的用户代理字符串。

location

别名:region,zone

字符串 / 必需

部署节点池的位置。

project

字符串

要使用的 Google Cloud Platform 项目。

scopes

列表 / 元素=字符串

要使用的作用域数组

service_account_contents

jsonarg

服务帐户 JSON 文件的内容,可以是字典或表示它的 JSON 字符串。

service_account_email

字符串

如果选择了 machineaccount 并且用户不想使用默认电子邮件,则为可选的服务帐户电子邮件地址。

service_account_file

路径

如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。

注释

注意

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_FILE 环境变量设置 service_account_file。

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_CONTENTS 环境变量设置 service_account_contents。

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_EMAIL 环境变量设置 service_account_email。

  • 对于身份验证,您可以使用 GCP_ACCESS_TOKEN 环境变量设置 access_token。

  • 对于身份验证,您可以使用 GCP_AUTH_KIND 环境变量设置 auth_kind。

  • 对于身份验证,您可以使用 GCP_SCOPES 环境变量设置 scopes。

  • 只有在未设置 playbook 值时,才会使用环境变量值。

  • service_account_emailservice_account_file 选项是互斥的。

示例

- name: get info on a node pool
  gcp_container_node_pool_info:
    cluster: "{{ cluster }}"
    location: us-central1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"

返回值

常见的返回值已记录在 此处,以下是此模块特有的字段

描述

resources

复杂类型

资源列表

返回:始终

autoscaling

复杂类型

此 NodePool 的自动缩放器配置。只有存在有效的配置时,才会启用自动缩放器。

返回:成功

enabled

布尔值

此节点池是否启用了自动缩放。

返回:成功

maxNodeCount

整数

NodePool 中节点的最大数量。必须 >= minNodeCount。

必须有足够的配额来扩展集群。

返回:成功

minNodeCount

整数

NodePool 中节点的最小数量。必须 >= 1 且 <= maxNodeCount。

返回:成功

cluster

字典

此节点池所属的集群。

返回:成功

conditions

复杂类型

导致当前节点池状态的条件。

返回:成功

code

字符串

条件的机器友好型表示。

返回:成功

配置

复杂类型

池的节点配置。

返回:成功

加速器

复杂类型

要附加到每个节点的硬件加速器列表。

返回:成功

加速器数量

整数

向实例公开的加速器卡数量。

返回:成功

加速器类型

字符串

加速器类型资源名称。

返回:成功

磁盘大小(GB)

整数

附加到每个节点的磁盘大小(以 GB 为单位)。允许的最小磁盘大小为 10GB。如果未指定,则默认磁盘大小为 100GB。

返回:成功

磁盘类型

字符串

附加到每个节点的磁盘类型(例如“pd-standard”或“pd-ssd”)。如果未指定,则默认磁盘类型为“pd-standard”。

返回:成功

镜像类型

字符串

为此节点使用的镜像类型。请注意,对于给定的镜像类型,将使用其最新版本。

返回:成功

标签

字典

要应用于每个节点的 Kubernetes 标签映射(键/值对)。这些标签将添加到 Kubernetes 可能应用于节点的任何默认标签之外。如果标签键冲突,则应用的集合可能因 Kubernetes 版本而异——最好假设行为未定义,应避免冲突。有关更多信息(包括用法和有效值),请参阅:https://kubernetes.ac.cn/v1.1/docs/user-guide/labels.html 包含“键”:值对列表的对象。

示例:{“name”: “wrench”, “mass”: “1.3kg”, “count”: “3”}。

返回:成功

本地SSD数量

整数

要附加到节点的本地 SSD 磁盘数量。

此值的限制取决于每个区域中每台机器上可用磁盘的最大数量。有关更多信息,请参阅:https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits

返回:成功

机器类型

字符串

Google Compute Engine 机器类型的名称(例如

n1-standard-1)。如果未指定,则默认机器类型为 n1-standard-1。

返回:成功

元数据

字典

分配给集群中实例的元数据键/值对。

键必须符合正则表达式 [a-zA-Z0-9-_]+,长度小于 128 字节。这些键在元数据服务器中作为 URL 的一部分反映出来。此外,为避免歧义,键不得与项目的任何其他元数据键冲突,也不得是四个保留键之一:“instance-template”、“kube-env”、“startup-script”和“user-data”。值是自由格式字符串,只有在实例中运行的镜像对其进行解释时才有意义。对它们施加的唯一限制是每个值的大小必须小于或等于 32 KB。

所有键和值的总大小必须小于 512 KB。

包含“键”:值对列表的对象。

示例:{“name”: “wrench”, “mass”: “1.3kg”, “count”: “3”}。

返回:成功

最小CPU平台

字符串

此实例将使用的最小 CPU 平台。该实例可能安排在指定的或更新的 CPU 平台上。

返回:成功

OAuth 范围

列表 / 元素=字符串

要在“default”服务帐户下对所有节点 VM 提供的 Google API 范围集。

建议使用以下范围,但不是必需的,并且默认情况下不包括:https://www.googleapis.com/auth/compute 需要在节点上挂载持久性存储。

https://www.googleapis.com/auth/devstorage.read_only 需要与 gcr.io(Google Container Registry)通信。

如果未指定,则不会添加任何范围,除非启用了 Cloud Logging 或 Cloud Monitoring,在这种情况下,将添加其所需的范围。

返回:成功

抢占式

布尔值

节点是否创建为抢占式虚拟机实例。有关抢占式虚拟机实例的更多信息,请参阅:https://cloud.google.com/compute/docs/instances/preemptible

返回:成功

服务帐户

字符串

节点 VM 将使用的 Google Cloud Platform 服务帐户。如果未指定服务帐户,则使用“default”服务帐户。

返回:成功

受保护实例配置

复杂类型

受保护实例选项。

返回:成功

启用完整性监控

布尔值

定义实例是否启用了完整性监控。

启用实例启动完整性的监控和认证。

根据完整性策略基线执行认证。此基线最初是在创建实例时从隐式受信任的启动镜像派生的。

返回:成功

启用安全启动

布尔值

定义实例是否启用了安全启动。

安全启动通过验证所有启动组件的数字签名并在签名验证失败时停止启动过程来帮助确保系统仅运行经过身份验证的软件。

返回:成功

标签

列表 / 元素=字符串

应用于所有节点的实例标签列表。标签用于标识网络防火墙的有效来源或目标,并由客户端在集群或节点池创建期间指定。列表中的每个标签都必须符合 RFC1035。

返回:成功

污点

复杂类型

要应用于每个节点的 Kubernetes 污点列表。

返回:成功

效果

字符串

污点的效果。

返回:成功

字符串

污点的键。

返回:成功

字符串

污点的值。

返回:成功

工作负载元数据配置

复杂类型

WorkloadMetadataConfig 定义要向节点池上的工作负载公开的元数据配置。

返回:成功

模式

字符串

模式是关于如何向节点池上运行的工作负载公开元数据的配置。

返回:成功

初始节点数

整数

池的初始节点数。您必须确保您的 Compute Engine 资源配额足以容纳此数量的实例。您还必须拥有可用的防火墙和路由配额。

返回:成功

位置

字符串

部署节点池的位置。

返回:成功

管理

复杂类型

此 NodePool 的管理配置。

返回:成功

自动修复

布尔值

一个标志,指定是否为节点池启用节点自动修复。如果启用,则将监控此节点池中的节点,如果它们多次未能通过运行状况检查,则将触发自动修复操作。

返回:成功

自动升级

布尔值

一个标志,指定是否为节点池启用节点自动升级。如果启用,节点自动升级有助于使节点池中的节点保持最新版本的 Kubernetes。

返回:成功

升级选项

复杂类型

指定节点池的自动升级旋钮。

返回:成功

自动升级开始时间

字符串

当升级即将开始时,此字段将设置为升级的大概开始时间,格式为 RFC3339 文本格式。

返回:成功

描述

字符串

当升级即将开始时,此字段将设置为升级的描述。

返回:成功

最大 Pod 约束

复杂类型

对节点池中节点上可以同时运行的最大 Pod 数量的约束。

返回:成功

每个节点的最大 Pod 数

整数

对每个节点的最大 Pod 数施加的约束。

返回:成功

名称

字符串

节点池的名称。

返回:成功

Pod IPv4 CIDR 大小

整数

此节点池中每个节点的 Pod CIDR 块大小。

返回:成功

状态

字符串

此池实例中节点的状态。

返回:成功

状态消息

字符串

关于此节点池实例当前状态的附加信息。

返回:成功

版本

字符串

此节点的 Kubernetes 版本。

返回:成功

作者

  • Google Inc. (@googlecloudplatform)