REST Resource: projects.locations.awsClusters

资源:AwsCluster

在 AWS 上运行的 Anthos 集群。

JSON 表示法
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "state": enum (State),
  "endpoint": string,
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "workloadIdentityConfig": {
    object (WorkloadIdentityConfig)
  },
  "clusterCaCertificate": string,
  "fleet": {
    object (Fleet)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
字段
name

string

此资源的名称。

集群名称的格式为 projects/<project-number>/locations/<region>/awsClusters/<cluster-id>

如需详细了解 Google Cloud Platform 资源名称,请参阅资源名称

description

string

可选。此集群的人类可读说明。长度不能超过 255 个 UTF-8 编码字节。

networking

object (AwsClusterNetworking)

必需。集群级网络配置。

awsRegion

string

必需。集群在其中运行的 AWS 区域。

每个 Google Cloud 区域都支持附近的一部分 AWS 区域。 您可以通过调用 locations.getAwsServerConfig 列出给定 Google Cloud 区域内所有受支持的 AWS 区域。

controlPlane

object (AwsControlPlane)

必需。与集群控制平面相关的配置。

authorization

object (AwsAuthorization)

必需。与集群 RBAC 设置相关的配置。

state

enum (State)

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

endpoint

string

仅限输出。集群的 API 服务器的端点。

uid

string

仅限输出。集群的全局唯一标识符。

reconciling

boolean

仅限输出。如果设置了此字段,则当前正在对集群进行更改。

createTime

string (Timestamp format)

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

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

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

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

etag

string

允许客户端通过乐观并发控制执行一致的“读取-修改-写入”操作。

可在更新和删除请求中发送,以确保客户端在继续操作之前具有最新值。

annotations

map (key: string, value: string)

可选。集群上的注解。

此字段的限制与 Kubernetes 注解相同。所有键和值的总大小不得超过 256k。键可以包含 2 个部分:前缀(可选)和名称(必需),以斜杠 (/) 分隔。前缀必须是 DNS 子网域。名称不得超过 63 个字符,以字母数字字符开头和结尾,中间可以使用短划线 (-)、下划线 (_)、点 (.) 和字母数字字符。

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

workloadIdentityConfig

object (WorkloadIdentityConfig)

仅限输出。Workload Identity 设置。

clusterCaCertificate

string

仅限输出。集群信任根的 PEM 编码 x509 证书。

fleet

object (Fleet)

必需。舰队配置。

loggingConfig

object (LoggingConfig)

可选。此集群的 Logging 配置。

errors[]

object (AwsClusterError)

仅限输出。在集群中发现的一组错误。

monitoringConfig

object (MonitoringConfig)

可选。此集群的 Monitoring 配置。

binaryAuthorization

object (BinaryAuthorization)

可选。此集群的 Binary Authorization 配置。

AwsClusterNetworking

ClusterNetworking 定义集群范围的网络配置。

Anthos Clusters on AWS 在单个 VPC 上运行。这包括控制平面副本和节点池节点。

JSON 表示法
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
字段
vpcId

string

必需。与集群关联的 VPC。所有组件集群(即控制平面和节点池)都在单个 VPC 上运行。

此字段一经创建便无法更改。

podAddressCidrBlocks[]

string

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

serviceAddressCidrBlocks[]

string

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

perNodePoolSgRulesDisabled

boolean

可选。在控制平面安全群组上停用针对每个节点池子网的安全群组规则。如果设置为 true,您还必须提供一个或多个安全群组,以确保节点池能够向 TCP/443 和 TCP/8132 上的控制平面发送请求。否则可能导致节点池不可用。

AwsControlPlane

ControlPlane 定义了控制平面节点之间的通用参数。

JSON 表示法
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
字段
version

string

必需。要在控制平面副本上运行的 Kubernetes 版本(例如 1.19.10-gke.1000)。

您可以通过调用 locations.getAwsServerConfig 来列出给定 Google Cloud 区域中所有受支持的版本。

instanceType

string

可选。AWS 实例类型。

如果未指定,则使用基于集群版本的默认值。

sshConfig

object (AwsSshConfig)

可选。用于指定如何访问底层控制平面机器的 SSH 配置。

subnetIds[]

string

必需。控制平面副本在其中运行的子网列表。系统会在每个子网上预配一个副本,并且最多可以提供三个值。每个子网必须位于不同的 AWS 可用性区域 (AZ)。

securityGroupIds[]

string

可选。要添加到控制层面副本的其他安全组的 ID。Anthos Multi-Cloud API 会自动创建和管理安全群组,其中包含正常运行的集群所需的最少规则。

iamInstanceProfile

string

必需。要分配给每个控制平面副本的 AWS IAM 实例配置文件的名称或 ARN。

rootVolume

object (AwsVolumeTemplate)

可选。与为每个控制平面副本预配的根卷相关的配置。

系统会在与对应子网关联的可用区中预配卷。

如果未指定,则默认为 32 GiB,且卷类型为 GP2。

mainVolume

object (AwsVolumeTemplate)

可选。与为每个控制平面副本预配的主卷相关的配置。主卷负责存储集群的所有 etcd 状态。

系统会在与对应子网关联的可用区中预配卷。

如果未指定,则默认为 8 GiB,且卷类型为 GP2。

databaseEncryption

object (AwsDatabaseEncryption)

必需。用于加密集群 Secret 的 AWS KMS 密钥的 ARN。

tags

map (key: string, value: string)

可选。要传播到所有底层代管式 AWS 资源的一组 AWS 资源标记。

最多指定 50 对,其中包含字母数字字符、空格和符号 (.+-=_:@/)。键不得超过 127 个 Unicode 字符。值不得超过 255 个 Unicode 字符。

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

awsServicesAuthentication

object (AwsServicesAuthentication)

必需。用于管理 AWS 资源的身份验证配置。

proxyConfig

object (AwsProxyConfig)

可选。出站 HTTP(S) 流量的代理配置。

configEncryption

object (AwsConfigEncryption)

必需。用户数据的加密配置。

instancePlacement

object (AwsInstancePlacement)

可选。要在控制平面实例上使用的放置方式。如果未指定,则使用 VPC 的默认租约。

AwsDatabaseEncryption

与应用层 Secret 加密相关的配置。

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

string

必需。用于加密集群 Secret 的 AWS KMS 密钥的 ARN。

AwsServicesAuthentication

用于管理 AWS 资源的身份验证配置。

JSON 表示法
{
  "roleArn": string,
  "roleSessionName": string
}
字段
roleArn

string

必需。Anthos Multi-Cloud API 在您的账号中管理 AWS 资源时担任的角色的 Amazon 资源名称 (ARN)。

roleSessionName

string

可选。所需角色会话的标识符。

如果未指定,则默认为 multicloud-service-agent

AwsAuthorization

与集群 RBAC 设置相关的配置。

JSON 表示法
{
  "adminUsers": [
    {
      object (AwsClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AwsClusterGroup)
    }
  ]
}
字段
adminUsers[]

object (AwsClusterUser)

可选。能够以集群管理员身份执行操作的用户。将创建托管式 ClusterRoleBinding 以向用户授予 cluster-admin ClusterRole。最多可以提供 10 个管理员用户。

如需详细了解 RBAC,请参阅 https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

adminGroups[]

object (AwsClusterGroup)

可选。能够以集群管理员身份执行操作的用户群组。将创建托管式 ClusterRoleBinding 以向群组授予 cluster-admin ClusterRole。最多可以提供 10 个管理员群组。

如需详细了解 RBAC,请参阅 https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

AwsClusterUser

AWS 集群的用户类型主体的身份。

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

string

必需。用户的名称,例如 my-gcp-id@gmail.com

AwsClusterGroup

AWS 集群的群组类型主体的身份。

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

string

必需。群组的名称,例如 my-group@domain.com

状态

集群的生命周期状态。

枚举
STATE_UNSPECIFIED 未设置。
PROVISIONING “PROVISIONING”状态表示正在创建集群。
RUNNING “RUNNING”状态表示集群已创建并且完全可用。
RECONCILING “RECONCILING”状态表示集群上正在进行某些工作,例如升级控制平面副本。
STOPPING “STOPPING”状态表示集群正在被删除。
ERROR “ERROR”状态表示集群处于不可恢复的损坏状态。
DEGRADED “DEGRADED”状态表示集群需要用户执行操作才能恢复全部功能。

AwsClusterError

AwsClusterError 描述了在 AWS 集群上发现的错误。

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

string

直观易懂的错误说明。

方法

create

在给定的 Google Cloud Platform 项目和区域中创建新的 AwsCluster 资源。

delete

删除特定的 AwsCluster 资源。

generateAwsAccessToken

生成短期有效的访问令牌,以向给定 AwsCluster 资源进行身份验证。

generateAwsClusterAgentToken

为集群代理生成访问令牌。

get

描述特定的 AwsCluster 资源。

getJwks

获取 JSON Web 密钥格式的集群签名密钥的公共组成部分。

list

列出给定 Google Cloud 项目和区域中的所有 AwsCluster 资源。

patch

更新 AwsCluster