更新实例。
接口说明
- 仅支持处于启动中(Pending)或运行中(Running)状态的ECI实例进行更新。更新操作后,ECI实例状态将变更为更新中(Updating)。
- 更新RestartPolicy配置为Never的ECI实例可能会有容器Failed的风险,请慎重更新。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
eci:UpdateContainerGroup | WRITE |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | 地域ID。 | cn-hangzhou |
ContainerGroupId | string | 是 | 指定需要更新的ECI实例ID,即容器组ID。 | eci-2zelg8vwnlzdhf8hv**** |
RestartPolicy | string | 否 | 实例重启策略。取值范围:
| Always |
ClientToken | string | 否 | 保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。只支持ASCII字符,且不能超过64个字符。更多详情,请参阅如何保证幂等性。 | 123e4567-e89b-12d3-a456-426655440000 |
Cpu | float | 否 | 实例级别(容器组)的vCPU数。 | 2.0 |
Memory | float | 否 | 实例级别的(容器组)的内存数。单位为GiB。 | 4.0 |
ResourceGroupId | string | 否 | 所属资源组ID。 | rg-2df3isufhi38**** |
Tag | object [] | 否 | 实例绑定的标签列表。 | |
Key | string | 否 | 标签键。 | name |
Value | string | 否 | 标签值。 | hxh |
Volume | object [] | 否 | 数据卷列表。 | |
Name | string | 否 | 数据卷名称。 | test-empty |
Type | string | 否 | 数据卷类型。取值范围:
| EmptyDirVolume |
NFSVolume.Path | string | 否 | NFS数据卷要挂载的路径。 | / |
NFSVolume.Server | string | 否 | NFS数据卷的挂载点地址。 | 071e349b04-bsd39.cn-hangzhou.nas.aliyuncs.com |
NFSVolume.ReadOnly | boolean | 否 | NFS数据卷的读取权限。取值范围:
| false |
ConfigFileVolume.ConfigFileToPath | object [] | 否 | ConfigFile数据卷对应的配置文件信息。 | |
Path | string | 否 | 配置文件的相对文件路径。 | jin/test |
Content | string | 否 | 配置文件的内容。采用Base64编码。 | bGl1bWk= |
EmptyDirVolume.Medium | string | 否 | EmptyDir数据卷的存储媒介,默认为空,使用node文件系统;支持配置为Memory,表示使用内存。 | Memory |
EmptyDirVolume.SizeLimit | string | 否 | EmptyDir数据卷的大小。取值请带上单位,建议使用Gi或Mi。 | 256Mi |
FlexVolume.FsType | string | 否 | 使用FlexVolume插件挂载云盘时,云盘的文件系统类型。支持的类型包括ext4、ext3、xfs、vfat。默认为ext4。 | ext4 |
FlexVolume.Driver | string | 否 | 使用FlexVolume插件挂载数据卷时的驱动类型。取值范围如下:
| alicloud/disk |
FlexVolume.Options | string | 否 | FlexVolume对象选项列表。为KV形式,采用JSON传递。例如通过FlexVolume挂载云盘时,Options表示云盘的配置参数。更多信息,请参见数据卷概述。 | {"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}` |
HostPathVolume.Path | string | 否 | HostPath数据卷在宿主机上的路径。 说明
该参数暂未开放使用。
| /tmp |
HostPathVolume.Type | string | 否 | HostPath数据卷的类型。取值范围:
说明
该参数暂未开放使用。
| Directory |
DnsConfig.Search | array | 否 | DNS搜索域列表。 | |
string | 否 | DNS搜索域列表。 | my.dns.search.suffix | |
DnsConfig.NameServer | array | 否 | DNS服务器的IP地址列表。 | |
string | 否 | DNS服务器的IP地址列表。 | 1.2.3.4 | |
DnsConfig.Option | object [] | 否 | DNS配置信息。 | |
Value | string | 否 | DNS配置的选项变量值。 | 2 |
Name | string | 否 | DNS配置的选项变量名。 | ndots |
Container | object [] | 否 | 指定新的容器组配置信息。 | |
ReadinessProbe.TimeoutSeconds | integer | 否 | 检查超时的时间。默认为1秒,最小为1秒。 | 5 |
ReadinessProbe.SuccessThreshold | integer | 否 | 从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认为1。 | 1 |
SecurityContext.Capability.Add | array | 否 | 为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。 说明
NET_RAW默认不支持,需提交工单申请。
| |
string | 否 | 为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。 说明
NET_RAW默认不支持,需提交工单申请。
| NET_ADMIN | |
ReadinessProbe.TcpSocket.Port | integer | 否 | TcpSocket检测的端口。 | 5000 |
ReadinessProbe.HttpGet.Scheme | string | 否 | 使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:
| HTTP |
LivenessProbe.PeriodSeconds | integer | 否 | 检查执行的周期。默认为10秒,最小为1秒。 | 10 |
SecurityContext.ReadOnlyRootFilesystem | boolean | 否 | 是否只读根文件系统。取值目前仅支持:true。 | true |
EnvironmentVar | object [] | 否 | 容器的环境变量信息列表。 | |
Key | string | 否 | 容器的环境变量名。 | PATH |
Value | string | 否 | 容器的环境变量值。 | /usr/bin/local/ |
FieldRef.FieldPath | string | 否 | 使用Pod字段作为环境变量。目前仅支持status.podIP。 | status.podIP |
LivenessProbe.TcpSocket.Port | integer | 否 | TcpSocket检测的端口。 | 80 |
Tty | boolean | 否 | 是否开启交互。默认为false,如果Command为/bin/bash类型,需要设置为true。 | false |
WorkingDir | string | 否 | 容器工作目录。 | /usr/share/ |
Arg | array | 否 | 容器启动参数。最多10个。 | |
string | 否 | 容器启动参数。 | hello | |
Stdin | boolean | 否 | 此容器是否应在容器运行时为标准输入分配缓冲区。如果未设置,则容器中标准输入的读取值将导致EOF。默认为false。 | false |
LivenessProbe.InitialDelaySeconds | integer | 否 | 检查开始执行的时间。以容器启动完成为起点开始计算。 | 10 |
VolumeMount | object [] | 否 | 容器的数据卷信息列表。 | |
MountPropagation | string | 否 | 数据卷的挂载传播设置。挂载传播允许将Container挂载的卷共享到同一Pod中的其他Container,甚至可以共享到同一节点上的其他Pod。取值范围:
默认值:None | None |
MountPath | string | 否 | 容器挂载的目录。容器挂载目录下的内容会被volume的内容直接覆盖,请谨慎使用。 | /usr/share/ |
ReadOnly | boolean | 否 | 是否只读。默认值:false | false |
SubPath | string | 否 | 数据卷的子目录,方便Pod将同一个Volume下不同目录挂载到容器不同目录。 | /usr/share/sub/ |
Name | string | 否 | 容器挂载的数据卷名称。从ECI实例(容器组)挂载的数据卷中选择,即取值范围为配置的Volume.N.Name参数。 | test-empty |
ImagePullPolicy | string | 否 | 镜像拉取策略。取值范围:
| Never |
StdinOnce | boolean | 否 | 当标准输入为true时,标准输入流将在多个附加会话中保持开启状态。如果StdinOnce设为true,标准输入在容器开启时被打开,在首个客户端附加到标准输入之前都为空,然后会一直保持开启状态,接收数据,直到客户端连接断开,此时标准输入被关闭,在容器重启前一直保持关闭状态。 | true |
LifecyclePreStopHandlerTcpSocketPort | integer | 否 | 使用TCPSocket方式设置preStop回调函数时,TCP Socket检测的端口。 | 80 |
LifecyclePostStartHandlerHttpGetScheme | string | 否 | 使用HTTP请求方式设置postStart回调函数时,HTTP Get请求检测的路径。 | /healthyz |
ReadinessProbe.PeriodSeconds | integer | 否 | 检查执行的周期,默认为10秒,最小为1秒。 | 3 |
LivenessProbe.SuccessThreshold | integer | 否 | 从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功)。默认为1次,当前必须为1次。 | 1 |
Command | array | 否 | 容器启动命令。最多20个,单个命令支持256个字符。 | |
string | 否 | 容器启动命令。单个命令支持256个字符。 | echo | |
LifecyclePostStartHandlerHttpGetHost | string | 否 | 使用HTTP请求方式设置postStart回调函数时,接收HTTP Get请求的主机地址。 | hide |
ReadinessProbe.HttpGet.Path | string | 否 | HttpGet检测的路径。 | /usr/ |
LivenessProbe.Exec.Command | array | 否 | 容器内检测命令。 | |
string | 否 | 容器内检测命令。 | echo | |
LifecyclePostStartHandlerTcpSocketPort | integer | 否 | 使用TCPSocket方式设置postStart回调函数时,TCP Socket检测的端口。 | 1 |
LifecyclePostStartHandlerHttpGetPath | string | 否 | 使用HTTP请求方式设置postStart回调函数时,HTTP Get请求检测的路径。 | /healthyz |
LifecyclePostStartHandlerExec | array | 否 | 使用命令行方式设置postStart回调函数时,在容器内执行的命令。 | |
string | 否 | 使用命令行方式设置postStart回调函数时,在容器内执行的命令。 | ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"] | |
LifecyclePreStopHandlerHttpGetPath | string | 否 | 使用HTTP请求方式设置preStop回调函数时,HTTP Get请求检测的路径。 | /healthyz |
Port | object [] | 否 | 容器端口号。取值范围:1~65535 | |
Protocol | string | 否 | TCP/UDP。 | TCP |
Port | integer | 否 | 端口号。取值范围:1~65535 | 8080 |
LifecyclePreStopHandlerHttpGetScheme | string | 否 | 使用HTTP请求方式设置preStop回调函数时,HTTP Get请求对应的协议类型,取值范围:
| HTTP |
LivenessProbe.HttpGet.Scheme | string | 否 | 使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:
| HTTP |
LifecyclePostStartHandlerHttpGetHttpHeaders | object [] | 否 | 生成的http请求头中,有效的http请求头信息集合。 | |
Value | string | 否 | 使用HTTP请求方式设置postStart回调函数时,HTTP Get请求的请求参数值。 | test |
Name | string | 否 | 使用HTTP请求方式设置postStart回调函数时,HTTP Get请求的请求参数。 | testValue |
ReadinessProbe.HttpGet.Port | integer | 否 | HttpGet检测的端口号。 | 8080 |
LifecyclePostStartHandlerTcpSocketHost | string | 否 | 使用TCP Socket方式设置postStart回调函数时,TCP Socket检测的主机地址。 | 10.0.XX.XX |
Gpu | integer | 否 | 指定容器使用的GPU个数。 | 1 |
ReadinessProbe.InitialDelaySeconds | integer | 否 | 检查开始执行的时间,以容器启动完成为起点计算。 | 10 |
LifecyclePreStopHandlerExec | array | 否 | 使用命令行方式设置preStop回调函数时,在容器内执行的命令。 | |
string | 否 | 使用命令行方式设置preStop回调函数时,在容器内执行的命令。 | ["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"] | |
Memory | float | 否 | 容器内存大小。 | 2.0 |
Name | string | 否 | 容器名称。 | jenkins |
LifecyclePreStopHandlerHttpGetHost | string | 否 | 使用HTTP请求方式设置preStop回调函数时,接收HTTP Get请求的主机地址。 | 10.0.XX.XX |
LifecyclePreStopHandlerTcpSocketHost | string | 否 | 使用TCP Socket方式设置preStop回调函数时,TCP Socket检测的主机地址。 | 10.0.XX.XX |
Image | string | 否 | 容器镜像。 | jenkins |
LifecyclePreStopHandlerHttpGetPort | integer | 否 | 使用HTTP请求方式设置preStop回调函数时,HTTP Get请求检测的端口号。 | 1 |
LivenessProbe.FailureThreshold | integer | 否 | 从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。默认为3次。 | 3 |
ReadinessProbe.Exec.Command | array | 否 | 容器内检测的命令。 | |
string | 否 | 容器内检测的命令。 | echo | |
LifecyclePreStopHandlerHttpGetHttpHeader | object [] | 否 | 生成的http请求头信息。 | |
Value | string | 否 | 使用HTTP请求方式设置preStop回调函数时,HTTP Get请求的请求参数值。 | testValue |
Name | string | 否 | 使用HTTP请求方式设置preStop回调函数时,HTTP Get请求的请求参数。 | test |
ReadinessProbe.FailureThreshold | integer | 否 | 从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。默认为3次。 | 3 |
Cpu | float | 否 | 容器vCPU大小。 | 1.0 |
LivenessProbe.HttpGet.Port | integer | 否 | HttpGet检测的端口号。 | 8080 |
LivenessProbe.HttpGet.Path | string | 否 | HttpGet检测的路径。 | /usr/local/bin |
LivenessProbe.TimeoutSeconds | integer | 否 | 检查超时的时间。默认为1秒,最小为1秒。 | 1 |
SecurityContext.RunAsUser | long | 否 | 用于运行容器进程入口点的UID。 | 1377 |
LifecyclePostStartHandlerHttpGetPort | integer | 否 | 使用HTTP请求方式设置postStart回调函数时,HTTP Get请求检查的端口号。 | 1 |
InitContainer | object [] | 否 | 指定新的Init容器信息。 | |
SecurityContext.Capability.Add | array | 否 | 为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。 说明
NET_RAW默认不支持,需提交工单申请。
| |
string | 否 | 为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。 说明
NET_RAW默认不支持,需提交工单申请。
| NET_ADMIN | |
Image | string | 否 | Init容器镜像。 | nginx |
VolumeMount | object [] | 否 | 挂载数据卷信息列表。 | |
MountPropagation | string | 否 | 数据卷的挂载传播设置。挂载传播允许将Container挂载的卷共享到同一Pod中的其他Container,甚至可以共享到同一节点上的其他Pod。取值范围:
默认值:None | None |
MountPath | string | 否 | Init容器挂载目录。容器挂载目录下的内容将被volume的内容直接覆盖,请谨慎使用。 | /pod/data |
ReadOnly | boolean | 否 | 是否只读。默认值:false | false |
SubPath | string | 否 | 数据卷的子目录,方便Pod将同一个Volume下不同目录挂载到容器不同目录。 | data2/ |
Name | string | 否 | Init容器挂载的数据卷名称。从ECI实例(容器组)挂载的数据卷中选择,即取值范围为配置的Volume.N.Name参数。 | default-volume1 |
Port | object [] | 否 | 端口号。取值范围:1~65535。 | |
Protocol | string | 否 | TCP/UDP。 | TCP |
Port | integer | 否 | Init容器端口号 。取值范围:1~65535。 | 9000 |
SecurityContext.ReadOnlyRootFilesystem | boolean | 否 | 容器运行的根文件系统是否为只读。目前仅支持配置为true。 | true |
EnvironmentVar | object [] | 否 | 容器的环境变量信息列表。 | |
Key | string | 否 | Init容器的环境变量名。 | PATH |
Value | string | 否 | Init容器的环境变量值。 | /usr/local/bin |
FieldRef.FieldPath | string | 否 | 环境变量值引用。目前只支持配置为status.podIP。 | status.podIP |
ImagePullPolicy | string | 否 | 镜像拉取策略。取值范围:
| IfNotPresent |
StdinOnce | boolean | 否 | 当标准输入为true时,标准输入流将在多个附加会话中保持开启状态。如果StdinOnce设为true,标准输入在容器开启时被打开,在首个客户端附加到标准输入之前都为空,然后会一直保持开启状态,接收数据,直到客户端连接断开,此时标准输入被关闭,在容器重启前一直保持关闭状态。 | true |
Cpu | float | 否 | Init容器vCPU大小。 | 2.0 |
Tty | boolean | 否 | 是否开启交互。默认为false,如果Command为/bin/bash类型时,需要设置为true。 | true |
WorkingDir | string | 否 | Init容器工作目录。 | /bin/local/ |
Command | array | 否 | Init容器指令。 | |
string | 否 | Init容器指令。 | /bin/sh sleep | |
Arg | array | 否 | Init容器启动参数。 | |
string | 否 | Init容器启动参数。 | 10 | |
SecurityContext.RunAsUser | long | 否 | 设置运行容器的用户ID。 | 1000 |
Gpu | integer | 否 | 指定Init容器使用的GPU个数。 | 1 |
Memory | float | 否 | Init容器内存大小。 | 4.0 |
Stdin | boolean | 否 | 此容器是否应在容器运行时为标准输入分配缓冲区。如果未设置,则容器中标准输入的读取值将导致EOF。默认为false。 | false |
Name | string | 否 | Init容器名称。 | init-nginx |
ImageRegistryCredential | object [] | 否 | 镜像仓库凭证信息列表。 | |
Password | string | 否 | 镜像仓库密码。 | yourpassword |
Server | string | 否 | 不带 | registry.cn-shanghai.aliyuncs.com/ecitest/nginx:alpine |
UserName | string | 否 | 镜像仓库用户名。 | yourname |
AcrRegistryInfo | object [] | 否 | ACR企业版实例信息。 | |
InstanceId | string | 否 | ACR企业版实例ID。 | cri-nwj395hgf6f3**** |
InstanceName | string | 否 | ACR企业版实例的名称。 | acr-test |
RegionId | string | 否 | ACR企业版实例所属地域。 | cn-beijing |
Domain | array | 否 | ACR企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号分隔。 | |
string | 否 | ACR企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号分隔。 | cn-beijing | |
UpdateType | string | 否 | 更新类型。取值范围:
默认为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实例。
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "CB8D2B22-D636-4182-****-1FC9DBDAD66F"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidParameter.CPU.Memory | The specified cpu and memory are not allowed | - |
400 | InvalidParameter.DuplicatedName | The container group include containers with duplicate names. | 容器组内有重复名字的容器。 |
400 | InvalidParameter.DuplicatedVolumeName | The container group includes volumes with duplicate names. | 容器组内有重复名字的数据卷。 |
400 | InvalidParameter.LengthExceeded | %s | List型参数的长度超过规定值 |
400 | InvalidParameter.ValueExceeded | %s | 参数值超过规定范围 |
400 | IncorrectStatus | %s | 指定的实例状态不正确。 |
400 | InvalidParam.CpuOrMemorySpec | The specified specification is invalid. | 指定的规格还未开放售卖,不提供价格查询。 |
400 | InvalidParameter | %s | 不合法的参数 |
400 | MissingParameter | %s | 必填参数缺失 |
400 | NoNeedUpdate | There are no changes to be updated for current resource. | 本次操作没有需要更新的参数 |
403 | InvalidAction | The specified action is invalid | 不合法的操作 |
404 | InvalidParameter.NotFound | %s | 参数未找到 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2022-03-01 | OpenAPI 错误码发生变更,OpenAPI 入参发生变更 | 看变更集 | ||||||||||||
|