(资料图片)
首先我们需要定义一个driver结构体,基本包含了plugin启动的所需信息(除了以上信息还可以添加其他参数):
csicommon.CSIDriver :
k8s自定义代表插件的结构体, 初始化的时候需要指定插件的RPC功能和支持的读写模式.
func NewCSIDriver(nodeID string) *csicommon.CSIDriver { csiDriver := csicommon.NewCSIDriver(driverName, version, nodeID) csiDriver.AddControllerServiceCapabilities( []csi.ControllerServiceCapability_RPC_Type{ csi.ControllerServiceCapability_RPC_LIST_VOLUMES, csi.ControllerServiceCapability_RPC_CREATE_DELETE_VOLUME,