You need to enable JavaScript to run this app.
导航

请求结构定义

最近更新时间2023.10.09 20:56:11

首次发布时间2023.08.24 19:59:31

ClusterConfigRequest

参数名

参数类型

是否必选

示例值

说明

SubnetIds

[]String

subnet-5g39dwxvppo******

集群控制面在私有网络(VPC)内通信的子网 ID。
可以调用 私有网络API 获取子网 ID。

说明

  • 创建集群时,请确保所有指定的 SubnetIds(包括但不限于本参数)属于同一个私有网络。
  • 建议您尽量选择不同可用区下的子网来提高集群控制面的高可用性。
  • 请集群创建完成后暂不支持修改该参数,请合理配置。

ApiServerPublicAccessEnabled

Boolean

否(建议改成是,并且值为true)

false

集群 API Server公网访问配置,取值:

  • false:(默认值)关闭
  • true:开启

ApiServerPublicAccessConfig

PublicAccessConfigRequest

集群 API Server公网访问配置信息。
ApiServerPublicAccessEnabled=true时才生效。

ResourcePublicAccessDefaultEnabled

Boolean

否(建议配置为true)

false

节点公网访问配置,取值:

  • false:(默认值)不开启公网访问。已有 NAT 网关和规则不受影响。
  • true:开启公网访问。开启后,自动为集群专有网络创建 NAT 网关并配置相应规则。

说明

集群创建完成后暂不支持修改该参数,请合理配置。

PublicAccessConfigRequest

参数名

参数类型

是否必选

示例值

说明

PublicAccessNetworkConfig

EipConfigRequest

公网访问网络配置。
ApiServerPublicAccessEnabled=true时才需要填写,否则忽略。

说明

集群创建完成后暂不支持修改该参数,请合理配置。

EipConfigRequest

公网EIP的配置(不支持修改)

参数名

参数类型

是否必选

示例值

说明

BillingType

Integer

2

公网 IP 的计费类型,取值:

  • 3:(默认值)按量计费-按实际流量计费,即指定带宽上限后,将按照使用时长计费,与实际流量无关。
  • 2:按量计费-按带宽上限计费,即指定带宽上限后,将按照实际使用的出公网流量计费,与使用时长无关。

Bandwidth

Integer

10

公网IP的带宽峰值,单位为 Mbps,取值:

  • BillingType=2时:取值范围 1 ~ 500,默认值 5。
  • BillingType=3时:取值范围 1 ~ 200,默认值 100。

PodsConfigRequest

参数名

参数类型

是否必选

示例值

说明

PodNetworkMode

String

Flannel

容器网络模型,取值:

  • Flannel:Flannel 网络模型,独立的 Underlay 容器网络方案,配合私有网络(VPC)的全局路由能力,实现集群高性能的网络体验。
  • VpcCniShared:VPC-CNI 网络模型,基于私有网络的弹性网卡 ENI 实现的 Underlay 容器网络方案,具有较高的网络通信性能。

说明

集群创建完成后暂不支持修改该参数,请合理配置。

FlannelConfig

FlannelConfigRequest

Flannel 网络配置。
PodNetworkMode=Flannel时才能配置,但非必选。

VpcCniConfig

VpcCniConfigRequest

VPC-CNI 网络配置。
PodNetworkMode=VpcCniShared时才能配置,但非必选。

FlannelConfigRequest

参数名

参数类型

是否必选

示例值

说明

PodCidrs

[]String

["172.17../19"]

Flannel 模型容器网络的 Pod CIDR。
PodNetworkMode=Flannel时才能配置,但非必选。

说明

  • 集群内 Pod 数量受该 CIDR 的 IP 数量限制,集群创建完成后不支持修改,请合理规划 Pod CIDR。
  • 不能与以下网段冲突:
    • ClusterConfig.SubnetIds 对应的私有网络网段。
    • 同一个私有网络内所有集群的 FlannelConfig.PodCidrs(本参数)。
    • 同一个私有网络内所有集群的 ServiceConfig.ServiceCidrsv4
  • 同一个私有网络内不同集群的 FlannelConfig.PodCidrs 不能冲突。

MaxPodsPerNode

Integer

64

Flannel 模型容器网络的单节点 Pod 实例数量上限,取值:

  • 64:(默认值)
  • 16
  • 32
  • 128
  • 256

VpcCniConfigRequest

参数名

参数类型

是否必选

示例值

说明

SubnetIds

[]String

["subnet-5g39dwxvpdc,subnet-5g39dwxvpsa"]

VPC-CNI 模型容器网络的 Pod 子网 ID 列表。
PodNetworkMode=VpcCniShared时才需填写,否则忽略。
可以调用 私有网络API 获取子网 ID。

说明

注意

  • 创建集群时,请确保所有指定的 SubnetIds(包括但不限于本参数)属于同一个私有网络。
  • 同私有网络内不同集群的 **FlannelConfig.PodCidrs **不能冲突。

ServicesConfigRequest

参数名

参数类型

是否必选

示例值

说明

ServiceCidrsv4

[]String

["172.25../17"]

集群内服务使用的 CIDR。
不能与以下网段冲突:

  • 同一个私有网络内所有集群的FlannelConfig.PodCidrs.SubnetIds FlannelConfig.VpclConfig.SubnetIds。
  • 同一个私有网络内所有集群的 ServiceConfig.ServiceCidrsv4(本参数)。

说明

说明
当前仅支持传入一个数组元素,指定多个值时,仅第一个值生效。

ClusterLoggingConfigRequest

参数名称

类型

是否必选

示例值

描述

LogSetups

[]LogSetupRequest

集群日志选项信息。

说明

  • 空数组代表不开启任何日志。
  • 首次开启日志时,日志主题(Log Topic)自动生成。
  • 多个日志选项时,LogType 不允许重复。

LogProjectId

String

b68324a0-2680-48c7-a42e-8d78********

集群日志项目(Log Project)ID。

说明

  • 不可以空字符串。
  • 创建集群时,若 LogProjectId 不传参数值,表示由系统自动创建新的日志项目。
  • 系统自动创建日志项目,按照k8s-log-{clusterId}-{6位随机字符}格式自动生成项目名称。
  • 如果 LogSetups.Enabled 字段取值为 false,则不会自动创建日志项目。
  • 更新集群配置时,若 LogProjectId 已指定日志项目,则不可更新为空。
  • 更新集群配置时,若集群不存在任何日志配置,此时只传了 LogProjectIdLogSetups 为空时,LogProjectId 将会被忽略。
  • 更新 LogProjectId 会为处于开启状态的日志创建新的主题。

LogSetupRequest

参数名称

类型

是否必选

示例值

描述

LogType

String

Audit

当前开启的日志类型,取值:

  • Audit:集群审计日志
  • KubeApiServer:kube-apiserver 组件日志
  • KubeScheduler:kube-scheduler 组件日志
  • KubeControllerManager:kube-controller-manager 组件日志

LogTtl

Integer

30

日志在日志服务中的保存时间,超过指定的日志存储时长后,此日志主题中的过期日志会被自动清除。

  • 取值范围:1~3650
  • 单位:天
  • 默认值:30 天

指定为 3650 天表示永久存储。

Enabled

Boolean

false

是否开启该日志选项,取值:

  • false:(默认值)不开启
  • true:开启

说明

  • 更新集群配置时,若 LogTypeAudit,则更改 Enabled 会重启 Apiserver。
  • 更新集群配置时,若 Enabledfalse 更换为 true,则会创建新的日志主题。

ClusterFilterRequest

参数名

参数类型

是否必选

示例值

说明

Ids

[]String

["instance-1","instance-2","instance-3"]

集群 ID。
支持精确匹配。单次最多填写 100 个数组元素。

说明

此参数为空数组时,筛选基于账号下指定地域的所有集群。

Name

String

集群名称。

Profiles

[]String

["Cloud","Edge"]

按集群场景筛选:
Cloud: 非边缘集群
Edge: 边缘集群

DeleteProtectionEnabled

Boolean

false

集群删除保护,取值:

  • true:开启删除保护
  • false:关闭删除保护

PodsConfig.PodNetworkMode

String

集群的容器网络模型,取值:

  • Flannel:Flannel 网络模式
  • VpcCniShared:VPC-CNI 共享 ENI 模式

Statuses

[]ClusterStatusFilterRequest

需要筛选的集群状态数组,数组各个元素间是逻辑为「或」关系。
支持精确匹配。单次最多填写 15 个数组元素。

CreateClientToken

String

"My-ClientToken-1"

创建集群成功时的 ClientToken。
ClientToken 是保证请求幂等性的字符串。该字符串由调用方传入。

UpdateClientToken

String

"My-ClientToken-2"

最后一次更新集群成功时的 ClientToken。
ClientToken 是保证请求幂等性的字符串。该字符串由调用方传入。

ClusterStatusFilterRequest

参数名

参数类型

是否必选

示例值

说明

Phase

String

Creating

集群的状态,取值:

  • Creating
  • Running
  • Updating
  • Deleting
  • Stopped
  • Failed

说明

Phase和Conditions.Type两者至少有一个参数必填,否则为无效数组元素。如果Phase不填写,则由Conditions.Type决定。

Conditions.Type

String

Progressing

集群当前主状态下的状态条件,即进入该主状态的原因,可以有多个原因,取值:

  • Progressing
  • Ok
  • Degraded
  • SetByProvider
  • Balance
  • Security
  • CreateError
  • LimitedByQuota
  • StockOut
  • Balance
  • ResourceCleanupFailed
  • Unknown

说明

Phase和Conditions.Type两者至少有一个参数必填,否则为无效数组元素。如果Phase不填写,则由Conditions.Type决定。

SupportedResourceTypesFilter

参数名

参数类型

是否必选

示例值

说明

ZoneIds

[]String

指定的可用区 ID,不传代表返回指定 Region 下所有 ZoneId 下的资源信息;支持精确匹配,单次最多填写xxx ZoneId。
该参数仅用于ResourceScope为Zone的资源过滤。

ResourceTypes

[]String

["Ecs","Zone"]

返回的资源类型,目前支持两种资源类型:

  • Ecs : ECS 类型资源
  • Zone : 可用区类型资源

不传代表返回所有的资源类型。

NodeConfigRequest

参数名

参数类型

是否必选

举例

说明

InstanceTypeIds

[]String

["ecs.g1.large"]

节点对应的 ECS 实例规格 ID 列表。调用ListSupportedResourceTypes接口查询集群实例所支持的资源类型和范围。

说明

当前仅支持传一个数组元素。

SubnetIds

[]String

["subnet-3rf6vwbgkg****"]

节点网络所属的子网 ID 列表。在私有网络控制台子网 页面,获取子网 ID。您也可以调用私有网络API获取子网 ID。

说明

必须与集群处于同一个 VPC 内,最多选择8个子网。

ImageId

String

image-kdvapv****

节点对应的云服务器实例使用的镜像 ID。

说明

若不传该参数,边缘托管将根据您所选的云服务器实例规格,分配默认的系统镜像 ID。

SystemVolume

SystemVolume

节点的系统盘配置。
调用 ECS 的 DescribeInstanceTypes 接口获取 ECS 实例规格与云盘规格的匹配关系。

DataVolumes

[]DataVolume

节点的数据盘配置。
调用 ECS 的DescribeInstanceTypes接口获取 ECS 实例规格与云盘规格的匹配关系。

AdditionalContainerStorageEnabled

Boolean

false

配置节点的第一块数据盘并格式化挂载作为容器镜像和日志的存储目录,取值范围:

  • false:(默认值)关闭
  • true:开启

InitializeScript

String

ZWNobyAidGVzdCI=

创建并初始化节点后执行的自定义脚本。支持 Shell 格式,Base64 编码后长度不超过 1KB。

Security

[]NodeSecurityRequest

节点安全配置。

InstanceChargeType

String

PostPaid

云服务器实例计费类型,取值:

  • PostPaid:(默认值)按量计费
  • PrePaid:包年包月

说明

包年包月目前为白名单功能,如需使用,请 提交工单 申请。

Period

Integer

12

云服务器实例购买时长。取值如下,单位为月:
1、2、3、4、5、6、7、8、9、12、24、36
仅当InstanceChargeType=PrePaid时才需要填写且为必选参数。

AutoRenew

Boolean

true

云服务器实例到期是否自动续费,取值范围:

  • true:(默认值)自动续费
  • false:不自动续费

仅当InstanceChargeType=PrePaid时才需要填写,否则忽略。

AutoRenewPeriod

Integer

1

云服务器实例每次自动续费时长。取值如下,单位为月:
1(默认值)、2、3、6、12
仅当AutoRenew=true时生才需要填写,否则忽略。

NamePrefix

String

name-prefix

节点名称前缀。取值为空字符串时表示不启用节点命名前缀,默认不启用。前缀校验规则如下:

  • 支持英文大小写字母、数字和中划线(-)。
  • 只能以英文字母开头,英文字母或数字结尾。
  • 不能连续使用中划线(-)。
  • 长度限制为 2~51 个字符。

Tags

[]Tag

节点对应 ECS 实例绑定的标签信息,用于搜索、管理 ECS 实例。

  • Tags 中各个 Key 不可重复。
  • 资源已有相同 Tags.Key 的情况下,重复绑定 Tags.Key 不会报错,会更新为最新的 Tags.Value
  • 单个资源最多支持绑定20个 Tag
  • Tags 中的 KeyValue 不允许在最前或最后输入空格。

HpcClusterIds

[]String

["hpcCluster-yc2jlqcg7kb5oy******"]

高性能计算集群 ID。
当创建 高性能计算 GPU 型 规格的节点池时,需要指定高性能计算集群 ID。在 云服务器控制台实例与镜像 > 高性能计算集群 页面获取 ID。

说明

当前仅支持传入一个高性能计算集群 ID。更多介绍,请参见 高性能计算集群概述

SystemVolume

名称

类型

是否必选

示例值

描述

Type

String

PTSSD

云盘类型为PTSSD,性能型 SSD 云盘(即将下线该类型云盘,当前仅华北 2(北京)cn-beijing地域支持)。

Size

Integer

40

云盘空间大小,单位 GiB,取值范围:

  • 默认值:40
  • 性能型 SSD:20~500
  • 极速型 SSD:20~2048

DataVolume

名称

类型

是否必选

示例值

描述

Type

String

ESSD_PL0

磁盘类型:

  • PTSSD:性能型 SSD 云盘(即将下线该类型云盘,当前仅华北 2(北京)cn-beijing地域支持)
  • ESSD_PL0:(默认值)性能级别为 PL0 的极速型 SSD 云盘

Size

Integer

20

磁盘空间大小,单位 GiB,数据云盘数值范围:

  • 默认值:40
  • 性能型 SSD:20~8192
  • 极速型 SSD:20~32768

NodeSecurityRequest

参数名

参数类型

是否必选

举例

说明

SecurityGroupIds

[]String

["sg-2byy13cnsczy****"]

节点网络所在的安全组 ID 列表。在 私有网络控制台安全组 页面,获取安全组 ID。

说明

  • 取值为空时,默认使用「集群默认安全组」
  • 必须与集群处于同一个 VPC 内
  • 除集群默认安全组外最多选择4个自定义安全组

SecurityStrategies

[]String

["Hids"]

节点池中节点的安全策略,取值:

  • 空值:表示节点不开启安全加固
  • Hids:主机安全加固

Login

NodeLoginRequest

节点池节点的访问方式配置。支持密码方式或密钥对方式。同时传入时,优先使用密钥对。

Tag

参数名称

类型

是否必选

示例值

描述

Key

String

key

标签键。

  • 不能以任何大小写形式的volc:开头。
  • 只能包含语言字符、数字、空格和特殊符号_.:/=+-@
  • 长度限制为 1~128 个字符。

Value

String

value

标签值,可以为空。

  • 只能包含语言字符、数字、空格和特殊符号_.:/=+-@
  • 长度不超过 256 个字符。

NodeLoginRequest

参数名

参数类型

是否必选

举例

说明

Password

String

UHdkMTIzNDU2

Root 用户登录密码,使用 BASE64 编码格式。

  • 请遵循 ECS对于实例密码的要求规范,当前密码内容的要求:
    • 长度 8-30 个字符
    • 不能以/$6$开头
    • 至少包含以下三项,且只能为以下字符
      • 小写字母 a~z
      • 大写字母 A~Z
      • 数字 0~9
      • 特殊字符 ( ) ~ ! @ # $ % ^ & * _ - + =

SshKeyPairName

String

test-key

SSH 密钥对名称。

  • 请确保密钥对在 ECS 服务中存在
  • 您可以通过 ECS 控制台或者 API 创建或查询密钥对。

EdgeNodePoolKubernetesConfig

名称

类型

是否必选

示例值

描述

Labels

[]Label

[
      {
        "Key": "IDC",
        "Value": "BeiJing"
      },
      {
        "Key": "GPU",
        "Value": "true"
      }
]

Taints

[]Taint

[
      {
        "Value": "Error",
        "Key": "Status",
        "Effect": "NoSchedule"
      }
]

Label

名称

类型

是否必选

示例值

描述

Key

String

IDC

标签键,要求如下,更多规则,请参见 Kubernetes 标签规则
有效的标签键有两个段:<前缀>和<名称>,用斜杠(/)分隔。

  • <名称>是必须的,支持英文大小写字母、数字、短划线(-)、下划线(_)、英文句号( .),以字母或数字开头和结尾,长度不超过 63 个字符。
  • <前缀>是可选的。如果指定<前缀>,则必须是 DNS 子域:由英文句号(.)分隔的一系列 DNS 标签,长度不超过 253 个字符。

Value

String

BeiJing

标签值,要求如下,更多规则,请参见 Kubernetes 标签规则

  • 长度不超过 63 个字符(可以为空)。
  • 支持以英文大小写字母、数字开头和结尾。
  • 支持特殊字符:短划线(-)、下划线(_)、英文句号(.)。

Taint

名称

类型

是否必选

示例值

描述

Key

String

Error

污点键,要求如下,更多规则,请参见 Kubernetes 标签规则
有效的污点键有两个段:<前缀>和<名称>,用斜杠(/)分隔。

  • <名称>是必须的,支持英文大小写字母、数字、短划线(-)、下划线(_)、英文句号( .),以字母或数字开头和结尾,长度不超过 63 个字符。
  • <前缀>是可选的。如果指定<前缀>,则必须是 DNS 子域:由英文句号(.)分隔的一系列 DNS 标签,长度不超过 253 个字符。

Value

String

Status

污点值,要求如下,更多规则,请参见 Kubernetes 标签规则

  • 长度不超过 63 个字符(可以为空)。
  • 支持以英文大小写字母、数字开头和结尾。
  • 支持特殊字符:短划线(-)、下划线(_)、英文句号(.)。

Effect

String

NoSchedule

污点效果,取值:

  • NoSchedule:(默认值)不调度
  • PreferNoSchedule:尽量避免调度
  • NoExecute:驱逐没有容忍污点的 Pod

ElasticConfig

名称

类型

是否必选

示例值

描述

CloudServerIdentity

String

234agdagd53****

弹性节点对应的边缘服务的id。在边缘计算节点边缘服务页面,获取边缘服务 ID。

AutoScaleConfig

AutoSaleConfig

{
"Enabled": true,
"MinReplicas": 1,
"MaxReplicas": 10,
"Priority": 10,
"DesiredReplicas": 1
}

InstanceArea

InstanceArea

{
"ClusterName": "bdcdn-hsct02",
"DesiredReplicas": 1
}

AutoScaleConfig

名称

类型

是否必选

示例值

描述

Enabled

Boolean

true/false,默认 false

是否启用弹性扩缩容。

MinReplicas

Integer

0

最小副本数,默认为 0。

MaxReplicas

Integer

0

最大副本数,默认为 0。

Priority

Integer

0

优先级,默认为 0。

DesiredReplicas

Integer

0

预期副本数,默认为 0。

InstanceArea

名称

类型

是否必选

示例值

描述

AreaName

String

CentralChina

区域名称。您可以通过 ListAvailableResourceInfo 接口获取实例规格支持的区域和运营商。

Isp

String

CTCC

运营商。您可以通过 ListAvailableResourceInfo 接口获取实例规格支持的区域和运营商。

ClusterName

String

wzct-test01

集群名称

DefaultIsp

String

CTCC

默认运营商。使用三线节点时,可配置该参数。配置后,该运营商将作为默认出口。

ExternalNetworkMode

String

single_interface_multi_ip

三线节点的公网配置。如果是单线节点,该参数会被忽略。
取值范围:

  • single_interface_multi_ip:单网卡多 IP。
  • single_interface_cmcc_ip:单网卡移动 IP。需提交工单开通相关权限。
  • single_interface_cucc_ip:单网卡联通 IP。需提交工单开通相关权限。
  • single_interface_ctcc_ip:单网卡电信 IP。需提交工单开通相关权限。
  • multi_interface_multi_ip:多网卡多 IP。需提交工单开通相关权限。
  • no_interface:无公网网卡。需提交工单开通相关权限。

若不配置该参数:

  • 当有公网网卡时,默认采用 single_interface_multi_ip
  • 无公网网卡时,默认采用 no_interface

ListEdgeNodePoolsFilter

名称

类型

是否必选

示例值

描述

ClusterIds

[]String

[
"ccfc8stfqto*****"
]

按集群ID过滤,精确查询。

Ids

[]String

[
"ccfc8stfqto*****"
]

按节点池ID过滤,精确查询。

name

String

"cluster-name"

按节点池名称过滤,模糊查询。

Statuses

[]StatusFilter

[
{
"Phase": "Failed",
"Conditions.Type": "InitializeFailed"
},
{
"Phase": "Failed",
"Conditions.Type": "Unknown"
}
]

按节点池状态过滤,精确查询。

CreateClientToken

String

"doigjalfajglaarf4tejyhsed234"

按创建幂等token过滤,精确查询

UpdateClientToken

String

"doigjalfajglaarf4tejyhsed234"

按更新幂等token过滤,精确查询。

NodePoolTypes

[]String

[
"edge-machine-set "
]

按边缘节点池类型查询

  • edge-machine-set:边缘节点池
  • edge-machine-pool :边缘弹性节点池

AutoScalingEnabled

Boolean

true/false

指定自动扩缩容设置。

ListEdgeNodesFilter

名称

类型

是否必选

示例值

描述

ClusterIds

[]String

[
"ccfc8stfqto*****"
]

按集群ID过滤,精确查询

NodePoolIds

[]String

[
"ccfc8stfqto*****"
]

按节点池ID过滤,精确查询。

ZoneIds

[]String

[
"ccfc8stfqto*****"
]

按可用区ID过滤,精确查询。

Ids

[]String

[
"ccfc8stfqto*****"
]

按节点ID过滤,精确查询。

name

String

"test"

按节点名称过滤,模糊查询。

Statuses

[]StatusFilter

[
{
"Phase": "Failed",
"Conditions.Type": "InitializeFailed"
},
{
"Phase": "Failed",
"Conditions.Type": "Unknown"
}
]

按节点状态过滤,精确查询。

NeedBootstrapScript

Boolean

true

是否需要查询节点纳管脚本。

Ips

[]String

[
"10.0.0.1"
]

按节点 IP 过滤。

CreateClientToken

String

"doigjalfajglaarf4tejyhsed234"

按创建幂等token过滤,精确查询

UpdateClientToken

String

"doigjalfajglaarf4tejyhsed234"

按更新幂等token过滤,精确查询。

StatusFilter

名称

类型

是否必选

示例值

描述

Phase

String

Ok

取值范围如下:

  • Ok
  • StockOut
  • LimitedByQuota
  • Balance
  • VersionPartlyUpgraded
  • ResourceCleanupFailed
  • ClusterNotRunning
  • Unknown
  • Progressing
  • ClusterVersionUpgrading

ConditionsType

String

edge-machine-set

edge-machine-set:边缘节点池
edge-machine-pool:边缘弹性节点池

KeyValuePair

名称

类型

是否必选

示例值

描述

Name

String

app

键值对的键。

Value

String

test

键值对的值。

ContainerConfiguration

名称

类型

是否必选

示例值

描述

Name

String

demo-container

设置容器名称。同一个工作负载下,容器名称须唯一。

Image

String

容器镜像。需输入镜像名称 + 镜像版本。

ImagePullPolicy

String

Always

拉取镜像策略。可选值如下:

  • IfNotPresent
  • Always
  • Never

CpuRequest

String

0.5

容器需要使用的最小 CPU 核数。

CpuLimit

String

2

允许容器使用的 CPU 核数最大值。如果超过 CPU 上限,容器会被终止。

MemoryRequest

String

1

容器需要使用的最小内存。

MemoryLimit

String

100

允许容器使用的内存最大值。如果超过内存上限,容器会被终止。

Privileged

Bool

true

是否开启特权容器。默认不开启。开启后,该容器被设置为特权级容器。特权级容器可以访问宿主上的所有设备以及访问宿主上运行的所有进程。

InitContainer

Bool

true

是否开启 Init 容器。Init 容器是 Pod 中的一种特殊容器,在 Pod 内的应用容器启动之前运行。

Ports

[]ContainerPort

容器端口设置。

Env

[]Env

环境变量设置。

VolumeMounts

[]VolumeMount

挂载存储卷。

Command

[]String

容器启动前运行的命令。

Arguments

[]String

容器启动前所运行的命令的参数。

PostStart

[]String

启动后的操作。

PreStop

[]String

停止前处理

LivenessProbe

Probe

存活检查。

ReadinessProbe

Probe

就绪检查。

StartupProbe

Probe

启动检查。

GpuLimit

String

2

当容器使用 GPU 时,需配置该项。
允许容器使用的 GPU 卡数最大值。如果超过 GPU 上限,容器会被终止。

ContainerPort

名称

类型

是否必选

示例值

描述

Protocol

String

TCP

端口协议。可选值如下:

  • TCP
  • UDP

ContainerPort

Int32

80

端口号。取值范围为 1~65535。

Env

名称

类型

是否必选

示例值

描述

Kind

String

环境变量类型。可选值如下:

  • custom:自定义环境变量。若输入变量名 + 变量值
  • configmap:配置项。若引用配置项的全部 Key,输入配置项名称即可;若引用配置项的部分 Key,输入配置项 Key + 变量名
  • secret:保密字典。若引用保密字典的全部 Key,输入保密字典名称即可;若引用保密字典的部分 Key,输入保密字典 Key + 变量名
  • field:引用实例字段中的值作为环境变量。 输入变量名 + 实例字段,可选实例字段如下:
    • metadata.name:无状态负载的名称。
    • metadata.namespace:无状态负载所处的命名空间。
    • metadata.labels:无状态负载的标签。
    • metadata.annotations:无状态负载的注解。
    • spec.nodeName:无状态负载所处的节点。
    • spec.serviceAccountName:所使用的服务账号。
    • status.hostIP:无状态负载所处节点的 IP。
    • status.podIP:无状态负载中 Pod 的 IPv4 地址。
    • status.podIPs:无状态负载中 Pod 的 IPv4 和 IPv6 地址。
  • resource:引用容器中的资源作为环境变量。输入变量名 + 资源类型,可选资源类型如下:
    • limits.cpu:容器 CPU 的使用上限。
    • limits.memory:容器内存的使用上限。
    • request.cpu:容器 CPU 请求的大小。
    • request.memory:容器内存请求的大小。

Name

String

变量名。

Value

String

变量值。

FieldPath

String

实例字段。

Resource

String

容器资源。

ConfigName

String

配置项名称。

ConfigKey

String

配置项的 Key。

Volume

名称

类型

是否必选

示例值

描述

Kind

String

存储卷类型。可选值如下:

  • Configmap:配置项。若挂载配置项的全部 Key,输入配置项名称 + 存储卷名称;若挂载配置项的部分 Key,输入配置项名称 + 配置项的 Key + 存储卷名称(以冒号分隔 key 和 path)
  • Secret:保密字典。若挂载保密字典的全部 Key,输入保密字典名称 + 存储卷名称;若挂载保密字典的部分 Key,输入保密字典名称 + 保密字典的 Key + 存储卷名称(以冒号分隔 key 和 path)
  • pvc:存储卷声明。输入存储卷声明的名称 + 存储卷的名称
  • emptydir:临时目录。输入存储卷名称
  • hostpath:主机目录。输入path + type + 存储卷名称

Name

String

demo-volume

存储卷名称。

SourceName

String

demo-configmap

存储卷声明/配置项/保密字典的名称。

ConfigKeys

[]String

配置项或保密字典的键。如果为空,则使用所有 key。

Path

String

/data

HostPath 的路径。

Type

String

Directory

HostPath 的类型。有关 type 的取值可参见 Kubernetes 官方文档

VolumeMount

名称

类型

是否必选

示例值

描述

Name

String

存储卷名称。

MountPath

String

挂载路径。

ReadOnly

Bool

true

存储卷是否为只读模式。

SubPath

String

支持通过 SubPath 方式挂载存储卷的子目录。需输入挂载子路径。

SubPathExpr

String

支持通过 SubPathExpr 方式挂载卷的扩展路径。

Probe

名称

类型

是否必选

示例值

描述

Kind

String

http

健康检查方式,可选值如下:

  • exec:执行命令
  • http:HTTP 请求检查
  • tcp:TCP 端口检查

Scheme

String

HTTP

协议。当Kindhttp时,需设置该项。

HttpHeaders

[]KeyValuePair

HTTP 请求头。当Kindhttp时,需设置该项。

Path

String

访问 HTTP Server 的路径。当Kindhttp时,需设置该项。

Port

Int32

80

请求端口。当Kindhttptcp时,需设置该项。

InitialDelaySeconds

Int32

1

初始等待时间,单位为秒。指容器启动后,第一次执行探测时需要等待的时间,默认为 1 秒。

TimeoutSeconds

Int32

1

超时时间,单位为秒。指发送检查请求后,等待响应的超时时间。超过此时间表示容器无响应,默认为 1 秒。

PeriodSeconds

Int32

10

检查间隔时间,单位为秒。相邻两次检查的时间间隔。默认为 10 秒。

SuccessThreshold

Int32

1

成功阈值。检查请求发送后,表示系统正常的响应次数,默认为 1 次。

FailureThreshold

Int32

3

失败阈值。检查请求发送后,表示系统异常的无响应次数,默认为 3 次。即如果容器对请求 3 次无响应,则认为容器状态异常。

Command

[]String

执行的探测命令。当Kindexec时,需设置该项。

NodeAffinity

名称

类型

是否必选

示例值

描述

RequiredTerms

[]NodeSelectorTerm

强制调度。

PreferredTerms

[]PreferredSchedulingTerm

优先调度。

NodeSelectorTerm

名称

类型

是否必选

示例值

描述

MatchExpressions

[]NodeSelectorRequirement

根据表达式选择。

NodeSelectorRequirement

名称

类型

是否必选

示例值

描述

Key

String

app

标签名。

Operator

String

In

匹配关系。可选值如下:

  • In
  • NotIn
  • Exists
  • DoesNotExist

Values

String

demo

标签值。

PreferredSchedulingTerm

名称

类型

是否必选

示例值

描述

Weight

Int32

100

权重。取值范围为 1~100。

MatchExpressions

[]NodeSelectorRequirement

根据表达式选择。

Toleration

名称

类型

是否必选

示例值

描述

Key

String

app

标签名。

Operator

String

equal

匹配关系。可选值如下:

  • equal
  • exists

Value

String

demo

标签值。

Effect

String

NoSchedule

污点效果。可选值如下:

  • NoSchedule
  • PreferNoSchedule
  • NoExecute

TolerationSeconds

Int64

1

容忍污点的时间,单位为秒。

PodAffinity

名称

类型

是否必选

示例值

描述

RequiredTerms

[]PodAffinityTerm

强制调度。

PreferredTerms

[]WeightedPodAffinityTerm

优先调度。

PodAffinityTerm

名称

类型

是否必选

示例值

描述

Namespace

String

default

命名空间。

MatchExpressions

[]LabelSelectorRequirement

根据表达式选择。

MatchLabels

[]KeyValuePair

根据标签选择。

TopologyKey

String

kubernetes.io/hostname

拓扑域。

LabelSelectorRequirement

名称

类型

是否必选

示例值

描述

Key

String

app

标签名。

Operator

String

In

匹配关系。可选值如下:

  • In
  • NotIn
  • Exists
  • DoesNotExist

Values

String

demo

标签值。

WeightedPodAffinityTerm

名称

类型

是否必选

示例值

描述

Namespace

String

default

命名空间。

MatchExpressions

[]LabelSelectorRequirement

根据表达式选择。

MatchLabels

[]KeyValuePair

根据标签选择。

TopologyKey

String

kubernetes.io/hostname

拓扑域。

Weight

Int32

100

权重。取值范围为 1~100。

PodAntiAffinity

名称

类型

是否必选

示例值

描述

RequiredTerms

[]PodAffinityTerm

强制调度。

PreferredTerms

[]WeightedPodAffinityTerm

优先调度。

DnsConfig

名称

类型

是否必选

示例值

描述

Nameservers

[]String

DNS 服务器列表。

Searches

[]String

DNS 搜索域列表。

Options

[]DnsConfigOption

DNS 配置列表。

DnsConfigOption

名称

类型

是否必选

示例值

描述

Name

String

DNS 配置名称。

Value

String

DNS 配置的值。

DeleteOptions

名称

类型

是否必选

示例值

描述

IsDeleteService

Bool

true

是否同步删除工作负载所关联的 Service。

IsDeleteMetricsHPA

Bool

true

是否同步删除工作负载所关联的指标伸缩。