更新实例。
接口说明
- 仅支持处于启动中(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 | update | *containergroup acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId} |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
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 | array<object> | 否 | 实例绑定的标签列表。 | |
object | 否 | 实例绑定的标签列表。 | ||
Key | string | 否 | 标签键。 | name |
Value | string | 否 | 标签值。 | hxh |
Volume | array<object> | 否 | 数据卷列表。 | |
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 | array<object> | 否 | ConfigFile 数据卷对应的配置文件信息。 | |
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 | array<object> | 否 | DNS 配置信息。 | |
object | 否 | DNS 配置信息。 | ||
Value | string | 否 | DNS 配置的选项变量值。 | 2 |
Name | string | 否 | DNS 配置的选项变量名。 | ndots |
Container | array<object> | 否 | 指定新的容器组配置信息。 | |
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 | array<object> | 否 | 容器的环境变量信息列表。 | |
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 | array<object> | 否 | 容器的数据卷信息列表。 | |
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 | array<object> | 否 | 容器端口号。取值范围:1~65535 | |
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 | array<object> | 否 | 生成的 http 请求头中,有效的 http 请求头信息集合。 | |
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 | array<object> | 否 | 生成的 http 请求头信息。 | |
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 | array<object> | 否 | 指定新的 Init 容器信息。 | |
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 | array<object> | 否 | 挂载数据卷信息列表。 | |
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 | array<object> | 否 | 端口号。取值范围:1~65535。 | |
object | 否 | 端口号。取值范围:1~65535。 | ||
Protocol | string | 否 | TCP/UDP。 | TCP |
Port | integer | 否 | Init 容器端口号 。取值范围:1~65535。 | 9000 |
SecurityContext.ReadOnlyRootFilesystem | boolean | 否 | 容器运行的根文件系统是否为只读。目前仅支持配置为 true。 | true |
EnvironmentVar | array<object> | 否 | 容器的环境变量信息列表。 | |
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 | array<object> | 否 | 镜像仓库凭证信息列表。 | |
object | 否 | 镜像仓库凭证信息列表。 | ||
Password | string | 否 | 镜像仓库密码。 | yourpassword |
Server | string | 否 | 不带 | registry.cn-shanghai.aliyuncs.com/ecitest/nginx:alpine |
UserName | string | 否 | 镜像仓库用户名。 | yourname |
AcrRegistryInfo | array<object> | 否 | ACR 企业版实例信息。 | |
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 入参发生变更 | 查看变更详情 |