google.cloud.gcp_container_cluster 模块 – 创建一个 GCP 集群

注意

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

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

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

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

注意

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

概要

  • 一个 Google Container Engine 集群。

要求

以下要求需要在执行此模块的主机上满足。

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

参数

参数

注释

access_token

字符串

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

addons_config

字典

在集群中运行的各种可用插件的配置。

horizontal_pod_autoscaling

字典

水平 Pod 自动缩放功能的配置,该功能根据现有 Pod 的资源使用情况增加或减少复制控制器拥有的副本 Pod 的数量。

disabled

布尔值

是否在集群中启用了水平 Pod 自动缩放功能。启用后,它会确保集群中正在运行 Heapster Pod,该 Pod 也被 Cloud Monitoring 服务使用。

选项

  • false

  • true

http_load_balancing

字典

HTTP (L7) 负载均衡控制器插件的配置,它使您可以轻松地为集群中的服务设置 HTTP 负载均衡器。

disabled

布尔值

是否在集群中启用了 HTTP 负载均衡控制器。启用后,它会在集群中运行一个小 Pod 来管理负载均衡器。

选项

  • false

  • true

network_policy_config

字典

NetworkPolicy 的配置。这仅跟踪是否在 Master 上启用了插件,而不跟踪是否为节点启用了网络策略。

disabled

布尔值

是否为该集群启用 NetworkPolicy。

选项

  • false

  • true

auth_kind

字符串 / 必需

使用的凭据类型。

选项

  • "application"

  • "machineaccount"

  • "serviceaccount"

  • "accesstoken"

binary_authorization

字典

BinaryAuthorization 功能的配置。

enabled

布尔值

如果启用,所有容器镜像都将通过 Binary Authorization 验证。

选项

  • false

  • true

cluster_ipv4_cidr

字符串

此集群中容器 Pod 的 IP 地址范围,以 CIDR 表示法(例如 10.96.0.0/14)。留空以自动选择一个,或者在 10.0.0.0/8 中指定一个 /14 块。

database_encryption

字典

etcd 加密的配置。

key_name

字符串

用于加密 etcd 中密钥的 CloudKMS 密钥的名称。例如。

`projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key` 。

state

字符串

表示 etcd 加密的状态。

一些有效的选项包括:“ENCRYPTED”、“DECRYPTED”

default_max_pods_constraint

字典

在此集群的节点池中,可以在节点上同时运行的最大 Pod 数的默认约束。

仅在集群使用 IP 别名支持创建时才会被遵守。

max_pods_per_node

字符串

在每个节点的最大 Pod 数上强制执行的约束。

description

字符串

此集群的可选描述。

enable_kubernetes_alpha

布尔值

在此集群上启用 Kubernetes alpha 功能。这包括 alpha API 组(例如 v1alpha1)以及 master 和节点的 kubernetes 版本中可能尚未生产就绪的功能。

选项

  • false

  • true

enable_tpu

布尔值

(可选)是否在此集群中启用 Cloud TPU 资源。

请参阅官方文档 - https://cloud.google.com/tpu/docs/kubernetes-engine-setup

选项

  • false

  • true

env_type

字符串

指定您在其中运行此模块的 Ansible 环境。

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

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

initial_cluster_version

字符串

首次创建时,集群中使用的 master 端点和 kubelet 的软件版本。该版本可以随着时间的推移进行升级。

initial_node_count

整数

在此集群中创建的节点数。您必须确保您的 Compute Engine 资源配额足以容纳此数量的实例。您还必须有可用的防火墙和路由配额。对于请求,此字段应仅用于代替“nodePool”对象,因为此配置(以及“nodeConfig”)将用于创建一个具有自动生成的名称的“NodePool”对象。不要同时使用此项和 nodePool。

此字段已弃用。请改用 nodePool.initial_node_count。

ip_allocation_policy

字典

用于控制集群中如何分配 IP 的配置。

cluster_ipv4_cidr_block

字符串

集群 Pod IP 的 IP 地址范围。如果设置了此字段,则 cluster.cluster_ipv4_cidr 必须留空。

仅当 useIpAliases 为 true 时,此字段才适用。

设置为空白以使用默认大小选择范围。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

cluster_secondary_range_name

字符串

要用于集群 CIDR 块的辅助范围的名称。辅助范围将用于 Pod IP 地址。

这必须是与集群子网关联的现有辅助范围。

create_subnetwork

布尔值

是否为集群自动创建新的子网。

选项

  • false

  • true

node_ipv4_cidr_block

字符串

此集群中实例 IP 的 IP 地址范围。

仅当 createSubnetwork 为 true 时适用。

设置为空白以使用默认大小选择范围。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

services_ipv4_cidr_block

字符串

此集群中服务 IP 的 IP 地址范围。如果为空,将自动选择具有默认大小的范围。

仅当 useIpAliases 为 true 时,此字段才适用。

设置为空白以使用默认大小选择范围。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

services_secondary_range_name

字符串

将用作服务 CIDR 块的辅助范围的名称。该辅助范围将用于服务 ClusterIP。这必须是与集群子网关联的现有辅助范围。

stack_type

字符串

集群的 IP 堆栈类型,可能的值:(STACK_TYPE_UNSPECIFIED, IPV4, IPV4_IPV6)

subnetwork_name

字符串

如果 createSubnetwork 为 true,则使用的自定义子网名称。

如果此字段为空,则将为新的子网选择一个自动名称。

tpu_ipv4_cidr_block

字符串

此集群中 Cloud TPU 的 IP 地址范围。如果未指定,将自动选择具有默认大小的范围。

仅当 useIpAliases 为 true 时,此字段才适用。

如果未指定,该范围将使用默认大小。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

use_ip_aliases

布尔值

是否将别名 IP 用于集群中的 pod IP。

选项

  • false

  • true

kubectl_context

字符串

kubectl 配置文件的上下文名称。默认为集群名称。

kubectl_path

字符串

将写入 kubectl 配置文件的路径。

如果未设置此路径,则不会创建该文件。

此路径下的任何现有文件都将被完全覆盖。

这需要 PyYaml 库。

legacy_abac

字典

传统 ABAC 授权模式的配置。

enabled

布尔值

是否为此集群启用了 ABAC 授权器。启用后,系统中的身份(包括服务帐户、节点和控制器)将具有超出 RBAC 配置或 IAM 提供的静态授予的权限。

选项

  • false

  • true

location

别名:zone

字符串 / 必需

部署集群的位置。

locations

别名:nodeLocations

list / elements=string

集群节点应位于其中的 Google Compute Engine 区域的列表。

logging_service

字符串

集群应使用哪个日志服务来写入日志。当前可用的选项:logging.googleapis.com - Google Cloud Logging 服务。

none - 不会从集群导出任何日志。

如果保留为空字符串,将使用 logging.googleapis.com。

一些有效的选择包括:“logging.googleapis.com”、“none”

master_auth

字典

用于访问主端点的身份验证信息。

client_certificate_config

字典

集群上客户端证书身份验证的配置。对于 v1.12 之前的集群,如果未指定任何配置,则会颁发客户端证书。

issue_client_certificate

布尔值

颁发客户端证书。

选项

  • false

  • true

password

字符串

用于对主端点进行 HTTP 基本身份验证的密码。由于主端点对 Internet 开放,您应该创建一个至少包含 16 个字符的强密码。(GKE >= 1.19 不支持)。

username

字符串

用于对主端点进行 HTTP 基本身份验证的用户名。(GKE >= 1.19 不支持)。

master_authorized_networks_config

字典

用于控制集群中如何分配 IP 的配置。

cidr_blocks

list / elements=dictionary

定义最多 50 个可以通过 HTTPS 访问 Kubernetes 主节点的外部网络。

cidr_block

字符串

以 CIDR 表示法指定的块。

display_name

字符串

用于标识 CIDR 块的可选字段。

enabled

布尔值

是否启用了主授权网络。

选项

  • false

  • true

monitoring_service

字符串

集群应使用哪个监控服务来写入指标。

当前可用的选项:monitoring.googleapis.com - Google Cloud Monitoring 服务。

none - 不会从集群导出任何指标。

如果保留为空字符串,将使用 monitoring.googleapis.com。

一些有效的选择包括:“monitoring.googleapis.com”、“none”

name

字符串

此集群的名称。该名称在此项目和位置中必须是唯一的,并且最多可以包含 40 个字符。只能使用小写字母、数字和连字符。必须以字母开头。必须以数字或字母结尾。

network

字符串

集群连接到的 Google Compute Engine 网络的名称。如果未指定,将使用默认网络。

network_config

字典

网络配置。

datapath_provider

字符串

数据路径提供程序选择用于服务解析和网络策略实施的 Kubernetes 网络模型的实现。

default_snat_status

布尔值

集群是否禁用默认的节点内 sNAT 规则。当 defaultSnatStatus 被禁用时,节点内 sNAT 规则将被禁用。

选项

  • false

  • true

enable_intra_node_visibility

布尔值

是否为此集群启用节点内可见性。这使得同一节点 pod 到 pod 的流量对 VPC 网络可见。

选项

  • false

  • true

network_policy

字典

网络策略功能的配置选项。

enabled

布尔值

是否在集群上启用网络策略。

选项

  • false

  • true

provider

字符串

选定的网络策略提供程序。

一些有效的选择包括:“PROVIDER_UNSPECIFIED”、“CALICO”

node_config

字典

用于创建集群节点的参数。

对于请求,此字段应仅用于代替“nodePool”对象,因为此配置(以及“initialNodeCount”)将用于创建具有自动生成的名称的“NodePool”对象。请勿同时使用此字段和 nodePool。对于响应,此字段将填充第一个节点池的节点配置。如果未指定,则使用默认值。

accelerators

list / elements=dictionary

要附加到每个节点的硬件加速器列表。有关 GPU 支持的更多信息,请参阅https://cloud.google.com/compute/docs/gpus

accelerator_count

字符串

暴露给实例的加速器卡数量。

accelerator_type

字符串

加速器类型资源名称。

disk_size_gb

整数

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

disk_type

字符串

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

image_type

字符串

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

labels

字典

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

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

local_ssd_count

整数

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

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

machine_type

字符串

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

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

metadata

字典

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

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

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

一个包含“key”:值 对列表的对象。

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

min_cpu_platform

字符串

此实例要使用的最低 CPU 平台。实例可能会在指定的或更新的 CPU 平台上进行调度。

oauth_scopes

list / elements=string

要在“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,在这种情况下,将添加它们所需的范围。

preemptible

布尔值

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

选项

  • false

  • true

service_account

字符串

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

shielded_instance_config

字典

Shielded Instance 选项。

enable_integrity_monitoring

布尔值

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

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

证明是针对完整性策略基线执行的。此基线最初是在创建实例时从隐式信任的启动映像派生的。

选项

  • false

  • true

enable_secure_boot

布尔值

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

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

选项

  • false

  • true

tags

list / elements=string

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

taints

list / elements=dictionary

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

有关更多信息,包括用法和有效值,请参阅:https://kubernetes.ac.cn/docs/concepts/configuration/taint-and-toleration/

effect

字符串

污点的效果。

一些有效的选择包括:“EFFECT_UNSPECIFIED”、“NO_SCHEDULE”、“PREFER_NO_SCHEDULE”、“NO_EXECUTE”

key

字符串

污点的键。

value

字符串

污点的值。

private_cluster_config

字典

私有集群的配置。

enable_private_endpoint

布尔值

是否使用主节点的内部 IP 地址作为集群端点。

选项

  • false

  • true

enable_private_nodes

布尔值

节点是否仅具有内部 IP 地址。如果启用,则所有节点都仅获得 RFC 1918 私有地址,并通过私有网络与主节点通信。

选项

  • false

  • true

master_ipv4_cidr_block

字符串

以 CIDR 表示法表示的用于托管主网络的 IP 范围。此范围将用于为(一个或多个)主节点以及 ILB VIP 分配内部 IP 地址。此范围不得与集群网络内使用的任何其他范围重叠。

project

字符串

要使用的 Google Cloud Platform 项目。

release_channel

字典

ReleaseChannel 指示集群订阅的发布渠道。

发布渠道按风险和更新频率排序。

channel

字符串

集群订阅的发布通道。

一些有效的选择包括:“UNSPECIFIED”、“RAPID”、“REGULAR”、“STABLE”

resource_labels

字典

集群用于注释任何相关的 Google Compute Engine 资源的资源标签。

scopes

list / elements=string

要使用的作用域数组

service_account_contents

jsonarg

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

service_account_email

字符串

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

service_account_file

path

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

shielded_nodes

字典

屏蔽节点配置。

enabled

布尔值

是否在此集群的所有节点上启用屏蔽节点功能。

选项

  • false

  • true

state

字符串

给定对象是否应存在于 GCP 中

选项

  • "present" ← (默认)

  • "absent"

subnetwork

字符串

集群连接到的 Google Compute Engine 子网络的名称。

示例

- name: create a cluster
  google.cloud.gcp_container_cluster:
    name: my-cluster
    initial_node_count: 2
    node_config:
      machine_type: n1-standard-4
      disk_size_gb: 500
    location: us-central1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

返回值

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

描述

addonsConfig

complex

在集群中运行的各种可用插件的配置。

已返回: 成功

horizontalPodAutoscaling

complex

水平 Pod 自动缩放功能的配置,该功能根据现有 Pod 的资源使用情况增加或减少复制控制器拥有的副本 Pod 的数量。

已返回: 成功

disabled

布尔值

是否在集群中启用了水平 Pod 自动缩放功能。启用后,它会确保集群中正在运行 Heapster Pod,该 Pod 也被 Cloud Monitoring 服务使用。

已返回: 成功

httpLoadBalancing

complex

HTTP (L7) 负载均衡控制器插件的配置,它使您可以轻松地为集群中的服务设置 HTTP 负载均衡器。

已返回: 成功

disabled

布尔值

是否在集群中启用了 HTTP 负载均衡控制器。启用后,它会在集群中运行一个小 Pod 来管理负载均衡器。

已返回: 成功

networkPolicyConfig

complex

NetworkPolicy 的配置。这仅跟踪是否在 Master 上启用了插件,而不跟踪是否为节点启用了网络策略。

已返回: 成功

disabled

布尔值

是否为该集群启用 NetworkPolicy。

已返回: 成功

binaryAuthorization

complex

BinaryAuthorization 功能的配置。

已返回: 成功

enabled

布尔值

如果启用,所有容器镜像都将通过 Binary Authorization 验证。

已返回: 成功

clusterIpv4Cidr

字符串

此集群中容器 Pod 的 IP 地址范围,以 CIDR 表示法(例如 10.96.0.0/14)。留空以自动选择一个,或者在 10.0.0.0/8 中指定一个 /14 块。

已返回: 成功

conditions

complex

导致当前集群状态的条件。

已返回: 成功

code

字符串

条件的机器友好表示。

已返回: 成功

message

字符串

条件的人工友好表示。

已返回: 成功

createTime

字符串

集群创建的时间,采用 RFC3339 文本格式。

已返回: 成功

currentMasterVersion

字符串

主端点的当前软件版本。

已返回: 成功

currentNodeCount

整数

集群中当前节点的数量。

已返回: 成功

currentNodeVersion

字符串

节点软件组件的当前版本。如果由于正在升级而当前处于多个版本,则这反映了所有节点的最低版本。

已返回: 成功

databaseEncryption

complex

etcd 加密的配置。

已返回: 成功

keyName

字符串

用于加密 etcd 中密钥的 CloudKMS 密钥的名称。例如。

`projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key` 。

已返回: 成功

state

字符串

表示 etcd 加密的状态。

已返回: 成功

defaultMaxPodsConstraint

complex

在此集群的节点池中,可以在节点上同时运行的最大 Pod 数的默认约束。

仅在集群使用 IP 别名支持创建时才会被遵守。

已返回: 成功

maxPodsPerNode

字符串

在每个节点的最大 Pod 数上强制执行的约束。

已返回: 成功

description

字符串

此集群的可选描述。

已返回: 成功

enableKubernetesAlpha

布尔值

在此集群上启用 Kubernetes alpha 功能。这包括 alpha API 组(例如 v1alpha1)以及 master 和节点的 kubernetes 版本中可能尚未生产就绪的功能。

已返回: 成功

enableTpu

布尔值

(可选)是否在此集群中启用 Cloud TPU 资源。

请参阅官方文档 - https://cloud.google.com/tpu/docs/kubernetes-engine-setup

已返回: 成功

endpoint

字符串

此集群主端点的 IP 地址。

可以从 internet 在https://username:password@endpoint/ 访问该端点。有关用户名和密码信息,请参阅此资源的 masterAuth 属性。

已返回: 成功

expireTime

字符串

集群将在 RFC3339 文本格式中自动删除的时间。

已返回: 成功

initialClusterVersion

字符串

首次创建时,集群中使用的 master 端点和 kubelet 的软件版本。该版本可以随着时间的推移进行升级。

已返回: 成功

initialNodeCount

整数

在此集群中创建的节点数。您必须确保您的 Compute Engine 资源配额足以容纳此数量的实例。您还必须有可用的防火墙和路由配额。对于请求,此字段应仅用于代替“nodePool”对象,因为此配置(以及“nodeConfig”)将用于创建一个具有自动生成的名称的“NodePool”对象。不要同时使用此项和 nodePool。

此字段已弃用。请改用 nodePool.initial_node_count。

已返回: 成功

ipAllocationPolicy

complex

用于控制集群中如何分配 IP 的配置。

已返回: 成功

clusterIpv4CidrBlock

字符串

集群 Pod IP 的 IP 地址范围。如果设置了此字段,则 cluster.cluster_ipv4_cidr 必须留空。

仅当 useIpAliases 为 true 时,此字段才适用。

设置为空白以使用默认大小选择范围。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

已返回: 成功

clusterSecondaryRangeName

字符串

要用于集群 CIDR 块的辅助范围的名称。辅助范围将用于 Pod IP 地址。

这必须是与集群子网关联的现有辅助范围。

已返回: 成功

createSubnetwork

布尔值

是否为集群自动创建新的子网。

已返回: 成功

nodeIpv4CidrBlock

字符串

此集群中实例 IP 的 IP 地址范围。

仅当 createSubnetwork 为 true 时适用。

设置为空白以使用默认大小选择范围。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

已返回: 成功

servicesIpv4CidrBlock

字符串

此集群中服务 IP 的 IP 地址范围。如果为空,将自动选择具有默认大小的范围。

仅当 useIpAliases 为 true 时,此字段才适用。

设置为空白以使用默认大小选择范围。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

已返回: 成功

servicesSecondaryRangeName

字符串

将用作服务 CIDR 块的辅助范围的名称。该辅助范围将用于服务 ClusterIP。这必须是与集群子网关联的现有辅助范围。

已返回: 成功

stackType

字符串

集群的 IP 堆栈类型,可能的值:(STACK_TYPE_UNSPECIFIED, IPV4, IPV4_IPV6)

已返回: 成功

subnetworkName

字符串

如果 createSubnetwork 为 true,则使用的自定义子网名称。

如果此字段为空,则将为新的子网选择一个自动名称。

已返回: 成功

tpuIpv4CidrBlock

字符串

此集群中 Cloud TPU 的 IP 地址范围。如果未指定,将自动选择具有默认大小的范围。

仅当 useIpAliases 为 true 时,此字段才适用。

如果未指定,该范围将使用默认大小。

设置为 /netmask(例如 /14)以使用特定网络掩码选择范围。

已返回: 成功

useIpAliases

布尔值

是否将别名 IP 用于集群中的 pod IP。

已返回: 成功

kubectlContext

字符串

kubectl 配置文件的上下文名称。默认为集群名称。

已返回: 成功

kubectlPath

字符串

将写入 kubectl 配置文件的路径。

如果未设置此路径,则不会创建该文件。

此路径下的任何现有文件都将被完全覆盖。

这需要 PyYaml 库。

已返回: 成功

labelFingerprint

字符串

此集群的标签集的指纹。

已返回: 成功

legacyAbac

complex

传统 ABAC 授权模式的配置。

已返回: 成功

enabled

布尔值

是否为此集群启用了 ABAC 授权器。启用后,系统中的身份(包括服务帐户、节点和控制器)将具有超出 RBAC 配置或 IAM 提供的静态授予的权限。

已返回: 成功

location

字符串

部署集群的位置。

已返回: 成功

locations

list / elements=string

集群节点应位于其中的 Google Compute Engine 区域的列表。

已返回: 成功

loggingService

字符串

集群应使用哪个日志服务来写入日志。当前可用的选项:logging.googleapis.com - Google Cloud Logging 服务。

none - 不会从集群导出任何日志。

如果保留为空字符串,将使用 logging.googleapis.com。

已返回: 成功

masterAuth

complex

用于访问主端点的身份验证信息。

已返回: 成功

clientCertificate

字符串

客户端用于向集群端点进行身份验证的 Base64 编码的公钥证书。

已返回: 成功

clientCertificateConfig

complex

集群上客户端证书身份验证的配置。对于 v1.12 之前的集群,如果未指定任何配置,则会颁发客户端证书。

已返回: 成功

issueClientCertificate

布尔值

颁发客户端证书。

已返回: 成功

clientKey

字符串

客户端用于向集群端点进行身份验证的 Base64 编码的私钥。

已返回: 成功

clusterCaCertificate

字符串

作为集群信任根的 Base64 编码的公钥证书。

已返回: 成功

password

字符串

用于对主端点进行 HTTP 基本身份验证的密码。由于主端点对 Internet 开放,您应该创建一个至少包含 16 个字符的强密码。(GKE >= 1.19 不支持)。

已返回: 成功

username

字符串

用于对主端点进行 HTTP 基本身份验证的用户名。(GKE >= 1.19 不支持)。

已返回: 成功

masterAuthorizedNetworksConfig

complex

用于控制集群中如何分配 IP 的配置。

已返回: 成功

cidrBlocks

complex

定义最多 50 个可以通过 HTTPS 访问 Kubernetes 主节点的外部网络。

已返回: 成功

cidrBlock

字符串

以 CIDR 表示法指定的块。

已返回: 成功

displayName

字符串

用于标识 CIDR 块的可选字段。

已返回: 成功

enabled

布尔值

是否启用了主授权网络。

已返回: 成功

monitoringService

字符串

集群应使用哪个监控服务来写入指标。

当前可用的选项:monitoring.googleapis.com - Google Cloud Monitoring 服务。

none - 不会从集群导出任何指标。

如果保留为空字符串,将使用 monitoring.googleapis.com。

已返回: 成功

name

字符串

此集群的名称。该名称在此项目和位置中必须是唯一的,并且最多可以包含 40 个字符。只能使用小写字母、数字和连字符。必须以字母开头。必须以数字或字母结尾。

已返回: 成功

network

字符串

集群连接到的 Google Compute Engine 网络的名称。如果未指定,将使用默认网络。

已返回: 成功

networkConfig

complex

网络配置。

已返回: 成功

defaultSnatStatus

布尔值

集群是否禁用默认的节点内 sNAT 规则。当 defaultSnatStatus 被禁用时,节点内 sNAT 规则将被禁用。

已返回: 成功

enableIntraNodeVisibility

布尔值

是否为此集群启用节点内可见性。这使得同一节点 pod 到 pod 的流量对 VPC 网络可见。

已返回: 成功

network

字符串

集群连接到的 Google Compute Engine 网络的相对名称。

示例:projects/my-project/global/networks/my-network。

已返回: 成功

subnetwork

字符串

集群连接到的 Google Compute Engine 子网络的相对名称。

示例:projects/my-project/regions/us-central1/subnetworks/my-subnet。

已返回: 成功

networkPolicy

complex

网络策略功能的配置选项。

已返回: 成功

enabled

布尔值

是否在集群上启用网络策略。

已返回: 成功

provider

字符串

选定的网络策略提供程序。

已返回: 成功

nodeConfig

complex

用于创建集群节点的参数。

对于请求,此字段应仅用于代替“nodePool”对象,因为此配置(以及“initialNodeCount”)将用于创建具有自动生成的名称的“NodePool”对象。请勿同时使用此字段和 nodePool。对于响应,此字段将填充第一个节点池的节点配置。如果未指定,则使用默认值。

已返回: 成功

accelerators

complex

要附加到每个节点的硬件加速器列表。有关 GPU 支持的更多信息,请参阅https://cloud.google.com/compute/docs/gpus

已返回: 成功

acceleratorCount

字符串

暴露给实例的加速器卡数量。

已返回: 成功

acceleratorType

字符串

加速器类型资源名称。

已返回: 成功

diskSizeGb

整数

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

已返回: 成功

diskType

字符串

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

已返回: 成功

imageType

字符串

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

已返回: 成功

labels

字典

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

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

已返回: 成功

localSsdCount

整数

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

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

已返回: 成功

machineType

字符串

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

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

已返回: 成功

metadata

字典

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

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

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

一个包含“key”:值 对列表的对象。

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

已返回: 成功

minCpuPlatform

字符串

此实例要使用的最低 CPU 平台。实例可能会在指定的或更新的 CPU 平台上进行调度。

已返回: 成功

oauthScopes

list / elements=string

要在“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,在这种情况下,将添加它们所需的范围。

已返回: 成功

preemptible

布尔值

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

已返回: 成功

serviceAccount

字符串

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

已返回: 成功

shieldedInstanceConfig

complex

Shielded Instance 选项。

已返回: 成功

enableIntegrityMonitoring

布尔值

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

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

证明是针对完整性策略基线执行的。此基线最初是在创建实例时从隐式信任的启动映像派生的。

已返回: 成功

enableSecureBoot

布尔值

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

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

已返回: 成功

tags

list / elements=string

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

已返回: 成功

taints

complex

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

有关更多信息,包括用法和有效值,请参阅:https://kubernetes.ac.cn/docs/concepts/configuration/taint-and-toleration/

已返回: 成功

effect

字符串

污点的效果。

已返回: 成功

key

字符串

污点的键。

已返回: 成功

value

字符串

污点的值。

已返回: 成功

nodeIpv4CidrSize

整数

每个节点上用于托管容器的地址空间大小。

这是从 container_ipv4_cidr 范围内配置的。

已返回: 成功

nodePools

complex

属于此集群的节点池。

已返回: 成功

name

字符串

节点池的名称。

已返回: 成功

privateClusterConfig

complex

私有集群的配置。

已返回: 成功

enablePrivateEndpoint

布尔值

是否使用主节点的内部 IP 地址作为集群端点。

已返回: 成功

enablePrivateNodes

布尔值

节点是否仅具有内部 IP 地址。如果启用,则所有节点都仅获得 RFC 1918 私有地址,并通过私有网络与主节点通信。

已返回: 成功

masterIpv4CidrBlock

字符串

以 CIDR 表示法表示的用于托管主网络的 IP 范围。此范围将用于为(一个或多个)主节点以及 ILB VIP 分配内部 IP 地址。此范围不得与集群网络内使用的任何其他范围重叠。

已返回: 成功

privateEndpoint

字符串

此集群主端点的内部 IP 地址。

已返回: 成功

publicEndpoint

字符串

此集群主端点的外部 IP 地址。

已返回: 成功

releaseChannel

complex

ReleaseChannel 指示集群订阅的发布渠道。

发布渠道按风险和更新频率排序。

已返回: 成功

channel

字符串

集群订阅的发布通道。

已返回: 成功

resourceLabels

字典

集群用于注释任何相关的 Google Compute Engine 资源的资源标签。

已返回: 成功

servicesIpv4Cidr

字符串

此集群中 Kubernetes 服务的 IP 地址范围,采用 CIDR 表示法(例如 1.2.3.4/29)。服务地址通常放在容器 CIDR 的最后 /16 中。

已返回: 成功

shieldedNodes

complex

屏蔽节点配置。

已返回: 成功

enabled

布尔值

是否在此集群的所有节点上启用屏蔽节点功能。

已返回: 成功

status

字符串

此集群的当前状态。

已返回: 成功

statusMessage

字符串

如果可用,则有关此集群当前状态的其他信息。

已返回: 成功

subnetwork

字符串

集群连接到的 Google Compute Engine 子网络的名称。

已返回: 成功

tpuIpv4CidrBlock

字符串

此集群中 Cloud TPU 的 IP 地址范围,采用 [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 表示法(例如 `1.2.3.4/29`)。

已返回: 成功

作者

  • Google Inc. (@googlecloudplatform)