首页 弹性容器实例 开发参考 API参考 API目录 容器组 UpdateContainerGroup - 更新一个容器组

UpdateContainerGroup - 更新一个容器组

更新时间: 2023-09-25 15:15:28

更新实例。

接口说明

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

调试

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

调试

授权信息

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

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

实例绑定的标签列表。

Keystring

标签键。

name
Valuestring

标签值。

hxh
Volumeobject []

数据卷列表。

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.ConfigFileToPathobject []

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.Optionobject []

DNS配置信息。

Valuestring

DNS配置的选项变量值。

2
Namestring

DNS配置的选项变量名。

ndots
Containerobject []

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

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
EnvironmentVarobject []

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

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
VolumeMountobject []

容器的数据卷信息列表。

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
Portobject []

容器端口号。取值范围: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
LifecyclePostStartHandlerHttpGetHttpHeadersobject []

生成的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
LifecyclePreStopHandlerHttpGetHttpHeaderobject []

生成的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
InitContainerobject []

指定新的Init容器信息。

SecurityContext.Capability.Addarray

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

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

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

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

Init容器镜像。

nginx
VolumeMountobject []

挂载数据卷信息列表。

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
Portobject []

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

Protocolstring

TCP/UDP。

TCP
Portinteger

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

9000
SecurityContext.ReadOnlyRootFilesystemboolean

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

true
EnvironmentVarobject []

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

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
ImageRegistryCredentialobject []

镜像仓库凭证信息列表。

Passwordstring

镜像仓库密码。

yourpassword
Serverstring

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

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

镜像仓库用户名。

yourname
AcrRegistryInfoobject []

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 入参发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:400
    删除错误码:403
    删除错误码:404
入参OpenAPI 入参发生变更
    新增入参:UpdateType
阿里云首页 弹性容器实例 相关技术圈