1. CSI 的 Identity/Controller/Node 三组 gRPC 服务如何划分职责?
CSI 的 Identity/Controller/Node 三组 gRPC 服务如何划分职责?
- Identity 服务
- Controller 服务
- Node 服务
CSI(Container Storage Interface)定义三组 gRPC 服务。Identity 服务:提供插件信息(名称、版本、能力),如 GetPluginInfo、Probe,用于 controller 与 node 组件确认插件。Controller 服务:在控制平面(与存储系统交互)执行卷的管理操作,如 CreateVolume、DeleteVolume、PublishVolume(挂载)、ControllerExpandVolume,由 CSI 的 controller 插件(外部 provisioner 等 sidecar)调用。Node 服务:在节点上执行本地卷操作,如 NodePublishVolume(把卷挂载到具体 Pod 的目标路径)、NodeUnpublishVolume、NodeGetVolumeStats,由 kubelet 调用。职责划分:Controller 管"卷的创建/控制面",Node 管"节点上的实际挂载/数据面"。
核心是"Controller 管控制面卷操作,Node 管节点挂载,Identity 管插件信息"。三者分离实现插件可插拔。