UpdateContainerGroup - 更新一个容器组

更新实例。

接口说明

  • 仅支持处于启动中(Pending)或运行中(Running)状态的 ECI 实例进行更新。更新操作后,ECI 实例状态将变更为更新中(Updating)。
  • 更新 RestartPolicy 配置为 Never 的 ECI 实例可能会有容器 Failed 的风险,请慎重更新。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
eci:UpdateContainerGroupupdate
*containergroup
acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}
  • eci:tag

请求参数

名称类型必填描述示例值
RegionIdstring

地域 ID。

cn-hangzhou
ContainerGroupIdstring

指定需要更新的 ECI 实例 ID,即容器组 ID。

eci-2zelg8vwnlzdhf8hv****
RestartPolicystring

实例重启策略。取值范围:

  • Always:总是重启
  • Never:从不重启
  • OnFailure:失败时重启
Always
ClientTokenstring

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。只支持 ASCII 字符,且不能超过 64 个字符。更多详情,请参阅如何保证幂等性

123e4567-e89b-12d3-a456-426655440000
Cpufloat

实例级别(容器组)的 vCPU 数。

2.0
Memoryfloat

实例级别的(容器组)的内存数。单位为 GiB。

4.0
ResourceGroupIdstring

所属资源组 ID。

rg-2df3isufhi38****
Tagarray<object>

实例绑定的标签列表。

object

实例绑定的标签列表。

Keystring

标签键。

name
Valuestring

标签值。

hxh
Volumearray<object>

数据卷列表。

object

数据卷列表。

Namestring

数据卷名称。

test-empty
Typestring

数据卷类型。取值范围:

  • EmptyDirVolume:EmptyDir 类型的数据卷,表示临时目录。
  • ConfigFileVolume:ConfigFile 类型的数据卷,表示配置文件。
  • NFSVolume:NFS 类型的数据卷,表示网络文件系统,例如 NAS。
  • FlexVolume:使用 FlexVolume 插件扩展存储类型,支持挂载云盘、NAS 和 OSS。
  • HostPathVolume:HostPath 类型的数据卷,表示宿主机上的文件或目录。该取值暂未开放使用。
EmptyDirVolume
NFSVolume.Pathstring

NFS 数据卷要挂载的路径。

/
NFSVolume.Serverstring

NFS 数据卷的挂载点地址。

071e349b04-bsd39.cn-hangzhou.nas.aliyuncs.com
NFSVolume.ReadOnlyboolean

NFS 数据卷的读取权限。取值范围:

  • true:NFS Volume 具有只读权限。
  • false:NFS Volume 具有可读可写权限。
false
ConfigFileVolume.ConfigFileToPatharray<object>

ConfigFile 数据卷对应的配置文件信息。

object

ConfigFile 数据卷对应的配置文件信息。

Pathstring

配置文件的相对文件路径。

jin/test
Contentstring

配置文件的内容。采用 Base64 编码。

bGl1bWk=
EmptyDirVolume.Mediumstring

EmptyDir 数据卷的存储媒介,默认为空,使用 node 文件系统;支持配置为 Memory,表示使用内存。

Memory
EmptyDirVolume.SizeLimitstring

EmptyDir 数据卷的大小。取值请带上单位,建议使用 Gi 或 Mi。

256Mi
FlexVolume.FsTypestring

使用 FlexVolume 插件挂载云盘时,云盘的文件系统类型。支持的类型包括 ext4、ext3、xfs、vfat。默认为 ext4。

ext4
FlexVolume.Driverstring

使用 FlexVolume 插件挂载数据卷时的驱动类型。取值范围如下:

  • alicloud/disk:挂载云盘。
  • alicloud/nas:挂载 NAS。
  • alicloud/oss:挂载 OSS。
alicloud/disk
FlexVolume.Optionsstring

FlexVolume 对象选项列表。为 KV 形式,采用 JSON 传递。例如通过 FlexVolume 挂载云盘时,Options 表示云盘的配置参数。更多信息,请参见数据卷概述

{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}
HostPathVolume.Pathstring

HostPath 数据卷在宿主机上的路径。

说明 该参数暂未开放使用。
/tmp
HostPathVolume.Typestring

HostPath 数据卷的类型。取值范围:

  • Directory:目录。
  • File:文件。
说明 该参数暂未开放使用。
Directory
DnsConfig.Searcharray

DNS 搜索域列表。

string

DNS 搜索域列表。

my.dns.search.suffix
DnsConfig.NameServerarray

DNS 服务器的 IP 地址列表。

string

DNS 服务器的 IP 地址列表。

1.2.3.4
DnsConfig.Optionarray<object>

DNS 配置信息。

object

DNS 配置信息。

Valuestring

DNS 配置的选项变量值。

2
Namestring

DNS 配置的选项变量名。

ndots
Containerarray<object>

指定新的容器组配置信息。

object

指定新的容器组配置信息。

ReadinessProbe.TimeoutSecondsinteger

检查超时的时间。默认为 1 秒,最小为 1 秒。

5
ReadinessProbe.SuccessThresholdinteger

从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认为 1。

1
SecurityContext.Capability.Addarray

为容器内的进程授予某些特定的权限。目前仅支持配置为 NET_ADMIN 和 NET_RAW。

说明 NET_RAW 默认不支持,需提交工单申请。
string

为容器内的进程授予某些特定的权限。目前仅支持配置为 NET_ADMIN 和 NET_RAW。

说明 NET_RAW 默认不支持,需提交工单申请。
NET_ADMIN
ReadinessProbe.TcpSocket.Portinteger

TcpSocket 检测的端口。

5000
ReadinessProbe.HttpGet.Schemestring

使用 HTTP 请求方式进行健康检查时,HTTP Get 请求对应的协议类型,取值范围:

  • HTTP
  • HTTPS
HTTP
LivenessProbe.PeriodSecondsinteger

检查执行的周期。默认为 10 秒,最小为 1 秒。

10
SecurityContext.ReadOnlyRootFilesystemboolean

是否只读根文件系统。取值目前仅支持:true。

true
EnvironmentVararray<object>

容器的环境变量信息列表。

object

容器的环境变量信息列表。

Keystring

容器的环境变量名。

PATH
Valuestring

容器的环境变量值。

/usr/bin/local/
FieldRef.FieldPathstring

使用 Pod 字段作为环境变量。目前仅支持 status.podIP。

status.podIP
LivenessProbe.TcpSocket.Portinteger

TcpSocket 检测的端口。

80
Ttyboolean

是否开启交互。默认为 false,如果 Command 为/bin/bash 类型,需要设置为 true。

false
WorkingDirstring

容器工作目录。

/usr/share/
Argarray

容器启动参数。最多 10 个。

string

容器启动参数。

hello
Stdinboolean

此容器是否应在容器运行时为标准输入分配缓冲区。如果未设置,则容器中标准输入的读取值将导致 EOF。默认为 false。

false
LivenessProbe.InitialDelaySecondsinteger

检查开始执行的时间。以容器启动完成为起点开始计算。

10
VolumeMountarray<object>

容器的数据卷信息列表。

object

容器的数据卷信息列表。

MountPropagationstring

数据卷的挂载传播设置。挂载传播允许将 Container 挂载的卷共享到同一 Pod 中的其他 Container,甚至可以共享到同一节点上的其他 Pod。取值范围:

  • None:该卷不感知任何后续在此卷或其子目录上执行的挂载操作。
  • HostToContainer:该卷将会感知到后续在此卷或其子目录上的挂载操作。
  • Bidirectional:和 HostToContainerr 类似,能感知挂载操作。另外,该卷将被传播回主机和使用同一卷的所有 Pod 的所有容器。

默认值:None

None
MountPathstring

容器挂载的目录。容器挂载目录下的内容会被 volume 的内容直接覆盖,请谨慎使用。

/usr/share/
ReadOnlyboolean

是否只读。默认值:false

false
SubPathstring

数据卷的子目录,方便 Pod 将同一个 Volume 下不同目录挂载到容器不同目录。

/usr/share/sub/
Namestring

容器挂载的数据卷名称。从 ECI 实例(容器组)挂载的数据卷中选择,即取值范围为配置的 Volume.N.Name 参数。

test-empty
ImagePullPolicystring

镜像拉取策略。取值范围:

  • Always:总是拉取。每次都拉取镜像。
  • IfNotPresent:按需拉取。优先使用本地镜像,本地没有镜像时则拉取镜像。
  • Never:从不拉取。使用本地镜像,不拉取镜像。
Never
StdinOnceboolean

当标准输入为 true 时,标准输入流将在多个附加会话中保持开启状态。如果 StdinOnce 设为 true,标准输入在容器开启时被打开,在首个客户端附加到标准输入之前都为空,然后会一直保持开启状态,接收数据,直到客户端连接断开,此时标准输入被关闭,在容器重启前一直保持关闭状态。

true
LifecyclePreStopHandlerTcpSocketPortinteger

使用 TCPSocket 方式设置 preStop 回调函数时,TCP Socket 检测的端口。

80
LifecyclePostStartHandlerHttpGetSchemestring

使用 HTTP 请求方式设置 postStart 回调函数时,HTTP Get 请求检测的路径。

/healthyz
ReadinessProbe.PeriodSecondsinteger

检查执行的周期,默认为 10 秒,最小为 1 秒。

3
LivenessProbe.SuccessThresholdinteger

从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功)。默认为 1 次,当前必须为 1 次。

1
Commandarray

容器启动命令。最多 20 个,单个命令支持 256 个字符。

string

容器启动命令。单个命令支持 256 个字符。

echo
LifecyclePostStartHandlerHttpGetHoststring

使用 HTTP 请求方式设置 postStart 回调函数时,接收 HTTP Get 请求的主机地址。

hide
ReadinessProbe.HttpGet.Pathstring

HttpGet 检测的路径。

/usr/
LivenessProbe.Exec.Commandarray

容器内检测命令。

string

容器内检测命令。

echo
LifecyclePostStartHandlerTcpSocketPortinteger

使用 TCPSocket 方式设置 postStart 回调函数时,TCP Socket 检测的端口。

1
LifecyclePostStartHandlerHttpGetPathstring

使用 HTTP 请求方式设置 postStart 回调函数时,HTTP Get 请求检测的路径。

/healthyz
LifecyclePostStartHandlerExecarray

使用命令行方式设置 postStart 回调函数时,在容器内执行的命令。

string

使用命令行方式设置 postStart 回调函数时,在容器内执行的命令。

["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
LifecyclePreStopHandlerHttpGetPathstring

使用 HTTP 请求方式设置 preStop 回调函数时,HTTP Get 请求检测的路径。

/healthyz
Portarray<object>

容器端口号。取值范围:1~65535

object

容器端口号。取值范围:1~65535

Protocolstring

TCP/UDP。

TCP
Portinteger

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

8080
LifecyclePreStopHandlerHttpGetSchemestring

使用 HTTP 请求方式设置 preStop 回调函数时,HTTP Get 请求对应的协议类型,取值范围:

  • HTTP
  • HTTPS
HTTP
LivenessProbe.HttpGet.Schemestring

使用 HTTP 请求方式进行健康检查时,HTTP Get 请求对应的协议类型,取值范围:

  • HTTP
  • HTTPS
HTTP
LifecyclePostStartHandlerHttpGetHttpHeadersarray<object>

生成的 http 请求头中,有效的 http 请求头信息集合。

object

生成的 http 请求头中,有效的 http 请求头信息集合。

Valuestring

使用 HTTP 请求方式设置 postStart 回调函数时,HTTP Get 请求的请求参数值。

test
Namestring

使用 HTTP 请求方式设置 postStart 回调函数时,HTTP Get 请求的请求参数。

testValue
ReadinessProbe.HttpGet.Portinteger

HttpGet 检测的端口号。

8080
LifecyclePostStartHandlerTcpSocketHoststring

使用 TCP Socket 方式设置 postStart 回调函数时,TCP Socket 检测的主机地址。

10.0.XX.XX
Gpuinteger

指定容器使用的 GPU 个数。

1
ReadinessProbe.InitialDelaySecondsinteger

检查开始执行的时间,以容器启动完成为起点计算。

10
LifecyclePreStopHandlerExecarray

使用命令行方式设置 preStop 回调函数时,在容器内执行的命令。

string

使用命令行方式设置 preStop 回调函数时,在容器内执行的命令。

["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]
Memoryfloat

容器内存大小。

2.0
Namestring

容器名称。

jenkins
LifecyclePreStopHandlerHttpGetHoststring

使用 HTTP 请求方式设置 preStop 回调函数时,接收 HTTP Get 请求的主机地址。

10.0.XX.XX
LifecyclePreStopHandlerTcpSocketHoststring

使用 TCP Socket 方式设置 preStop 回调函数时,TCP Socket 检测的主机地址。

10.0.XX.XX
Imagestring

容器镜像。

jenkins
LifecyclePreStopHandlerHttpGetPortinteger

使用 HTTP 请求方式设置 preStop 回调函数时,HTTP Get 请求检测的端口号。

1
LivenessProbe.FailureThresholdinteger

从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。默认为 3 次。

3
ReadinessProbe.Exec.Commandarray

容器内检测的命令。

string

容器内检测的命令。

echo
LifecyclePreStopHandlerHttpGetHttpHeaderarray<object>

生成的 http 请求头信息。

object

生成的 http 请求头信息。

Valuestring

使用 HTTP 请求方式设置 preStop 回调函数时,HTTP Get 请求的请求参数值。

testValue
Namestring

使用 HTTP 请求方式设置 preStop 回调函数时,HTTP Get 请求的请求参数。

test
ReadinessProbe.FailureThresholdinteger

从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。默认为 3 次。

3
Cpufloat

容器 vCPU 大小。

1.0
LivenessProbe.HttpGet.Portinteger

HttpGet 检测的端口号。

8080
LivenessProbe.HttpGet.Pathstring

HttpGet 检测的路径。

/usr/local/bin
LivenessProbe.TimeoutSecondsinteger

检查超时的时间。默认为 1 秒,最小为 1 秒。

1
SecurityContext.RunAsUserlong

用于运行容器进程入口点的 UID。

1377
LifecyclePostStartHandlerHttpGetPortinteger

使用 HTTP 请求方式设置 postStart 回调函数时,HTTP Get 请求检查的端口号。

1
InitContainerarray<object>

指定新的 Init 容器信息。

object

指定新的 Init 容器信息。

SecurityContext.Capability.Addarray

为容器内的进程授予某些特定的权限。目前仅支持配置为 NET_ADMIN 和 NET_RAW。

说明 NET_RAW 默认不支持,需提交工单申请。
string

为容器内的进程授予某些特定的权限。目前仅支持配置为 NET_ADMIN 和 NET_RAW。

说明 NET_RAW 默认不支持,需提交工单申请。
NET_ADMIN
Imagestring

Init 容器镜像。

nginx
VolumeMountarray<object>

挂载数据卷信息列表。

object

挂载数据卷信息列表。

MountPropagationstring

数据卷的挂载传播设置。挂载传播允许将 Container 挂载的卷共享到同一 Pod 中的其他 Container,甚至可以共享到同一节点上的其他 Pod。取值范围:

  • None:该卷不感知到任何后续在此卷或其任何子目录上执行的挂载变化。
  • HostToContainer:该卷将会感知到主机后续针对此卷或其任何子目录的挂载操作。
  • Bidirectional:和 HostToContainer 类似。另外,该卷将被传播回主机和使用同一卷的所有 Pod 的所有容器。

默认值:None

None
MountPathstring

Init 容器挂载目录。容器挂载目录下的内容将被 volume 的内容直接覆盖,请谨慎使用。

/pod/data
ReadOnlyboolean

是否只读。默认值:false

false
SubPathstring

数据卷的子目录,方便 Pod 将同一个 Volume 下不同目录挂载到容器不同目录。

data2/
Namestring

Init 容器挂载的数据卷名称。从 ECI 实例(容器组)挂载的数据卷中选择,即取值范围为配置的 Volume.N.Name 参数。

default-volume1
Portarray<object>

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

object

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

Protocolstring

TCP/UDP。

TCP
Portinteger

Init 容器端口号 。取值范围:1~65535。

9000
SecurityContext.ReadOnlyRootFilesystemboolean

容器运行的根文件系统是否为只读。目前仅支持配置为 true。

true
EnvironmentVararray<object>

容器的环境变量信息列表。

object

容器的环境变量信息列表。

Keystring

Init 容器的环境变量名。

PATH
Valuestring

Init 容器的环境变量值。

/usr/local/bin
FieldRef.FieldPathstring

环境变量值引用。目前只支持配置为 status.podIP。

status.podIP
ImagePullPolicystring

镜像拉取策略。取值范围:

  • Always:总是拉取。每次都拉取镜像。
  • IfNotPresent:按需拉取。优先使用本地镜像,本地没有镜像时则拉取镜像。
  • Never:从不拉取。使用本地镜像,不拉取镜像。
IfNotPresent
StdinOnceboolean

当标准输入为 true 时,标准输入流将在多个附加会话中保持开启状态。如果 StdinOnce 设为 true,标准输入在容器开启时被打开,在首个客户端附加到标准输入之前都为空,然后会一直保持开启状态,接收数据,直到客户端连接断开,此时标准输入被关闭,在容器重启前一直保持关闭状态。

true
Cpufloat

Init 容器 vCPU 大小。

2.0
Ttyboolean

是否开启交互。默认为 false,如果 Command 为/bin/bash 类型时,需要设置为 true。

true
WorkingDirstring

Init 容器工作目录。

/bin/local/
Commandarray

Init 容器指令。

string

Init 容器指令。

/bin/sh sleep
Argarray

Init 容器启动参数。

string

Init 容器启动参数。

10
SecurityContext.RunAsUserlong

设置运行容器的用户 ID。

1000
Gpuinteger

指定 Init 容器使用的 GPU 个数。

1
Memoryfloat

Init 容器内存大小。

4.0
Stdinboolean

此容器是否应在容器运行时为标准输入分配缓冲区。如果未设置,则容器中标准输入的读取值将导致 EOF。默认为 false。

false
Namestring

Init 容器名称。

init-nginx
ImageRegistryCredentialarray<object>

镜像仓库凭证信息列表。

object

镜像仓库凭证信息列表。

Passwordstring

镜像仓库密码。

yourpassword
Serverstring

不带http://https://前缀的镜像仓库地址。

registry.cn-shanghai.aliyuncs.com/ecitest/nginx:alpine
UserNamestring

镜像仓库用户名。

yourname
AcrRegistryInfoarray<object>

ACR 企业版实例信息。

object

ACR 企业版实例信息。

InstanceIdstring

ACR 企业版实例 ID。

cri-nwj395hgf6f3****
InstanceNamestring

ACR 企业版实例的名称。

acr-test
RegionIdstring

ACR 企业版实例所属地域。

cn-beijing
Domainarray

ACR 企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号分隔。

string

ACR 企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号分隔。

cn-beijing
UpdateTypestring

更新类型。取值范围:

  • RenewUpdate:全量更新,更新时需填写相关的所有参数。如果参数是一个 List,不支持单独更新某个 item,如果参数是一个结构体,不支持单独更新某个内部成员。
  • IncrementalUpdate:增量更新,更新时可以只填某一需要更新的参数,其它相关参数保持原有不变。

默认为 RenewUpdate。

RenewUpdate

参数说明

Container 和 InitContainer InitContainer 和 Container 均仅支持全量更新。更新 InitContainer 需要重启实例。 更新包括以下几种情况:

  • 原 ECI 实例同时有 InitContainer 和 Container,但只更新 InitContainer。
  • 原 ECI 实例同时有 InitContainer 和 Container,但只更新 Container。
  • 原 ECI 实例同时有 InitContainer 和 Container,InitContainer 和 Container 全部更新。
  • 原 ECI 实例只有 Container,更新 Container。
  • 原 ECI 实例只有 Container,增加 InitContainer。
  • 原 ECI 实例只有 Container,增加 InitContainer,同时更新 Container。

ImageRegistryCredentials

  • 仅支持全量更新。
  • 如果单独更新 ImageRegistryCredentials,且更新后的 ImageRegistryCredentials 的数量不超过之前原 ImageRegistryCredentials,则无需重启 ECI 实例,其他情况需要重启 ECI 实例。
说明 全量更新:如果参数是一个 List,不支持单独更新某个 item,如果参数是一个结构体,不支持单独更新某个内部成员。

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID,唯一标识。

CB8D2B22-D636-4182-****-1FC9DBDAD66F

示例

正常返回示例

JSON格式

{
  "RequestId": "CB8D2B22-D636-4182-****-1FC9DBDAD66F"
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameter.CPU.MemoryThe specified cpu and memory are not allowed-
400InvalidParameter.DuplicatedNameThe container group include containers with duplicate names.容器组内有重复名字的容器。
400InvalidParameter.DuplicatedVolumeNameThe container group includes volumes with duplicate names.容器组内有重复名字的数据卷。
400InvalidParameter.LengthExceeded%sList型参数的长度超过规定值
400InvalidParameter.ValueExceeded%s参数值超过规定范围
400IncorrectStatus%s指定的实例状态不正确。
400InvalidParam.CpuOrMemorySpecThe specified specification is invalid.指定的规格还未开放售卖,不提供价格查询。
400InvalidParameter%s不合法的参数
400MissingParameter%s必填参数缺失
400NoNeedUpdateThere are no changes to be updated for current resource.本次操作没有需要更新的参数
403InvalidActionThe specified action is invalid不合法的操作
404InvalidParameter.NotFound%s参数未找到

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2022-03-01OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情