深究Kubernetes源碼-Kubelet-2 CRI框架分析
基于kubernetes1.26
CRI協(xié)議 https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto, 核心是RuntimeService和ImageService,即實(shí)現(xiàn)多Sandbox、Container和Image的操作。
其基本架構(gòu)如下,Kubelet通過RuntimeService/ImageService作為gRPC Client與CRI-Server進(jìn)行交互,目前主流實(shí)現(xiàn)CRI Server的項(xiàng)目包括Containerd和CRI-O

詳細(xì)展開類圖分析,kubelet主要通過kubeGenericRuntimeManager結(jié)構(gòu)模塊實(shí)現(xiàn)對(duì)運(yùn)行時(shí)的操作。

初始化時(shí)通過RemoteRuntimeEndpoint(--container-runtime-endpoint)參數(shù)確定CRI Service gRPC endpoint,例如對(duì)接Containerd '--container-runtime-endpoint=unix:///var/run/containerd/containerd.sock'
標(biāo)簽: