REST Resource: projects.locations.clusters

资源:Cluster

Google Distributed Cloud Edge Kubernetes 集群。

JSON 表示法
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "fleet": {
    object (Fleet)
  },
  "networking": {
    object (ClusterNetworking)
  },
  "authorization": {
    object (Authorization)
  },
  "defaultMaxPodsPerNode": integer,
  "endpoint": string,
  "port": integer,
  "clusterCaCertificate": string,
  "maintenancePolicy": {
    object (MaintenancePolicy)
  },
  "controlPlaneVersion": string,
  "nodeVersion": string,
  "controlPlane": {
    object (ControlPlane)
  },
  "systemAddonsConfig": {
    object (SystemAddonsConfig)
  },
  "externalLoadBalancerIpv4AddressPools": [
    string
  ],
  "controlPlaneEncryption": {
    object (ControlPlaneEncryption)
  },
  "status": enum (Status),
  "maintenanceEvents": [
    {
      object (MaintenanceEvent)
    }
  ],
  "targetVersion": string,
  "releaseChannel": enum (ReleaseChannel),
  "survivabilityConfig": {
    object (SurvivabilityConfig)
  },
  "externalLoadBalancerIpv6AddressPools": [
    string
  ],
  "connectionState": {
    object (ConnectionState)
  },
  "externalLoadBalancerAddressPools": [
    {
      object (ExternalLoadBalancerPool)
    }
  ],
  "zoneStorageEncryption": {
    object (ZoneStorageEncryption)
  },
  "containerRuntimeConfig": {
    object (ContainerRuntimeConfig)
  },
  "enableRemoteBackup": boolean,
  "enableClusterIsolation": boolean,
  "googleGroupAuthentication": {
    object (GoogleGroupAuthenticationConfig)
  }
}
字段
name

string

必需。集群的资源名称。

createTime

string (Timestamp format)

仅限输出。集群的创建时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。集群上次更新的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

labels

map (key: string, value: string)

与此资源关联的标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

fleet

object (Fleet)

必需。舰队配置。

networking

object (ClusterNetworking)

必需。集群级网络配置。

authorization

object (Authorization)

必需。不可变。将由 GEC 应用和管理的 RBAC 政策。

defaultMaxPodsPerNode

integer

可选。如果没有为此集群中的节点池明确指定最大值,则系统会为每个节点使用的默认最大值。如果未指定,系统将使用 Kubernetes 默认值。

endpoint

string

仅限输出。Kubernetes API 服务器的 IP 地址。

port

integer

仅限输出。Kubernetes API 服务器的端口号。

clusterCaCertificate

string

仅限输出。集群 CA 的 PEM 编码的公共证书。

maintenancePolicy

object (MaintenancePolicy)

可选。集群范围的维护政策配置。

controlPlaneVersion

string

仅限输出。控制平面发布版本

nodeVersion

string

仅限输出。所有工作器节点中的最低发布版本。如果集群没有任何工作器节点,此字段可以为空。

controlPlane

object (ControlPlane)

可选。集群控制平面的配置。

systemAddonsConfig

object (SystemAddonsConfig)

可选。系统插件的配置。

externalLoadBalancerIpv4AddressPools[]

string

可选。用于集群数据平面外部负载均衡的 IPv4 地址池。

controlPlaneEncryption

object (ControlPlaneEncryption)

可选。远程控制平面磁盘加密选项。此字段仅在启用 CMEK 支持时使用。

status

enum (Status)

仅限输出。集群的当前状态。

maintenanceEvents[]

object (MaintenanceEvent)

仅限输出。为集群安排的所有维护事件,包括正在进行的、计划在未来进行的以及过去(最多 90 天)完成的维护事件。

targetVersion

string

可选。目标集群版本。例如:“1.5.0”。

releaseChannel

enum (ReleaseChannel)

可选。集群订阅的发布渠道。

survivabilityConfig

object (SurvivabilityConfig)

可选。集群可维护性的配置,例如在网络连接断开的情况下。注意:这仅适用于本地控制平面集群。

externalLoadBalancerIpv6AddressPools[]

string

可选。用于集群数据平面外部负载均衡的 IPv6 地址池。

connectionState

object (ConnectionState)

仅限输出。集群的当前连接状态。

externalLoadBalancerAddressPools[]

object (ExternalLoadBalancerPool)

可选。集群的外部负载均衡器池。

zoneStorageEncryption

object (ZoneStorageEncryption)

可选。可用区存储加密配置

containerRuntimeConfig

object (ContainerRuntimeConfig)

可选。集群的容器运行时配置。

enableRemoteBackup

boolean

可选。如果为 true,则会为此集群启用远程备份/恢复功能。

enableClusterIsolation

boolean

可选。表示是否需要隔离集群。go/cluster-isolation-in-gdcc-cluster

googleGroupAuthentication

object (GoogleGroupAuthenticationConfig)

可选。集群的 Google 群组身份验证配置。

舰队

与舰队相关的配置。

舰队是 Google Cloud 关于以逻辑方式整理集群的概念,让您可以使用和管理多集群功能,并在您的所有系统中应用一致的政策。

JSON 表示法
{
  "project": string,
  "membership": string
}
字段
project

string

必需。将在其中注册此集群的舰队宿主项目的名称。

项目名称的格式为 projects/<project-number>

membership

string

仅限输出。与此集群关联的托管式 Hub 成员资格资源的名称。

成员资格名称的格式为 projects/<project-number>/locations/global/membership/<cluster-id>

ClusterNetworking

集群级网络配置。

JSON 表示法
{
  "clusterIpv4CidrBlocks": [
    string
  ],
  "servicesIpv4CidrBlocks": [
    string
  ]
}
字段
clusterIpv4CidrBlocks[]

string

必需。集群中的所有 pod 都会分配有这些块中的 RFC1918 IPv4 地址。仅支持单个块。此字段一经创建便无法更改。

servicesIpv4CidrBlocks[]

string

必需。集群中的所有服务都会分配有这些块中的 RFC1918 IPv4 地址。仅支持单个块。此字段一经创建便无法更改。

授权

将由 GEC 应用和管理的 RBAC 政策。

JSON 表示法
{
  "adminUsers": {
    object (ClusterUser)
  }
}
字段
adminUsers

object (ClusterUser)

必需。将被授予集群上 cluster-admin 角色的用户,向该用户提供对集群的完整访问权限。目前,这是一个单数字段,但未来将扩展为允许多个管理员。

ClusterUser

RBAC 政策的用户主账号。

JSON 表示法
{
  "username": string
}
字段
username

string

必需。有效的 Google 用户名。

MaintenancePolicy

维护政策配置。

JSON 表示法
{
  "window": {
    object (MaintenanceWindow)
  },
  "maintenanceExclusions": [
    {
      object (MaintenanceExclusionWindow)
    }
  ]
}
字段
window

object (MaintenanceWindow)

指定可执行维护的维护窗口。

maintenanceExclusions[]

object (MaintenanceExclusionWindow)

可选。自动维护的排除项。在这些时段内不应进行非紧急维护。每项排除对象都有一个唯一的名称,并且可能处于有效状态或已过期。在给定时间允许的维护排除项数量上限为 3。

MaintenanceWindow

维护窗口配置

JSON 表示法
{
  "recurringWindow": {
    object (RecurringTimeWindow)
  }
}
字段
recurringWindow

object (RecurringTimeWindow)

周期性维护窗口的配置。

RecurringTimeWindow

表示会重复出现的任意时间段。

JSON 表示法
{
  "window": {
    object (TimeWindow)
  },
  "recurrence": string
}
字段
window

object (TimeWindow)

首次重复出现的窗口。

recurrence

string

用于指定相应窗口重复方式的 RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3)。它们会在开始时间和结束时间之间持续显示。

TimeWindow

表示任意时间窗口。

JSON 表示法
{
  "startTime": string,
  "endTime": string
}
字段
startTime

string (Timestamp format)

时间段首次开始的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

窗口结束的时间。结束时间必须晚于开始时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

MaintenanceExclusionWindow

表示维护排除窗口。

JSON 表示法
{
  "window": {
    object (TimeWindow)
  },
  "id": string
}
字段
window

object (TimeWindow)

可选。时间窗口。

id

string

可选。窗口的唯一(每个集群)ID。

ControlPlane

集群控制平面的配置。

JSON 表示法
{

  // Union field config can be only one of the following:
  "remote": {
    object (Remote)
  },
  "local": {
    object (Local)
  }
  // End of list of possible types for union field config.
}
字段

联合字段 config

config 只能是下列其中一项:

remote

object (Remote)

远程控制平面配置。

local

object (Local)

本地控制平面配置。

警告:本地控制平面集群必须在自己的项目中创建。本地控制平面集群不能与任何其他类型的集群(包括非 GDCE 集群)共存于同一项目中。在同一项目中将本地控制平面 GDCE 集群与任何其他类型的集群混合使用可能会导致数据丢失。

远程

此类型没有字段。

特定于控制平面远程托管的集群的配置。

本地

特定于控制平面本地托管的集群的配置。

警告:本地控制平面集群必须在自己的项目中创建。本地控制平面集群不能与任何其他类型的集群(包括非 GDCE 集群)共存于同一项目中。在同一项目中将本地控制平面 GDCE 集群与任何其他类型的集群混合使用可能会导致数据丢失。

JSON 表示法
{
  "nodeLocation": string,
  "nodeCount": integer,
  "machineFilter": string,
  "sharedDeploymentPolicy": enum (SharedDeploymentPolicy),
  "controlPlaneNodeStorageSchema": string,
  "controlPlaneNodeSystemPartitionSize": enum (SystemPartitionGiBSize)
}
字段
nodeLocation

string

要在其中创建此节点池的 Google Distributed Cloud Edge 可用区的名称。例如:us-central1-edge-customer-a

nodeCount

integer

用作控制平面副本的节点数量。

machineFilter

string

只有与此过滤条件匹配的机器才能托管控制平面节点。过滤语言接受“name=”等字符串,相关文档请参阅 AIP-160

sharedDeploymentPolicy

enum (SharedDeploymentPolicy)

有关如何部署用户应用的政策配置。

controlPlaneNodeStorageSchema

string

可选。控制平面节点的存储架构的名称。

controlPlaneNodeSystemPartitionSize

enum (SystemPartitionGiBSize)

可选。控制平面节点的系统分区大小(以 GiB 为单位)。

SharedDeploymentPolicy

表示有关如何部署用户应用的政策配置。

枚举
SHARED_DEPLOYMENT_POLICY_UNSPECIFIED 未指定。
ALLOWED 用户应用可以部署在控制平面和工作器节点上。
DISALLOWED 用户应用无法部署在控制平面节点上,只能部署在工作器节点上。

SystemAddonsConfig

客户可以为 GDCE 系统插件定义的配置。

JSON 表示法
{
  "ingress": {
    object (Ingress)
  },
  "vmServiceConfig": {
    object (VMServiceConfig)
  }
}
字段
ingress

object (Ingress)

可选。Ingress 的配置。

vmServiceConfig

object (VMServiceConfig)

可选。虚拟机服务的配置。

入站流量

Ingress 插件的配置,可让客户创建 Ingress 对象来管理对集群中服务器的外部访问。该插件由 istiod 和 istio-ingress 组成。

JSON 表示法
{
  "disabled": boolean,
  "ipv4Vip": string
}
字段
disabled

boolean

可选。Ingress 是否已停用。

ipv4Vip

string

可选。入站流量 VIP。

VMServiceConfig

VMServiceConfig 定义了 GDCE 虚拟机服务的配置。

JSON 表示法
{
  "vmmEnabled": boolean
}
字段
vmmEnabled

boolean

可选。VMM 是否已启用。

ControlPlaneEncryption

控制平面节点对客户管理的 KMS 密钥的支持的配置。

JSON 表示法
{
  "kmsKey": string,
  "kmsKeyActiveVersion": string,
  "kmsKeyState": enum (KmsKeyState),
  "kmsStatus": {
    object (Status)
  },
  "resourceState": enum (ResourceState)
}
字段
kmsKey

string

可选。用于保护控制平面磁盘的 Cloud KMS CryptoKey,例如 projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}。如果未指定,系统会改用 Google 管理的密钥。

kmsKeyActiveVersion

string

仅限输出。当前用于保护控制平面磁盘的 Cloud KMS CryptoKeyVersion。仅在设置了 kmsKey 的情况下适用。

kmsKeyState

enum (KmsKeyState)

仅限输出。Cloud KMS CryptoKey 的可用性。如果不是 KEY_AVAILABLE,节点可能会因无法访问其本地数据而离线。这可能是因为缺少使用密钥的权限,或者密钥已停用或删除。

kmsStatus

object (Status)

仅限输出。使用此密钥时 Cloud KMS 返回的错误状态。仅当 kmsKeyState 不为 KMS_KEY_STATE_KEY_AVAILABLE 时,系统才会填充此字段。如果填充,此字段包含 Cloud KMS 报告的错误状态。

resourceState

enum (ResourceState)

仅限输出。与 CMEK 关联的当前资源状态。

状态

表示集群的状态。

枚举
STATUS_UNSPECIFIED 状态未知。
PROVISIONING 正在创建集群。
RUNNING 集群已创建并且完全可用。
DELETING 正在删除集群。
ERROR 此状态表示在协调/删除集群时发生了一些错误。
RECONCILING 集群正在进行某些工作,例如版本升级等。

MaintenanceEvent

维护事件是指可能会暂时中断集群工作负载的操作,包括 Google 驱动或用户发起的集群升级、用户发起的需要重启节点的集群配置更改等。

JSON 表示法
{
  "uuid": string,
  "targetVersion": string,
  "operation": string,
  "type": enum (Type),
  "schedule": enum (Schedule),
  "state": enum (State),
  "createTime": string,
  "startTime": string,
  "endTime": string,
  "updateTime": string
}
字段
uuid

string

仅限输出。维护事件的 UUID。

targetVersion

string

仅限输出。集群的目标版本。

operation

string

仅限输出。用于运行维护事件的操作。采用 projects/*/locations/*/operations/* 格式。如果维护事件分为多个操作(例如,由于维护窗口),系统会记录最新的操作。

type

enum (Type)

仅限输出。维护事件的类型。

schedule

enum (Schedule)

仅限输出。维护事件的安排。

state

enum (State)

仅限输出。维护事件的状态。

createTime

string (Timestamp format)

仅限输出。维护事件请求的创建时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

startTime

string (Timestamp format)

仅限输出。维护事件的开始时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

仅限输出。维护事件结束的时间,无论成功与否。如果维护事件分为多个维护窗口,则只有在整个流程结束时才会更新 endTime。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。维护事件消息的更新时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

类型

表示维护事件类型。

枚举
TYPE_UNSPECIFIED 未指定。
USER_INITIATED_UPGRADE 由用户发起的升级。
GOOGLE_DRIVEN_UPGRADE 由 Google 推动的升级。

时间表

指明应何时执行维护事件。

枚举
SCHEDULE_UNSPECIFIED 未指定。
IMMEDIATELY 收到请求后立即执行。

表示维护事件状态。

枚举
STATE_UNSPECIFIED 未指定。
RECONCILING 维护事件正在进行中。该集群可能无法使用。
SUCCEEDED 维护事件成功。
FAILED 维护事件失败。

ReleaseChannel

集群订阅的发布渠道。

枚举
RELEASE_CHANNEL_UNSPECIFIED 未指定发布渠道。默认情况下,系统会选择“常规”渠道。
NONE 无发布渠道。
REGULAR 常规发布渠道。

SurvivabilityConfig

集群可维护性的配置,例如在网络连接断开的情况下。

JSON 表示法
{
  "offlineRebootTtl": string
}
字段
offlineRebootTtl

string (Duration format)

可选。允许集群节点在没有与 Google 建立网络连接的情况下重启并正常运行的时间段。默认值 0 表示不允许。最长为 30 天。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

ConnectionState

ConnectionState 用于保存从集群到 Google 的当前连接状态。

JSON 表示法
{
  "state": enum (State),
  "updateTime": string
}
字段
state

enum (State)

仅限输出。当前连接状态。

updateTime

string (Timestamp format)

仅限输出。连接状态上次更改的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

连接状态。

枚举
STATE_UNSPECIFIED 连接状态未知。
DISCONNECTED 此集群目前已与 Google 断开连接。
CONNECTED 此集群目前已连接到 Google。
CONNECTED_AND_SYNCING 此集群目前已连接到 Google,但可能最近在断开连接后重新连接。仍在同步回。

ExternalLoadBalancerPool

具有自定义配置(例如名称、手动/自动分配、不重叠的 IPv4 和可选的 IPv6 地址范围)的外部负载均衡器池。

JSON 表示法
{
  "addressPool": string,
  "ipv4Range": [
    string
  ],
  "ipv6Range": [
    string
  ],
  "avoidBuggyIps": boolean,
  "manualAssign": boolean
}
字段
addressPool

string

可选。外部负载均衡器池的名称。

ipv4Range[]

string

必需。外部负载均衡器池的不重叠 IPv4 地址范围。

ipv6Range[]

string

可选。外部负载均衡器池的非重叠 IPv6 地址范围。

avoidBuggyIps

boolean

可选。如果为 true,则池会忽略以 .0 和 .255 结尾的 IP 地址。某些网络硬件会丢弃流向这些特殊地址的流量。其默认值为 false。

manualAssign

boolean

可选。如果值为 true,则此池中的地址不会自动分配给 Kubernetes 服务。如果为 true,则只有在服务明确指定时,才使用此池中的 IP 地址。其默认值为 false。

ZoneStorageEncryption

区域存储 CMEK 支持的配置

JSON 表示法
{
  "kmsKey": string,
  "kmsKeyActiveVersion": string,
  "resourceState": enum (ResourceState)
}
字段
kmsKey

string

可选。Cloud KMS 密钥

kmsKeyActiveVersion

string

仅限输出。当前用于加密/解密的 Cloud KMS CryptoKeyVersion

resourceState

enum (ResourceState)

仅限输出。CMEK 的当前资源状态

ContainerRuntimeConfig

集群的容器运行时配置。

JSON 表示法
{
  "defaultContainerRuntime": enum (DefaultContainerRuntime)
}
字段
defaultContainerRuntime

enum (DefaultContainerRuntime)

可选。要在集群中配置的默认容器运行时。

DefaultContainerRuntime

支持的容器运行时列表。

枚举
DEFAULT_CONTAINER_RUNTIME_UNSPECIFIED 未指定容器运行时。
RUNC 使用 runc 作为集群中的默认容器运行时。
GVISOR 将 gVisor 用作集群中的默认容器运行时。

GoogleGroupAuthenticationConfig

集群的 Google 群组身份验证配置。go/gdc-google-group-authentication

JSON 表示法
{
  "enable": boolean
}
字段
enable

boolean

可选。如果为 true,则集群将配置为使用 Google 群组身份验证。

方法

create

在给定的项目和位置中创建新的集群。

delete

删除单个集群。

generateAccessToken

为集群生成访问令牌。

generateOfflineCredential

为集群生成离线凭据。

get

获取单个集群的详细信息。

list

列出给定项目和位置中的集群。

patch

更新单个集群的参数。

upgrade

升级单个集群。