本文介绍调用容器服务 API 过程中的集群、节点池、节点等资源的状态及状态流转。
容器服务采用二元组{Phase, [Conditions1, Conditions2, ...]}
来表达各资源(集群、节点、节点池等)状态。
Phase
:表示资源原子状态。Conditions
:是一个数组,表示资源进入某一个原子状态的原因、该原子状态下的限制等。{Creating, [Progressing]}
表示:创建中;{Failed, [Balance, ResourceCleanupFailed]}
表示:节点移除失败的同时节点对应的云服务器实例欠费关停。*
:表示通配符。{Running, [*]}
表示Phase = Running
、Conditions
通配所有状态。Phase | Conditions.Type | 控制台状态映射 | 说明 |
---|---|---|---|
Creating | Progressing | 创建中 | 集群创建中。 |
Running | Ok | 运行中 | 集群正常运行中。 |
Updating | Progressing | 更新中 | 集群更新中。以下情况会使集群进入 更新中 状态:
|
Deleting | Progressing | 删除中 | 集群删除中。 |
Stopped | Balance | 欠费关停 | 因账号欠费导致集群关停。 |
Failed | CreateError | 创建失败 | 除配额不足、账号欠费、库存不足之外的原因导致集群创建失败。 |
ResourceCleanupFailed | 删除失败 | 因集群关联的资源(例如负载均衡、NAT 网关等)无法删除,导致集群删除失败。 说明 与 DeleteCluster 接口中的 CascadingDeleteResources 参数有关。 | |
Unknown | 异常 | 未知原因的错误。 |
Phase | Conditions.Type | 控制台状态映射 | 说明 |
---|---|---|---|
Creating | Progressing | 创建中 | 节点池创建中。 |
Running | Ok | 运行中 | 节点池正常运行中。 |
Updating | Progressing | 更新中 | 节点池更新中,包括节点池配置更新和 NodePool 版本升级。 |
Deleting | Progressing | 删除中 | 节点池删除中。 |
Failed | ResourceCleanupFailed | 删除失败 | 节点池关联的资源(例如云服务器 ECS 实例)无法删除,导致节点池删除失败。 说明 与 DeleteNodePool 接口中的 CascadingDeleteResources 参数有关。 |
Unknown | 创建失败 | 未知原因的错误。 | |
ClusterNotRunning | 异常 | 当集群实例因欠费等原因进入{Stopped, [*]} 或者{Starting, [*]} 时,会导致节点池处于该状态。 | |
Scaling | Progressing | 伸缩中 | 节点池扩缩容中。以下情况会使节点池进入 伸缩中 状态:
|
Phase | Conditions.Type | 控制台状态映射 | 可否调度 | 说明 |
---|---|---|---|---|
Creating | Progressing | 创建中 | 否 | 节点创建中。以下情况会使节点进入 创建中 状态:
|
Running | Ok | 运行中 | 是 | 节点正常运行中。 |
Unschedulable | 运行中 | 否 | 节点正常运行中,但是因为节点被置于排水 或者 下线 而不能被调度 | |
Updating | Progressing | 更新中 | 否 | 节点正在更新中。 |
Deleting | Progressing | 移除中 | 否 | 节点移除中。以下情况会使节点进入 移除中 状态:
|
Failed | InitializeFailed | 创建失败 | 否 | 云服务器实例作为节点添加到默认节点池时,初始化失败(例如云服务器实例状态不对)或自定义节点池新增节点失败。 |
NotReady | 异常 | 否 | 节点对应的云服务器实例被关停或者节点本身的 kubelet 等组件运行异常。 | |
Balance | 异常(欠费关停) | 否 | 因账号欠费原因,节点所在的ECS被关停。因账号欠费导致节点对应的云服务器实例被关停。 | |
ResourceCleanupFailed | 移除失败 | 否 | 节点关联的资源(例如云服务器 ECS 实例)无法删除,导致节点删除失败。 说明 与 DeleteNodes 接口中的 CascadingDeleteResources 参数有关。 | |
Unknown | 创建失败 | 否 | 未知原因或异常情况,导致创建节点失败。 |
Phase | Conditions.Type | 控制台状态映射 | 说明 |
---|---|---|---|
Creating | Progressing | 创建中 | 虚拟节点创建中。 |
Running | Ok | 运行中 | 虚拟节点正常运行中。 |
Deleting | Progressing | 删除中 | 虚拟节点删除中。 |
Failed | Unavailable | 异常 | 虚拟节点因网络失联、运行异常等原因导致无法正常工作。 |
CreateFailed | 创建失败 | 虚拟节点因各种原因导致无法创建成功。 |
Phase | Conditions.Type | 控制台状态映射 | 说明 |
---|---|---|---|
Creating | Progressing | 安装中 | 组件安装中。 |
Running | Ok | 已安装 | 组件正常运行中。 |
Updating | Progressing | 更新中 | 组件更新中,包括组件的配置更新或者版本更新。 |
Deleting | Progressing | 卸载中 | 组件卸载中。 |
Failed | NameConflict | 失败 | 因为集群中的资源名称与组件名称冲突,导致组件安装失败。 |
CrashLoopBackOff | 异常 | 组件启动失败。 | |
ImagePullBackOff | 失败 | 组件所依赖的镜像拉取失败。 | |
ClusterNotRunning | 异常 | 当集群实例因欠费等原因进入{Stopped, [*]} 或者{Starting, [*]} 时,会导致组件处于该状态。 | |
Degraded | 异常 | 组件正常运行,但非托管组件中部分组件状态为升级成功,部分组件状态为回滚成功,或者 Pod 实例数量不满足副本数(至少 1 个)。 | |
SchedulingFailed | 失败 | 没有合适的节点来调度和运行组件。 | |
ResourceCleanupFailed | 卸载失败 | 由于在卸载组件过程中,CRD 资源或其他关联云产品资源(例如 Ingress 对应的 ALB 资源)清理失败,导致组件卸载失败。 | |
Unknown | 失败 | 未知原因的错误。 |
Phase | Conditions.Type | 控制台状态映射 | 说明 |
---|---|---|---|
Creating | Progressing | 创建中 | 镜像缓存创建中。 |
Deleting | Progressing | 删除中 | 镜像缓存删除中。 |
Updating | Progressing | 更新中 | 镜像缓存更新中。 |
Ready | Ok | 创建完成/可用 | 镜像缓存创建完成,处于可用状态。 |
UpdateFailed | 更新失败 | 镜像缓存更新失败。 | |
CreationFailed | 创建失败:实例创建失败 | 镜像缓存依赖的 Pod 实例本身创建失败,包括调度失败、创建云盘失败等情况。 | |
Failed | Balance | 创建失败:欠费原因 | 因账号欠费导致 Pod 实例资源创建失败。 |
Unknown | 失败:未知原因 | 未知原因的错误。 |