本文介绍ECI Pod(即ECI实例)的生命周期状态,您可以根据Pod状态,设计和实现符合您业务逻辑的处理逻辑。ECI已经跟Kubernetes完成对接,如果您是通过Kubernetes集群使用ECI,无需做额外的实现。
ECI Pod状态
在ECI Pod的生命周期中,不同的阶段有其固有的状态,具体如下表所示。
ECI Pod状态 | 说明 | 对应Kubernetes Pod状态 | 是否收费 |
创建中(Scheduling) | ECI Pod正在创建。 | Pending | 否 |
启动中(Pending) | ECI Pod中有一个或多个容器还在启动中,并且没有处于运行中的容器。 | Pending | 是 |
运行中(Running) | ECI Pod中所有容器均已经创建成功,并且至少有一个容器正在运行中,或者正在重启。 | Running | 是 |
重启中(Restarting) | ECI Pod正在重启。 | Pending | 是 |
更新中(Updating) | ECI Pod正在更新。 | Pending | 是 |
终止中(Terminating) | ECI Pod正在终止。对于运行中的ECI Pod,如果配置了preStop,则在删除Pod时,Pod将进入Terminating状态。执行完preStop后,ECI Pod将自动删除。 | Running | 是 |
运行成功(Succeeded) | ECI Pod中所有容器均已运行成功终止,并且不会再重启。 | Succeeded | 否 |
运行失败(Failed) | ECI Pod中所有容器均已运行终止,并且至少有一个容器是运行失败终止,即容器以非0状态退出或者被系统终止。 | Failed | 否 |
过期(Expired) | ECI Pod属于抢占式实例,因资源到期回收而被终止。 | Failed | 否 |
创建失败(ScheduleFailed) | ECI Pod创建失败。系统将在24小时后自动删除ECI Pod,不收取任何费用。 | Failed | 否 |
ECI实例的重启策略仅决定实例内容器的行为,ECI实例不会被自动重启。
ECI实例的生命周期状态转换如下图所示。
当ECI实例运行终止后,底层计算资源将会被回收。随实例一起创建的其它资源(例如EIP等)默认随实例一起释放。
终态(处于Failed、Succeeded或Expired状态)实例的元数据信息的保留情况如下:
1小时内的实例信息全部保留。
超出1小时的实例仅保留最近的100条(单个地域分别计算)。
容器状态
状态 | 说明 |
启动中(Waiting) | 容器正在等待创建,还未开始运行。 一般在InitContainer运行时,应用容器会处于Waiting状态,直到InitContainer退出。 |
运行中(Running) | 容器已经成功创建,并且正在运行。 |
运行终止(Terminated) | 容器运行终止并退出,包括运行成功终止和运行失败终止。 |