k8s(Failover)

1.pod 和 deployment 的关系是什么

1.1 创建pod的时候一定会创建 deployment 么,创建deployment的时候一定会创建 pod么

pod是可以单独创建并进行生命周期管理的
单独创建pod的时候就不会有deployment出现,但是创建deployment的时候一定会创建pod,因为pod是一个基础的单位。
任何的控制器单位的具体实现必须落到pod去实现

2. Failover

2.1节点挂机

这个实验可以完成如果一个node服务器挂掉了,我们就可以让还存活的服务器提供服务,如果所有的node节点都挂机了,我们还可以让主节点提供服务。
现在开始实验,我们首先server2 的网络连接关闭:
在这里插入图片描述
等待一段时间,Kubernetes会检查到k8s-node2不可用,将k8s-node2上的Pod标记为Unknown状态,并在k8s-node1上新创建两个Pod,维持总副本数为3
在这里插入图片描述
在这里插入图片描述
Pod的生命周期过程包括:通过模板进行定义,然后分配到一个Node上运行,就不会离开这个Node,直到被删除。当某个Pod失败,首先会被Kubernetes清理掉,之后ReplicationController将会在其它机器上(或本机)重建Pod,重建之后Pod的ID发生了变化,那将会是一个新的Pod。所以,Kubernetes中Pod的迁移,实际指的是在新Node上重建Pod

2.2 节点恢复

当k8s-node2恢复后,Unknown的Pod会被删除,不过已经运行的Pod不会重新调度回k8s-node2
在这里插入图片描述
再次注意:删除和创建是需要时间的!!!一执行完就立马去看 可能结果不会很快展现的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章