From 2fc168142c81d8fdeb640b5494b169fcf6cfa7b3 Mon Sep 17 00:00:00 2001 From: xiaolinzi Date: Thu, 26 Feb 2015 18:15:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E5=88=B6=E6=8E=A7=E5=88=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubernetes/design.md | 68 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/kubernetes/design.md b/kubernetes/design.md index d9d1f07..63049e2 100644 --- a/kubernetes/design.md +++ b/kubernetes/design.md @@ -117,9 +117,73 @@ Kubernetes校验节点可用依赖于id。在当前的版本中,有两个接 本小结将会简单描述容器状态类型,容器组生命周期,事件,重启策略和复制控制器。 -### 什么容器组状态 +### 状态值 + +#### pending + +容器组已经被节点接受,但有一个或多个容器还没有运行起来。这将包含某些节点正在下载镜像的时间,这种情形会依赖于网络情况。 + +#### running + +容器组已经被调度到节点,并且所有的容器都已经启动。至少有一个容器处于运行状态(或者处于重启状态)。 + +#### succeeded + +所有的容器都正常退出。 + +#### failed + +容器组中所有容器都意外中断了。 + +### 容器组生命周期 + +通常来说,如果容器组被创建了就不会自动销毁,除非被某种行为出发,而触发此种情况可能是人为,或者复制控制器所为。唯一例外的是容器组由 succeeded状态成功退出,或者在一定时间内重试多次依然失败。 + +如果某个节点死掉或者不能连接,那么节点控制器将会标记其上的容器组的状态为 `failed`。 + +### 举例 + +* 容器组状态 `running`,有1容器,容器正常退出 + * 记录完成事件 + * 如果重启策略为: + * 始终:重启容器,容器组保持 `running` + * 失败时:容器组变为 `succeeded` + * 从不:容器组变为 `succeeded` +* 容器组状态 `running`,有1容器,容器异常退出 + * 记录失败事件 + * 如果重启策略为: + * 始终:重启容器,容器组保持 `running` + * 失败时:重启容器,容器组保持 `running` + * 从不:容器组变为 `failed` +* 容器组状态 `running`,有2容器,有1容器异常退出 + * 记录失败事件 + * 如果重启策略为: + * 始终:重启容器,容器组保持 `running` + * 失败时:重启容器,容器组保持 `running` + * 从不:容器组保持 `running` + * 当有2容器退出 + * 记录失败事件 + * 如果重启策略为: + * 始终:重启容器,容器组保持 `running` + * 失败时:重启容器,容器组保持 `running` + * 从不:容器组变为 `failed` +* 容器组状态 `running`,容器内存不足 + * 标记容器错误中断 + * 记录内存不足事件 + * 如果重启策略为: + * 始终:重启容器,容器组保持 `running` + * 失败时:重启容器,容器组保持 `running` + * 从不:记录错误事件,容器组变为 `failed` +* 容器组状态 `running`,一块磁盘死掉 + * 杀死所有容器 + * 记录事件 + * 容器组变为 `failed` + * 如果容器组运行在一个控制器下,容器组将会在其他地方重新创建 +* 容器组状态 `running`,对应的节点段溢出 + * 节点控制器等到超时 + * 节点控制器标记容器组 `failed` + * 如果容器组运行在一个控制器下,容器组将会在其他地方重新创建 -容器组的状态不是来源于

Replication Controllers

服务