google.cloud.gcp_container_node_pool 模块 – 创建一个 GCP 节点池
注意
此模块是 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
。
注意
由于违反了 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合具有未解决的健全性测试失败。有关更多信息,请参阅讨论主题。
概要
NodePool 包含集群节点池的名称和配置。
节点池是一组节点(即 VM),它们在集群主节点的控制下具有通用配置和规范。它们可能有一组应用于它们的 Kubernetes 标签,这些标签可以在 pod 调度期间用于引用它们。它们也可以向上或向下调整大小,以适应工作负载。
要求
执行此模块的主机需要以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。 |
|
使用的凭据类型。 选择
|
|
此 NodePool 的自动缩放器配置。仅当存在有效配置时才启用自动缩放器。 |
|
是否为此节点池启用自动缩放。 选择
|
|
NodePool 中的最大节点数。必须 >= minNodeCount。 必须有足够的配额来扩展集群。 |
|
NodePool 中的最小节点数。必须 >= 1 且 <= maxNodeCount。 |
|
此节点池所属的集群。 此字段表示指向 GCP 中 Cluster 资源的链接。它可以通过两种方式指定。首先,您可以放置一个带有键 'name' 和资源名称值的字典。或者,您可以将 `register: name-of-resource` 添加到 gcp_container_cluster 任务,然后将此集群字段设置为 “{{ name-of-resource }}” |
|
导致当前节点池状态的条件。 |
|
条件的机器友好表示。 一些有效的选择包括:“UNKNOWN”、“GCE_STOCKOUT”、“GKE_SERVICE_ACCOUNT_DELETED”、“GCE_QUOTA_EXCEEDED”、“SET_BY_OPERATOR” |
|
池的节点配置。 |
|
要附加到每个节点的硬件加速器列表。 |
|
暴露给实例的加速器卡数量。 |
|
加速器类型资源名称。 |
|
附加到每个节点的磁盘大小,以 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 磁盘的数量。 此值的限制取决于每个区域中机器上可用的最大磁盘数量。有关更多信息,请参阅: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 平台上进行调度。 |
|
在所有节点 VM 的 “default” 服务帐户下可用的 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,在这种情况下,将添加它们所需的作用域。 |
|
是否将节点创建为抢占式 VM 实例。有关抢占式 VM 实例的更多信息,请参阅:https://cloud.google.com/compute/docs/instances/preemptible。 选择
|
|
节点 VM 要使用的 Google Cloud Platform 服务帐户。如果未指定服务帐户,则使用“default”服务帐户。 |
|
屏蔽实例选项。 |
|
定义实例是否启用了完整性监控。 启用对实例启动完整性的监控和证明。 证明将针对完整性策略基线执行。此基线最初是在创建实例时从隐式信任的启动镜像派生的。 选择
|
|
定义实例是否启用了安全启动。 安全启动通过验证所有启动组件的数字签名,并防止启动过程在签名验证失败时运行,从而帮助确保系统仅运行经过身份验证的软件。 选择
|
|
应用于所有节点的实例标记列表。标记用于标识网络防火墙的有效来源或目标,并且由客户端在集群或节点池创建期间指定。列表中的每个标记都必须符合 RFC1035。 |
|
要应用于每个节点的 Kubernetes 污点列表。 |
|
污点的效果。 |
|
污点的键。 |
|
污点的值。 |
|
WorkloadMetadataConfig 定义要向节点池上的工作负载公开的元数据配置。 |
|
模式是有关如何向节点池上运行的工作负载公开元数据的配置。 一些有效选项包括:“GCE_METADATA”、“GKE_METADATA” |
|
指定您在其中运行此模块的 Ansible 环境。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的 User Agent 字符串。 |
|
池的初始节点计数。您必须确保您的 Compute Engine 资源配额足以满足此实例数量。您还必须具有可用的防火墙和路由配额。 |
|
部署节点池的位置。 |
|
此 NodePool 的管理配置。 |
|
一个标志,指定是否为节点池启用节点自动修复。如果启用,将监视此节点池中的节点,并且如果它们多次未能通过运行状况检查,则将触发自动修复操作。 选择
|
|
一个标志,指定是否为节点池启用节点自动升级。如果启用,节点自动升级有助于使您的节点池中的节点与 Kubernetes 的最新版本保持同步。 选择
|
|
指定节点池的自动升级旋钮。 |
|
对节点池中一个节点上可以同时运行的最大 pod 数的限制。 |
|
在每个节点的最大 pod 数上强制执行的约束。 |
|
节点池的名称。 |
|
要使用的 Google Cloud Platform 项目。 |
|
要使用的作用域数组 |
|
服务帐户 JSON 文件的内容,可以是字典形式,也可以是表示它的 JSON 字符串。 |
|
如果选择了 machineaccount 并且用户不希望使用默认电子邮件,则可选的服务帐户电子邮件地址。 |
|
如果选择 serviceaccount 作为类型,则服务帐户 JSON 文件的路径。 |
|
给定的对象是否应该存在于 GCP 中 选择
|
|
此节点的 Kubernetes 版本。 |
示例
- name: create a cluster
google.cloud.gcp_container_cluster:
name: cluster-nodepool
initial_node_count: 4
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: cluster
- name: create a node pool
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
返回值
通用返回值记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
此 NodePool 的自动缩放器配置。仅当存在有效配置时才启用自动缩放器。 已返回: 成功 |
|
是否为此节点池启用自动缩放。 已返回: 成功 |
|
NodePool 中的最大节点数。必须 >= minNodeCount。 必须有足够的配额来扩展集群。 已返回: 成功 |
|
NodePool 中的最小节点数。必须 >= 1 且 <= maxNodeCount。 已返回: 成功 |
|
此节点池所属的集群。 已返回: 成功 |
|
导致当前节点池状态的条件。 已返回: 成功 |
|
条件的机器友好表示。 已返回: 成功 |
|
池的节点配置。 已返回: 成功 |
|
要附加到每个节点的硬件加速器列表。 已返回: 成功 |
|
暴露给实例的加速器卡数量。 已返回: 成功 |
|
加速器类型资源名称。 已返回: 成功 |
|
附加到每个节点的磁盘大小,以 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 磁盘的数量。 此值的限制取决于每个区域中机器上可用的最大磁盘数量。有关更多信息,请参阅: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 平台上进行调度。 已返回: 成功 |
|
在所有节点 VM 的 “default” 服务帐户下可用的 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,在这种情况下,将添加它们所需的作用域。 已返回: 成功 |
|
是否将节点创建为抢占式 VM 实例。有关抢占式 VM 实例的更多信息,请参阅:https://cloud.google.com/compute/docs/instances/preemptible。 已返回: 成功 |
|
节点 VM 要使用的 Google Cloud Platform 服务帐户。如果未指定服务帐户,则使用“default”服务帐户。 已返回: 成功 |
|
屏蔽实例选项。 已返回: 成功 |
|
定义实例是否启用了完整性监控。 启用对实例启动完整性的监控和证明。 证明将针对完整性策略基线执行。此基线最初是在创建实例时从隐式信任的启动镜像派生的。 已返回: 成功 |
|
定义实例是否启用了安全启动。 安全启动通过验证所有启动组件的数字签名,并防止启动过程在签名验证失败时运行,从而帮助确保系统仅运行经过身份验证的软件。 已返回: 成功 |
|
应用于所有节点的实例标记列表。标记用于标识网络防火墙的有效来源或目标,并且由客户端在集群或节点池创建期间指定。列表中的每个标记都必须符合 RFC1035。 已返回: 成功 |
|
要应用于每个节点的 Kubernetes 污点列表。 已返回: 成功 |
|
污点的效果。 已返回: 成功 |
|
污点的键。 已返回: 成功 |
|
污点的值。 已返回: 成功 |
|
WorkloadMetadataConfig 定义要向节点池上的工作负载公开的元数据配置。 已返回: 成功 |
|
模式是有关如何向节点池上运行的工作负载公开元数据的配置。 已返回: 成功 |
|
池的初始节点计数。您必须确保您的 Compute Engine 资源配额足以满足此实例数量。您还必须具有可用的防火墙和路由配额。 已返回: 成功 |
|
部署节点池的位置。 已返回: 成功 |
|
此 NodePool 的管理配置。 已返回: 成功 |
|
一个标志,指定是否为节点池启用节点自动修复。如果启用,将监视此节点池中的节点,并且如果它们多次未能通过运行状况检查,则将触发自动修复操作。 已返回: 成功 |
|
一个标志,指定是否为节点池启用节点自动升级。如果启用,节点自动升级有助于使您的节点池中的节点与 Kubernetes 的最新版本保持同步。 已返回: 成功 |
|
指定节点池的自动升级旋钮。 已返回: 成功 |
|
当升级即将开始时,此字段会设置为升级的大致开始时间,采用 RFC3339 文本格式。 已返回: 成功 |
|
当升级即将开始时,此字段会设置为升级的描述。 已返回: 成功 |
|
对节点池中一个节点上可以同时运行的最大 pod 数的限制。 已返回: 成功 |
|
在每个节点的最大 pod 数上强制执行的约束。 已返回: 成功 |
|
节点池的名称。 已返回: 成功 |
|
此节点池中每个节点的 pod CIDR 块大小。 已返回: 成功 |
|
此池实例中节点的状态。 已返回: 成功 |
|
有关此节点池实例当前状态的其他信息。 已返回: 成功 |
|
此节点的 Kubernetes 版本。 已返回: 成功 |