google.cloud.gcp_container_cluster_info 模块 – 收集 GCP 集群信息
注意
此模块是 google.cloud 集合 (版本 1.4.1) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install google.cloud
。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。
要在剧本中使用它,请指定:google.cloud.gcp_container_cluster_info
。
注意
由于违反了 Ansible 包含要求,google.cloud 集合将在 Ansible 12 中移除。该集合存在 未解决的健全性测试失败。请参阅 讨论主题 了解更多信息。
摘要
收集 GCP 集群信息
要求
执行此模块的主机需要以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。 |
|
使用的凭据类型。 选项
|
|
指定您在此模块中运行的 Ansible 环境。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的用户代理字符串。 |
|
部署集群的位置。 |
|
要使用的 Google Cloud Platform 项目。 |
|
要使用的作用域数组 |
|
服务帐户 JSON 文件的内容,可以是字典或表示它的 JSON 字符串。 |
|
如果选择 machineaccount 并且用户不希望使用默认电子邮件,则为可选的服务帐户电子邮件地址。 |
|
如果选择 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。只有在未设置剧本值时,才会使用环境变量值。
service_account_email 和 service_account_file 选项是互斥的。
示例
- name: get info on a cluster
gcp_container_cluster_info:
location: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
返回值
常见的返回值已在此处记录 此处,以下是此模块独有的字段
键 |
描述 |
---|---|
资源列表 返回:始终 |
|
可在集群中运行的各种附加组件的配置。 返回:成功 |
|
水平 Pod 自动伸缩功能的配置,该功能会根据现有 Pod 的资源使用情况增加或减少复制控制器拥有的副本 Pod 的数量。 返回:成功 |
|
集群中是否启用了水平 Pod 自动伸缩功能。启用后,它会确保集群中运行 Heapster Pod,Cloud Monitoring 服务也会使用此 Pod。 返回:成功 |
|
HTTP (L7) 负载均衡控制器附加组件的配置,它简化了为集群中的服务设置 HTTP 负载均衡器的过程。 返回:成功 |
|
集群中是否启用了 HTTP 负载均衡控制器。启用后,它会在集群中运行一个小型 Pod 来管理负载均衡器。 返回:成功 |
|
NetworkPolicy 的配置。这只会跟踪附加组件在主节点上是否启用,而不会跟踪节点上是否启用了网络策略。 返回:成功 |
|
此集群中是否启用了 NetworkPolicy。 返回:成功 |
|
BinaryAuthorization 功能的配置。 返回:成功 |
|
如果启用,所有容器映像都将通过 Binary Authorization 进行验证。 返回:成功 |
|
此集群中容器 Pod 的 IP 地址范围,采用 CIDR 表示法(例如 10.96.0.0/14)。留空表示自动选择一个,或者在 10.0.0.0/8 中指定一个 /14 块。 返回:成功 |
|
导致当前集群状态的条件。 返回:成功 |
|
条件的机器友好型表示。 返回:成功 |
|
条件的人性化表示。 返回:成功 |
|
集群创建的时间,采用 RFC3339 文本格式。 返回:成功 |
|
主节点端点的当前软件版本。 返回:成功 |
|
当前集群中的节点数量。 返回:成功 |
|
节点软件组件的当前版本。如果由于正在升级而当前处于多个版本,则此版本反映所有节点的最低版本。 返回:成功 |
|
etcd 加密的配置。 返回:成功 |
|
用于加密 etcd 中密钥的 CloudKMS 密钥名称。例如: `projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key`。 返回:成功 |
|
表示 etcd 加密的状态。 返回:成功 |
|
此集群节点池中每个节点上可以同时运行的最大 Pod 数量的默认约束。 仅在使用 IP 别名支持创建集群时才有效。 返回:成功 |
|
对每个节点上的最大 Pod 数施加的约束。 返回:成功 |
|
此集群的可选描述。 返回:成功 |
|
在此集群上启用 Kubernetes alpha 功能。这包括 alpha API 组(例如 v1alpha1)以及在主节点和节点的 Kubernetes 版本中可能尚未准备好投入生产的功能。 返回:成功 |
|
(可选) 是否在此集群中启用 Cloud TPU 资源。 请参阅官方文档 - https://cloud.google.com/tpu/docs/kubernetes-engine-setup。 返回:成功 |
|
此集群主节点端点的 IP 地址。 可以通过互联网访问端点 https://username:password@endpoint/。有关用户名和密码信息,请参阅此资源的 masterAuth 属性。 返回:成功 |
|
集群将自动删除的时间,采用 RFC3339 文本格式。 返回:成功 |
|
集群首次创建时使用的主节点端点和 kubelet 的软件版本。版本可以随着时间的推移而升级。 返回:成功 |
|
在此集群中创建的节点数。您必须确保您的 Compute Engine 资源配额足以满足此数量的实例。您还必须拥有可用的防火墙和路由配额。对于请求,此字段应仅用于代替“nodePool”对象,因为此配置(以及“nodeConfig”)将用于使用自动生成的名称创建“NodePool”对象。请勿同时使用此字段和 nodePool。 此字段已弃用。请改用 nodePool.initial_node_count。 返回:成功 |
|
用于控制如何在集群中分配 IP 的配置。 返回:成功 |
|
集群 Pod IP 的 IP 地址范围。如果设置此字段,则必须留空 cluster.cluster_ipv4_cidr。 此字段仅在 useIpAliases 为 true 时适用。 留空以选择具有默认大小的范围。 设置为 /netmask(例如 /14)以选择具有特定网络掩码的范围。 返回:成功 |
|
用于集群 CIDR 块的辅助范围的名称。辅助范围将用于 Pod IP 地址。 这必须是与集群子网关联的现有辅助范围。 返回:成功 |
|
是否将为集群自动创建一个新的子网。 返回:成功 |
|
此集群中实例 IP 的 IP 地址范围。 仅当 createSubnetwork 为 true 时适用。 留空以选择具有默认大小的范围。 设置为 /netmask(例如 /14)以选择具有特定网络掩码的范围。 返回:成功 |
|
此集群中服务 IP 的 IP 地址范围。如果留空,则将自动选择具有默认大小的范围。 此字段仅在 useIpAliases 为 true 时适用。 留空以选择具有默认大小的范围。 设置为 /netmask(例如 /14)以选择具有特定网络掩码的范围。 返回:成功 |
|
用作服务 CIDR 块的辅助范围的名称。辅助范围将用于服务 ClusterIP。这必须是与集群子网关联的现有辅助范围。 返回:成功 |
|
如果 createSubnetwork 为 true,则要使用的自定义子网名称。 如果此字段为空,则将为新子网选择自动名称。 返回:成功 |
|
此集群中 Cloud TPU 的 IP 地址范围。如果未指定,则将自动选择具有默认大小的范围。 此字段仅在 useIpAliases 为 true 时适用。 如果未指定,则范围将使用默认大小。 设置为 /netmask(例如 /14)以选择具有特定网络掩码的范围。 返回:成功 |
|
集群中是否将别名 IP 用于 Pod IP。 返回:成功 |
|
此集群的标签集的指纹。 返回:成功 |
|
旧版 ABAC 授权模式的配置。 返回:成功 |
|
是否为此集群启用 ABAC 授权程序。启用后,系统中的标识(包括服务帐户、节点和控制器)将获得超出 RBAC 配置或 IAM 提供的权限的静态授予权限。 返回:成功 |
|
部署集群的位置。 返回:成功 |
|
应在其中放置集群节点的 Google Compute Engine 区域列表。 返回:成功 |
|
集群应使用哪个日志记录服务来写入日志。当前可用的选项:logging.googleapis.com - Google Cloud Logging 服务。 none - 不会从集群导出任何日志。 如果留空字符串,将使用 logging.googleapis.com。 返回:成功 |
|
访问主节点端点的身份验证信息。 返回:成功 |
|
客户端用于向集群端点进行身份验证的 Base64 编码的公共证书。 返回:成功 |
|
集群上客户端证书身份验证的配置。对于 v1.12 之前的集群,如果没有指定配置,则会颁发客户端证书。 返回:成功 |
|
颁发客户端证书。 返回:成功 |
|
客户端用于向集群端点进行身份验证的 Base64 编码的私钥。 返回:成功 |
|
Base64 编码的公共证书,它是集群的信任根。 返回:成功 |
|
用于对主节点端点进行 HTTP 基本身份验证的密码。由于主节点端点对互联网开放,因此您应该创建一个至少包含 16 个字符的强密码。 返回:成功 |
|
用于对主节点端点进行 HTTP 基本身份验证的用户名。 返回:成功 |
|
用于控制如何在集群中分配 IP 的配置。 返回:成功 |
|
定义最多 50 个可以访问 Kubernetes 主节点的外部网络(通过 HTTPS)。 返回:成功 |
|
以 CIDR 表示法指定的块。 返回:成功 |
|
用于标识 CIDR 块的可选字段。 返回:成功 |
|
主授权网络是否启用。 返回:成功 |
|
集群应使用哪个监控服务来写入指标。 当前可用的选项:monitoring.googleapis.com - Google Cloud Monitoring 服务。 none - 不会从集群导出任何指标。 如果留空字符串,将使用 monitoring.googleapis.com。 返回:成功 |
|
此集群的名称。名称在此项目和位置中必须唯一,最多可包含 40 个字符。必须仅包含小写字母、数字和连字符。必须以字母开头。必须以数字或字母结尾。 返回:成功 |
|
集群连接到的 Google Compute Engine 网络的名称。如果留空,将使用默认网络。 返回:成功 |
|
网络配置。 返回:成功 |
|
集群是否禁用默认的节点内 sNAT 规则。当 defaultSnatStatus 被禁用时,节点内 sNAT 规则将被禁用。 返回:成功 |
|
为此集群是否启用了节点内可见性。这使得 VPC 网络可以查看同一节点上的 Pod 到 Pod 的流量。 返回:成功 |
|
集群连接到的 Google Compute Engine 网络的相对名称。 示例:projects/my-project/global/networks/my-network。 返回:成功 |
|
集群连接到的 Google Compute Engine 子网的相对名称。 示例:projects/my-project/regions/us-central1/subnetworks/my-subnet。 返回:成功 |
|
NetworkPolicy 功能的配置选项。 返回:成功 |
|
集群上是否启用了网络策略。 返回:成功 |
|
选择的网络策略提供商。 返回:成功 |
|
用于创建集群节点的参数。 对于请求,此字段应仅用于代替“nodePool”对象,因为此配置(以及“initialNodeCount”)将用于使用自动生成的名称创建“NodePool”对象。请勿同时使用此字段和 nodePool。对于响应,此字段将填充第一个节点池的节点配置。如果未指定,则使用默认值。 返回:成功 |
|
要附加到每个节点的硬件加速器列表。有关对 GPU 支持的更多信息,请参阅 https://cloud.google.com/compute/docs/gpus。 返回:成功 |
|
公开给实例的加速器卡数量。 返回:成功 |
|
加速器类型资源名称。 返回:成功 |
|
附加到每个节点的磁盘大小(以 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 平台上。 返回:成功 |
|
要在“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,在这种情况下,将添加其所需的范围。 返回:成功 |
|
节点是否创建为抢占式虚拟机实例。有关抢占式虚拟机实例的更多信息,请参阅:https://cloud.google.com/compute/docs/instances/preemptible 返回:成功 |
|
节点虚拟机要使用的 Google Cloud Platform 服务帐户。如果未指定服务帐户,则使用“default”服务帐户。 返回:成功 |
|
受保护实例选项。 返回:成功 |
|
定义实例是否启用了完整性监控。 启用对实例引导完整性的监控和证明。 证明针对完整性策略基线进行。此基线最初是在创建实例时从隐式信任的引导映像派生的。 返回:成功 |
|
定义实例是否启用了安全启动。 安全启动通过验证所有引导组件的数字签名并在签名验证失败时停止引导过程,帮助确保系统仅运行经过身份验证的软件。 返回:成功 |
|
应用于所有节点的实例标签列表。标签用于标识网络防火墙的有效来源或目标,并在集群或节点池创建期间由客户端指定。列表中的每个标签都必须符合 RFC1035。 返回:成功 |
|
要应用于每个节点的 Kubernetes 污点列表。 有关更多信息,包括用法和有效值,请参阅:https://kubernetes.ac.cn/docs/concepts/configuration/taint-and-toleration/。 返回:成功 |
|
污点的效果。 返回:成功 |
|
污点的键。 返回:成功 |
|
污点的值。 返回:成功 |
|
每个节点上用于托管容器的地址空间大小。 这是从 container_ipv4_cidr 范围内配置的。 返回:成功 |
|
属于此集群的节点池。 返回:成功 |
|
节点池的名称。 返回:成功 |
|
私有集群的配置。 返回:成功 |
|
是否将主机的内部 IP 地址用作集群端点。 返回:成功 |
|
节点是否只有内部 IP 地址。如果启用,则所有节点都只获得 RFC 1918 私有地址,并通过专用网络与主机通信。 返回:成功 |
|
要用于托管主网络的 CIDR 表示法中的 IP 范围。此范围将用于为主机或主机集以及 ILB VIP 分配内部 IP 地址。此范围不得与集群网络中使用的任何其他范围重叠。 返回:成功 |
|
此集群的主端点的内部 IP 地址。 返回:成功 |
|
此集群的主端点的外部 IP 地址。 返回:成功 |
|
ReleaseChannel 指示集群订阅的发布渠道。 发布渠道按风险和更新频率排列。 返回:成功 |
|
集群订阅的发布渠道。 返回:成功 |
|
集群要用于注释任何相关 Google Compute Engine 资源的资源标签。 返回:成功 |
|
此集群中 Kubernetes 服务的 IP 地址范围,采用 CIDR 表示法(例如 1.2.3.4/29)。服务地址通常放在容器 CIDR 的最后一个 /16 中。 返回:成功 |
|
受保护节点配置。 返回:成功 |
|
是否在此集群中的所有节点上启用受保护节点功能。 返回:成功 |
|
此集群的当前状态。 返回:成功 |
|
如果可用,有关此集群当前状态的附加信息。 返回:成功 |
|
集群连接到的 Google Compute Engine 子网的名称。 返回:成功 |
|
此集群中 Cloud TPU 的 IP 地址范围,采用 [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 表示法(例如 `1.2.3.4/29`)。 返回:成功 |