架构
DirectPV 是按照以下方式实现的:CSI规范它包含以下组件,在 Kubernetes 中以 Pod 形式运行:
ControllerNode server
当 DirectPV 包含来自旧版本的卷时DirectCSI以下附加组件也作为 Pod 运行:
Legacy controllerLegacy node server
控制器

Controller 以Deployment名为 PodscontrollerDirectPV 控制器有三个副本。
这些副本会选举一个实例来处理请求。
每个 pod 包含以下容器:
-
Controller响应CSI请求,支持创建、删除和扩展卷。
-
CSI provisioner桥接卷创建和删除请求从
Persistent Volume Claim到 CSI 控制器。 -
CSI resizer桥接卷扩展请求来自
Persistent Volume Claim到 CSI 控制器。
控制器服务器
控制器服务器以名为controller在一个controller DeploymentPod.
它处理以下请求:
-
Create volume控制器服务器创建一个新的
DirectPVVolume在合适的存储空间上反转请求的存储空间后的CRDDirectPVDriveCRD。 更多信息,请参考卷调度指南. -
Delete volume控制器服务器删除现有的
DirectPVVolume释放先前保留的空间后未绑定卷的CRDDirectPVDriveCRD. -
Expand volume控制器服务器扩展了一个现有的
DirectPVVolumeCRD 在反转请求的存储空间后处于DirectPVDriveCRD.
传统控制器

Legacy控制器作为Deployment名为 Podslegacy-controllerLegacy控制器有三个副本,分布在任意Kubernetes节点上。
这些副本会选举一个实例来处理请求。
每个 pod 包含以下容器:
-
CSI provisioner桥接传统卷创建和删除请求
Persistent Volume Claim到 CSI 控制器。 -
Controller仅支持CSI的删除和扩展卷请求。 禁止创建卷请求。 传统控制器仅适用于先前创建的传统卷。
DirectCSI. -
CSI resizer桥接传统卷扩展请求
Persistent Volume Claim到 CSI 控制器。
传统控制器服务器
Legacy控制器服务器以容器形式运行controller在一个legacy-controller DeploymentPod.
它处理以下请求:
-
Create volumeController服务器返回此请求的错误。 DirectPV不会创建新的传统DirectCSI卷。
-
Delete volumeController服务器删除
DirectPVVolume释放先前保留空间后的未绑定卷 CRDDirectPVDriveCRD. -
Expand volume控制器服务器扩展了
DirectPVVolumeCRD在反转请求的存储空间之后DirectPVDriveCRD.
Node 服务器

节点服务器运行方式为DaemonSet名为 Podsnode-server在所有或选定的 Kubernetes 节点上。
每个节点服务器 Pod 都独立运行在一个节点上。
每个 pod 包含以下容器:
-
Node driver registrar将节点服务器注册到 kubelet 以接收 CSI RPC 调用。
-
Node server荣誉
stage,unstage,publish,unpublish和expandvolume RPC requests. -
Node controller接收 Honors CRD 事件
DirectPVDrive,DirectPVVolume,DirectPVNode和DirectPVInitRequest. -
Liveness probe暴露一个
/healthzKubernetes 检查节点服务器存活状态的端点。
传统节点服务器
传统节点服务器运行方式为DaemonSet名为 Podslegacy-node-server在所有或选定的 Kubernetes 节点上。
每个传统节点服务器 Pod 都独立地在节点上运行。
每个 pod 包含以下运行中的容器:
-
Node driver registrar将传统节点服务器注册到kubelet以接收CSI RPC调用。
-
Node server荣誉
stage,unstage,publish,unpublish和expandvolume RPC requests. -
Liveness probe暴露
/healthz用于Kubernetes检查传统节点服务器存活状态的端点。