1、自主式Pod:这种Pod本身是不能自我修复的,当Pod被创建后然后被调度到集群的Node上。直到Pod的进程终止、被删掉、因为缺少资源而被驱逐、或者Node故障之前这个Pod都会一直保持在那个Node上。Pod不会自愈。如果Pod运行的Node故障,或者是调度器本身故障,这个Pod就会被删除。同样的,如果Pod所在Node缺少资源或者Pod处于维护状态,Pod也会被驱逐。
2、 控制器管理的Pod:Kubernetes使用更高级的称为Controller的抽象层,来管理Pod实例。Controller可以创建和管理多个Pod,提供副本管理、滚动升级和集群级别的自愈能力。例如,如果一个Node故障,Controller就能自动将该节点上的Pod调度到其他健康的Node上。虽然可以直接使用Pod,但是在Kubernetes中通常是使用Controller来管理Pod的。
3、业务容器出现问题后,容器id就不是1了,容器就会挂掉,这时要看容器重启策略,是否为restart,如果是会不断重启,直至服务启动。但这个重启相当于重建一个新pod,除了有状态的服务,其原本的数据都归于容器初建阶段。
4、服务网格istio的服务治理大多是关于流量的,其也可以尝试重启挂掉的业务容器,但根据重启次数会几何递增的减少分配到此Pod上的流量时间;
5、init容器先于业务容器启动而启动,业务容器启动后便停止了,所以对业务容器的重启不产生影响;