REST Resource: projects.locations.privateClouds.clusters

资源:Cluster

私有云中的集群。

JSON 表示法
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "state": enum (State),
  "management": boolean,
  "autoscalingSettings": {
    object (AutoscalingSettings)
  },
  "uid": string,
  "nodeTypeConfigs": {
    string: {
      object (NodeTypeConfig)
    },
    ...
  },
  "stretchedClusterConfig": {
    object (StretchedClusterConfig)
  },
  "datastoreMountConfig": [
    {
      object (DatastoreMountConfig)
    }
  ]
}
字段
name

string

仅限输出。标识符。相应集群的资源名称。资源名称是无方案 URI,遵循 https://cloud.google.com/apis/design/resource_names 中的惯例。例如 projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster

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"

state

enum (State)

仅限输出。资源的状态。

management

boolean

仅限输出。如果集群是管理集群,则为 true;否则为 false。私有云中只能有一个管理集群,且必须是第一个集群。

autoscalingSettings

object (AutoscalingSettings)

可选。应用于相应集群的自动扩缩配置。

uid

string

仅限输出。系统为资源生成的唯一标识符。

nodeTypeConfigs

map (key: string, value: object (NodeTypeConfig))

必需。相应集群中集群节点类型的映射,其中键是节点类型的规范标识符(对应于 NodeType)。

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

stretchedClusterConfig

object (StretchedClusterConfig)

可选。扩展集群的配置。对于属于延伸私有云的集群,这是必需的。

datastoreMountConfig[]

object (DatastoreMountConfig)

仅限输出。已挂载数据存储区的配置。

枚举状态定义了私有云集群的可能状态。

枚举
STATE_UNSPECIFIED 默认值。不应使用此值。
ACTIVE 集群可正常运行,用户可以使用。
CREATING 正在部署集群。
UPDATING 向集群添加节点或从集群中移除节点,以及任何其他集群特定更新。
DELETING 正在删除集群。
REPAIRING 集群正在进行维护,例如:正在更换故障节点。

AutoscalingSettings

自动扩缩设置定义了 VMware Engine 用于自动扩容和缩减私有云中集群的规则。

JSON 表示法
{
  "autoscalingPolicies": {
    string: {
      object (AutoscalingPolicy)
    },
    ...
  },
  "minClusterNodeCount": integer,
  "maxClusterNodeCount": integer,
  "coolDownPeriod": string
}
字段
autoscalingPolicies

map (key: string, value: object (AutoscalingPolicy))

必需。已向集群应用自动扩缩政策的地图。键是政策的标识符。必须满足以下要求:

  • 只能包含 1-63 个字母数字字符和连字符
  • 以字母字符开头
  • 以非连字符结尾
  • 格式不是 UUID
  • 符合 RFC 1034(第 3.5 节)

目前,该映射必须仅包含一个用于描述计算节点自动扩缩政策的元素。

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

minClusterNodeCount

integer

可选。集群中任何类型的节点数下限。如果未指定,则应用默认限制。

maxClusterNodeCount

integer

可选。集群中任何类型的节点数上限。如果未指定,则应用默认限制。

coolDownPeriod

string (Duration format)

可选。连续两次自动扩缩操作之间的最短时长。一旦添加或移除节点完全完成,系统就会开始计算时间。如果未指定,则默认为 30 分钟。冷却时间段必须以分钟为单位(例如 30、31、50、180 分钟)。

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

AutoscalingPolicy

自动扩缩政策描述了自动扩缩在资源利用率方面的行为。如果利用率超过任何一个相应阈值,系统就会启动扩容操作。如果利用率低于所有相应阈值,系统会启动缩减操作。

JSON 表示法
{
  "nodeTypeId": string,
  "scaleOutSize": integer,
  "cpuThresholds": {
    object (Thresholds)
  },
  "grantedMemoryThresholds": {
    object (Thresholds)
  },
  "consumedMemoryThresholds": {
    object (Thresholds)
  },
  "storageThresholds": {
    object (Thresholds)
  }
}
字段
nodeTypeId

string

必需。要添加或移除的节点类型的规范标识符。对应于 NodeType

scaleOutSize

integer

必需。在扩容操作期间要添加到集群的节点数。对于扩展集群,必须能被 2 整除。在缩容操作期间,每次迭代仅移除一个节点(或 2 个节点,如果是扩展集群)。

cpuThresholds

object (Thresholds)

可选。与 CPU 利用率相关的利用率阈值。

grantedMemoryThresholds

object (Thresholds)

可选。与授予的内存量相关的利用率阈值。

consumedMemoryThresholds

object (Thresholds)

可选。与消耗的内存量相关的利用率阈值。

storageThresholds

object (Thresholds)

可选。与已用存储空间量相关的利用率阈值。

阈值

阈值定义了触发扩容和缩容操作的资源利用率。

JSON 表示法
{
  "scaleOut": integer,
  "scaleIn": integer
}
字段
scaleOut

integer

必需。触发横向扩容操作的利用率(以百分比表示)。

scaleIn

integer

必需。触发缩减操作的利用率(以百分比表示)。

DatastoreMountConfig

数据存储区装载配置

JSON 表示法
{
  "fileShare": string,
  "datastore": string,
  "datastoreNetwork": {
    object (DatastoreNetwork)
  },
  "accessMode": enum (AccessMode),
  "nfsVersion": enum (NfsVersion),
  "servers": [
    string
  ]
}
字段
fileShare

string

仅限输出。文件共享名称。

datastore

string

必需。要装载的数据存储区的资源名称。资源名称是无方案 URI,遵循 https://cloud.google.com/apis/design/resource_names 中的惯例。例如 projects/my-project/locations/us-central1/datastores/my-datastore

datastoreNetwork

object (DatastoreNetwork)

必需。数据存储区的网络配置。

accessMode

enum (AccessMode)

可选。NFS 卷的访问模式。可选。将使用默认值 READ_WRITE

nfsVersion

enum (NfsVersion)

可选。NFS 卷支持的 NFS 协议。使用的默认值为 NFS_V3

servers[]

string

仅限输出。NFS 卷的服务器 IP 地址。对于 NFS 3,您只能提供单个服务器 IP 地址或 DNS 名称。

DatastoreNetwork

数据存储区的网络配置。

JSON 表示法
{
  "subnet": string,
  "mtu": integer,
  "networkPeering": string,
  "connectionCount": integer
}
字段
subnet

string

必需。子网的资源名称。资源名称是无方案 URI,遵循 https://cloud.google.com/apis/design/resource_names 中的惯例。例如:projects/my-project/locations/us-central1/subnets/my-subnet

mtu

integer

可选。在 VMKernel 适配器上为 NFS 流量设置 MTU 值。如果未提供,则使用 1500 的 MTU。如需使用巨型帧,请将此值设置为 8896。建议根据 NFS 流量性能调整此值。可以使用 fio(灵活的 I/O 测试工具)实用程序等基准化分析 I/O 工具来确定性能。

networkPeering

string

仅限输出。网络对等互联的资源名称,用于让私有云上的客户端访问文件共享。资源名称是遵循 https://cloud.google.com/apis/design/resource_names 中惯例的无架构 URI。例如:projects/my-project/locations/us-central1/networkPeerings/my-network-peering

connectionCount

integer

可选。connectionCount 用于设置从 ESXi 主机上的 NFS 客户端到 NFS 服务器的多个连接。连接数越多,数据存储区的性能就越好。在 clusters.mountDatastore API 中,默认配置的连接数上限为 4。用户可以将 connectionCount 的值设置为介于 1 到 4 之间的值。从 vSphere 8.0u1 开始支持 connection_count,对于更早的版本,连接数在 ESXi 主机上设置为 1。

AccessMode

NFS 卷的访问模式。

枚举
ACCESS_MODE_UNSPECIFIED 默认值。不应使用此值。
READ_ONLY 主机以读取模式访问 NFS
READ_WRITE 主机以读写模式访问 NFS

NfsVersion

NFS 卷支持的 NFS 协议。

枚举
NFS_VERSION_UNSPECIFIED 默认值。不应使用此值。
NFS_V3 NFS 3

方法

create

在指定的私有云中创建新集群。

delete

删除 Cluster 资源。

get

按资源名称检索 Cluster 资源。

getIamPolicy

获取资源的访问权限控制政策。

list

列出给定私有云中的 Cluster 资源。

mountDatastore

在集群资源上装载 Datastore

patch

修改 Cluster 资源。

setIamPolicy

针对指定资源设置访问权限控制政策。

testIamPermissions

返回调用者对指定资源拥有的权限。

unmountDatastore

卸载集群资源上的 Datastore