REST Resource: projects.locations.awsClusters.awsNodePools

资源:AwsNodePool

在 AWS 上运行的 Anthos 节点池。

JSON 表示法
{
  "name": string,
  "version": string,
  "config": {
    object (AwsNodeConfig)
  },
  "autoscaling": {
    object (AwsNodePoolAutoscaling)
  },
  "subnetId": string,
  "state": enum (State),
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "maxPodsConstraint": {
    object (MaxPodsConstraint)
  },
  "errors": [
    {
      object (AwsNodePoolError)
    }
  ],
  "management": {
    object (AwsNodeManagement)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
字段
name

string

此资源的名称。

节点池名称采用 projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id> 格式。

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

version

string

必需。要在此节点池上运行的 Kubernetes 版本(例如 1.19.10-gke.1000)。

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

config

object (AwsNodeConfig)

必需。节点池的配置。

autoscaling

object (AwsNodePoolAutoscaling)

必需。此节点池的自动扩缩器配置。

subnetId

string

必需。节点池节点在其中运行的子网。

state

enum (State)

仅限输出。节点池的生命周期状态。

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" }

maxPodsConstraint

object (MaxPodsConstraint)

必需。可在节点池中的节点上同时运行的 pod 数上限的限制。

errors[]

object (AwsNodePoolError)

仅限输出。在节点池中发现的一组错误。

management

object (AwsNodeManagement)

可选。此节点池的管理配置。

updateSettings

object (UpdateSettings)

可选。更新设置可控制更新的速度和中断情况。

AwsNodeConfig

用于描述集群中节点的参数。

JSON 表示法
{
  "instanceType": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "taints": [
    {
      object (NodeTaint)
    }
  ],
  "labels": {
    string: string,
    ...
  },
  "tags": {
    string: string,
    ...
  },
  "iamInstanceProfile": string,
  "imageType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "securityGroupIds": [
    string
  ],
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  },
  "autoscalingMetricsCollection": {
    object (AwsAutoscalingGroupMetricsCollection)
  },
  "spotConfig": {
    object (SpotConfig)
  }
}
字段
instanceType

string

可选。创建按需实例时的 EC2 实例类型。

如果在创建节点池期间未指定此字段,系统将根据节点池版本选择默认值,并将其分配给此字段。

rootVolume

object (AwsVolumeTemplate)

可选。为节点池节点预配的根卷的模板。系统会在分配给节点池子网的可用区中预配卷。

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

taints[]

object (NodeTaint)

可选。分配给此节点池的节点的初始污点。

labels

map (key: string, value: string)

可选。分配给此节点池的节点的初始标签。包含 "key": value 对列表的对象。例如:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

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

tags

map (key: string, value: string)

可选。要分配给每个底层 AWS 资源的键/值元数据。最多指定 50 对,其中包含字母数字字符、空格和符号 (.+-=_:@/)。键不得超过 127 个 Unicode 字符。值不得超过 255 个 Unicode 字符。

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

iamInstanceProfile

string

必需。要分配给池中节点的 AWS IAM 实例配置文件的名称或 ARN。

imageType

string

可选。要在节点池实例上使用的操作系统映像类型。可以不指定,也可以指定为 ubuntu 值。

如果未指定,则默认为 ubuntu

sshConfig

object (AwsSshConfig)

可选。SSH 配置。

securityGroupIds[]

string

可选。要额外添加到此池中的节点的安全组的 ID。管理器会自动创建安全组,其中包含正常运行的集群所需的最少规则。

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

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

instancePlacement

object (AwsInstancePlacement)

可选。此节点的展示位置相关信息。如果未指定,则使用 VPC 的默认租约。

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

可选。与节点池的自动扩缩组的 CloudWatch 指标收集相关的配置。

如果未指定,则指标收集处于停用状态。

spotConfig

object (SpotConfig)

可选。用于预配 EC2 Spot 实例的配置

指定此字段时,节点池将从 spotConfig.instance_types 集预配 Spot 实例。此字段与 instanceType 互斥。

AwsAutoscalingGroupMetricsCollection

与 AWS 自动扩缩组中 CloudWatch 指标收集相关的配置。

JSON 表示法
{
  "granularity": string,
  "metrics": [
    string
  ]
}
字段
granularity

string

必需。EC2 自动扩缩功能将汇总数据发送到 AWS CloudWatch 的频率。唯一的有效值为“1Minute”。

metrics[]

string

可选。要启用的指标。如需查看有效指标的列表,请参阅 https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html。如果指定了“粒度”而不指定任何指标,则系统会启用所有指标。

SpotConfig

SpotConfig 包含 Spot 节点的配置信息。

JSON 表示法
{
  "instanceTypes": [
    string
  ]
}
字段
instanceTypes[]

string

必需。用于创建 Spot 节点池的实例类型列表。

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling 包含集群自动扩缩器将节点池的大小调整为当前集群使用情况所需的信息。

JSON 表示法
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
字段
minNodeCount

integer

必需。节点池中的节点数下限。必须大于或等于 1,且小于或等于 maxNodeCount。

maxNodeCount

integer

必需。节点池中的节点数上限。必须大于或等于 minNodeCount,且小于或等于 50。

状态

节点池的生命周期状态。

枚举
STATE_UNSPECIFIED 未设置。
PROVISIONING “PROVISIONING”状态表示正在创建节点池。
RUNNING “RUNNING”状态表示节点池已创建并且完全可用。
RECONCILING “RECONCILING”状态表示节点池正在协调。
STOPPING “STOPPING”状态表示节点池正在被删除。
ERROR “ERROR”状态表示节点池处于不可恢复的损坏状态。
DEGRADED “DEGRADED”状态表示节点池需要用户执行操作才能恢复全部功能。

AwsNodePoolError

AwsNodePoolError 描述了 AWS 节点池中发现的错误。

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

string

直观易懂的错误说明。

AwsNodeManagement

AwsNodeManagement 定义了为 AWS 节点池启用的一组节点管理功能。

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

boolean

可选。指定是否自动修复节点。如果设置为 true,此节点池中的节点将受到监控,并且如果这些节点在一段时间内始终未通过健康检查,则会触发自动修复操作,将其替换为新节点。

UpdateSettings

UpdateSettings 可控制节点池更新期间的并行性级别和中断级别。

当节点池更新要求将现有节点池节点替换为更新后的节点时,这些设置适用。

UpdateSettings 是可选的。如果在创建节点池期间未指定 UpdateSettings,则系统会根据父集群的版本选择默认值。对于次要版本为 1.27 及更高版本的集群,系统会使用默认的 surgeSettings 配置,其中 maxSurge = 1 且 maxUnavailable = 0。对于具有旧版本的集群,节点池更新使用传统的滚动更新机制,即以“创建前终止”的方式一次更新一个节点,updateSettings 不适用。

设置 surgeSettings 参数以使用超额配置更新机制对节点池节点进行滚动更新。1. maxSurge 控制在更新期间可以临时创建超出节点池当前大小的额外节点数量,以增加可用节点数量。2. maxUnavailable 控制更新期间同时不可用的节点数。3. (maxSurge + maxUnavailable) 确定并行级别(即同时更新的节点数)。

JSON 表示法
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
字段
surgeSettings

object (SurgeSettings)

可选。超额配置更新的设置。

SurgeSettings

SurgeSettings 包含超额配置更新的参数。

JSON 表示法
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
字段
maxSurge

integer

可选。在更新过程中可以创建的超出节点池当前大小的节点数上限。

maxUnavailable

integer

可选。在更新过程中可能同时不可用的节点数上限。如果节点的状态不是“就绪”,则会被视为不可用。

方法

create

创建附加到给定 AwsCluster 的新 AwsNodePool

delete

删除特定的 AwsNodePool 资源。

get

描述特定的 AwsNodePool 资源。

list

列出给定 AwsCluster 中的所有 AwsNodePool 资源。

patch

更新 AwsNodePool

rollback

回滚之前已取消或失败的 AwsNodePool 更新请求。