天天看點

Pod和容器的生命周期管理

Pod由一組應用容器組成,其中包含共有的環境和資源限制。在 CRI裡,這個環境被稱為PodSandbox。Kubernetes有意為容器運作時留 下一些發揮空間,它們可以根據自己的内部實作來解釋PodSandbox。對 于Hypervisor類的運作時,PodSandbox會具體化為一個虛拟機。其他例 如Docker,會是一個Linux命名空間。在v1alpha1 API中,kubelet會建立 Pod級别的cgroup傳遞給容器運作時,并以此運作所有程序來滿足 PodSandbox對Pod的資源保障。

在啟動Pod之前,kubelet調用RuntimeService.RunPodSandbox來建立

環境。這一過程包括為Pod設定網絡資源(配置設定IP等操作)。 PodSandbox被激活之後,就可以獨立地建立、啟動、停止和删除不同的 容器了。kubelet會在停止和删除PodSandbox之前首先停止和删除其中的 容器。

kubelet的職責在于通過RPC管理容器的生命周期,實作容器生命周 期的鈎子,存活和健康監測,以及執行Pod的重新開機政策等。

RuntimeService服務包括對Sandbox和Container操作的方法,下面的 僞代碼展示了主要的RPC方法:

k8s

繼續閱讀