本文介绍调用边缘托管 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 实例)无法删除,导致节点池删除失败。 |
Unknown | 创建失败 | 未知原因的错误。 | |
ClusterNotRunning | 异常 | 当集群实例因欠费等原因进入 | |
Scaling | Progressing | 伸缩中 | 节点扩缩容中。以下情况会使节点池进入伸缩中状态:
|
Phase | Conditions.Type | 控制台状态映射 | 可否调度 | 说明 |
---|---|---|---|---|
Creating | Progressing | 创建中 | 否 | 节点创建中。自定义节点池新增节点时,该节点进入 |
Running | Ok | 运行中 | 是 | 节点正常运行中。 |
Unschedulable | 运行中 | 否 | 节点正常运行中,但是因为节点被置于 | |
Updating | Progressing | 更新中 | 否 | 节点正在更新中。 |
Deleting | Progressing | 移除中 | 否 | 节点移除中。以下情况会使节点进入 移除中 状态:
|
Starting | Progressing | 启动中 | 否 | 节点池的伸缩模式(NodePoolAutoScaling·Mode)为启停节点(Recycle)时触发的节点开机操作。节点开机时处于该状态。 |
Stopping | Progressing | 停止中 | 否 | 节点池的伸缩模式(NodePoolAutoScaling·Mode)为启停节点(Recycle)时触发的节点停机操作。节点停机时处于该状态。 |
Stopped | Ok | 已停止 | 否 | 节点池的伸缩模式(NodePoolAutoScaling·Mode)为启停节点(Recycle)时触发的节点停机不计费操作。节点关停后处于该状态。 |
Failed | InitializeFailed | 创建失败 | 否 | 云服务器实例作为节点添加到默认节点池时,初始化失败(例如云服务器实例状态不对)或自定义节点池新增节点失败。 |
NotReady | 异常 | 否 | 节点对应的云服务器实例被关停或者节点本身的 kubelet 等组件运行异常。 | |
Balance | 异常(欠费关停) | 否 | 因账号欠费导致节点对应的云服务器实例被关停。 | |
ResourceCleanupFailed | 移除失败 | 否 | 节点关联的资源(例如云服务器 ECS 实例)无法删除,导致节点删除失败。 | |
Unknown | 创建失败 | 否 | 未知原因或异常情况,导致创建节点失败。 |
Phase | Conditions.Type | 控制台状态映射 | 说明 |
---|---|---|---|
Creating | Progressing | 安装中 | 组件安装中。 |
Running | Ok | 已安装 | 组件正常运行中。 |
Updating | Progressing | 更新中 | 组件更新中,包括组件的配置更新或者版本更新。 |
Deleting | Progressing | 卸载中 | 组件卸载中。 |
Failed | NameConflict | 失败 | 因为集群中的资源名称与组件名称冲突,导致组件安装失败。 |
CrashLoopBackOff | 异常 | 组件启动失败。 | |
ImagePullBackOff | 失败 | 组件所依赖的镜像拉取失败。 | |
ClusterNotRunning | 异常 | 当集群实例因欠费等原因进入 | |
Degraded | 异常 | 组件正常运行,但非托管组件中部分组件状态为升级成功,部分组件状态为回滚成功,或者 Pod 实例数量不满足副本数(至少 1 个)。 | |
SchedulingFailed | 失败 | 没有合适的节点来调度和运行组件。 | |
ResourceCleanupFailed | 卸载失败 | 由于在卸载组件过程中,CRD 资源或其他关联云产品资源清理失败,导致组件卸载失败。 | |
Unknown | 失败 | 未知原因的错误。 |