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 也由云监控服务使用。

选择

  • 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

布尔值

如果启用,所有容器映像都将通过二进制授权进行验证。

选择

  • 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

字典

NetworkPolicy 功能的配置选项。

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 一个包含“键”:“值”对列表的对象。

示例:{ “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。

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

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

min_cpu_platform

字符串

此实例要使用的最小 CPU 平台。实例可以调度在指定的或更新的 CPU 平台上。

oauth_scopes

list / elements=string

要在所有节点虚拟机上的“默认”服务帐户下提供的 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

布尔值

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

选择

  • false

  • true

service_account

字符串

节点虚拟机要使用的 Google Cloud Platform 服务帐户。如果未指定服务帐户,则使用“默认”服务帐户。

shielded_instance_config

字典

屏蔽实例选项。

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

复杂

可在集群中运行的各种附加组件的配置。

返回:成功

horizontalPodAutoscaling

复杂

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

返回:成功

disabled

布尔值

是否在集群中启用水平 Pod 自动缩放功能。 启用后,它会确保集群中运行着一个 Heapster Pod,该 Pod 也由云监控服务使用。

返回:成功

httpLoadBalancing

复杂

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

返回:成功

disabled

布尔值

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

返回:成功

networkPolicyConfig

复杂

NetworkPolicy 的配置。 这仅跟踪 Master 上是否启用了该附加组件,不跟踪节点是否启用了网络策略。

返回:成功

disabled

布尔值

是否为此集群启用 NetworkPolicy。

返回:成功

binaryAuthorization

复杂

BinaryAuthorization 功能的配置。

返回:成功

enabled

布尔值

如果启用,所有容器映像都将通过二进制授权进行验证。

返回:成功

clusterIpv4Cidr

字符串

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

返回:成功

conditions

复杂

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

返回:成功

code

字符串

条件的机器友好型表示。

返回:成功

message

字符串

条件的易于理解的表示。

返回:成功

createTime

字符串

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

返回:成功

currentMasterVersion

字符串

主节点端点的当前软件版本。

返回:成功

currentNodeCount

整数

当前集群中的节点数。

返回:成功

currentNodeVersion

字符串

节点软件组件的当前版本。如果它们当前处于多个版本,因为它们正在升级过程中,则这反映所有节点的最低版本。

返回:成功

databaseEncryption

复杂

etcd 加密的配置。

返回:成功

keyName

字符串

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

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

返回:成功

state

字符串

表示 etcd 加密的状态。

返回:成功

defaultMaxPodsConstraint

复杂

此集群的节点池中,可以在节点上同时运行的最大 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 地址。

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

返回:成功

expireTime

字符串

集群将自动删除的时间,采用 RFC3339 文本格式。

返回:成功

initialClusterVersion

字符串

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

返回:成功

initialNodeCount

整数

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

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

返回:成功

ipAllocationPolicy

复杂

用于控制集群中如何分配 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

复杂

传统 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

复杂

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

返回:成功

clientCertificate

字符串

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

返回:成功

clientCertificateConfig

复杂

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

返回:成功

issueClientCertificate

布尔值

颁发客户端证书。

返回:成功

clientKey

字符串

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

返回:成功

clusterCaCertificate

字符串

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

返回:成功

password

字符串

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

返回:成功

username

字符串

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

返回:成功

masterAuthorizedNetworksConfig

复杂

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

返回:成功

cidrBlocks

复杂

定义最多 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

复杂

网络配置。

返回:成功

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

复杂

NetworkPolicy 功能的配置选项。

返回:成功

enabled

布尔值

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

返回:成功

provider

字符串

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

返回:成功

nodeConfig

复杂

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

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

返回:成功

accelerators

复杂

要附加到每个节点的硬件加速器列表。有关 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 一个包含“键”:“值”对列表的对象。

示例:{ “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。

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

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

返回:成功

minCpuPlatform

字符串

此实例要使用的最小 CPU 平台。实例可以调度在指定的或更新的 CPU 平台上。

返回:成功

oauthScopes

list / elements=string

要在所有节点虚拟机上的“默认”服务帐户下提供的 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

布尔值

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

返回:成功

serviceAccount

字符串

节点虚拟机要使用的 Google Cloud Platform 服务帐户。如果未指定服务帐户,则使用“默认”服务帐户。

返回:成功

shieldedInstanceConfig

复杂

屏蔽实例选项。

返回:成功

enableIntegrityMonitoring

布尔值

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

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

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

返回:成功

enableSecureBoot

布尔值

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

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

返回:成功

tags

list / elements=string

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

返回:成功

taints

复杂

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

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

返回:成功

effect

字符串

污点的效果。

返回:成功

key

字符串

污点的键。

返回:成功

value

字符串

污点的值。

返回:成功

nodeIpv4CidrSize

整数

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

这是在 container_ipv4_cidr 范围内配置的。

返回:成功

nodePools

复杂

属于此集群的节点池。

返回:成功

name

字符串

节点池的名称。

返回:成功

privateClusterConfig

复杂

私有集群的配置。

返回:成功

enablePrivateEndpoint

布尔值

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

返回:成功

enablePrivateNodes

布尔值

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

返回:成功

masterIpv4CidrBlock

字符串

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

返回:成功

privateEndpoint

字符串

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

返回:成功

publicEndpoint

字符串

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

返回:成功

releaseChannel

复杂

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

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

返回:成功

channel

字符串

集群订阅的发布渠道。

返回:成功

resourceLabels

字典

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

返回:成功

servicesIpv4Cidr

字符串

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

返回:成功

shieldedNodes

复杂

屏蔽节点配置。

返回:成功

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)