原文:https://www.lxkaka.wang/kubelet-hash/
我们首先看 k8s源码 pod重启部分
源码链接:https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kuberuntime/kuberuntime_manager.go
中的 SyncPod 方法, 这个方法就是保证运行中的 Pod 与我们期望的配置时刻保持一致。 通过以下步骤完成
**1 根据从 API Server 获得的 Pod Spec 以及当前 Pod 的 Status 计算所需要执行的 Actions
2 在需要情况下 Kill 掉当前 Pod 的 sandbox
3 根据需要(如重启)kill 掉 Pod 内的 containers
4 根据需要创建 Pod 的 sandbox
5 启动下一个 init container
6 启动 Pod 内的 containers**
图: