CSIDriver 捕获有关部署在集群上的容器存储接口 (CSI) 卷驱动程序的信息。Kubernetes 附加/分离控制器使用此对象来确定是否需要附加。Kubelet 使用此对象来确定是否需要将 Pod 信息传递到挂载点。CSIDriver 对象是非命名空间的。
CSIDriver 捕获有关部署在集群上的容器存储接口 (CSI) 卷驱动程序的信息。Kubernetes 附加/分离控制器使用此对象来确定是否需要附加。Kubelet 使用此对象来确定是否需要将 Pod 信息传递到挂载点。CSIDriver 对象是非命名空间的。
对象
CSINode 包含有关安装在节点上的所有 CSI 驱动程序的信息。CSI 驱动程序不需要直接创建 CSINode 对象。只要它们使用 node-driver-registrar sidecar 容器,kubelet 就会在 kubelet 插件注册的一部分中自动填充 CSI 驱动程序的 CSINode 对象。CSINode 与节点具有相同的名称。如果对象丢失,则表示节点上没有可用的 CSI 驱动程序,或者 Kubelet 版本过低以至于它不会创建此对象。CSINode 具有指向相应节点对象的 OwnerReference。
对象
CSIStorageCapacity 存储一次 CSI GetCapacity 调用的结果。对于给定的 StorageClass,这描述了特定拓扑段中的可用容量。在考虑在哪里实例化新的 PersistentVolume 时,可以使用此信息。
例如,这可以表达以下内容:- StorageClass "standard" 在 "topology.kubernetes.io/zone=us-east1" 中有 "1234 GiB" 可用 - StorageClass "localssd" 在 "kubernetes.io/hostname=knode-abc123" 中有 "10 GiB" 可用
以下三种情况都意味着对于某个组合没有可用容量:- 没有具有合适的拓扑和存储类名称的对象 - 这样的对象存在,但容量未设置 - 这样的对象存在,但容量为零
这些对象的生产者可以决定哪种方法更合适。
当 CSI 驱动程序通过 CSIDriverSpec.StorageCapacity 选择参与容量感知调度时,kube-scheduler 会使用这些信息。调度器会将 MaximumVolumeSize 与待处理卷的请求大小进行比较,以过滤掉不合适的节点。如果未设置 MaximumVolumeSize,则会回退到与精度较低的 Capacity 进行比较。如果 Capacity 也未设置,则调度器会假设容量不足,并尝试其他节点。
对象
持久卷 (PV) 是管理员预配的存储资源。它类似于一个节点。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes
对象
存储类描述了可以动态预配持久卷的存储类参数。
存储类是非命名空间的;根据 etcd,存储类的名称位于 ObjectMeta.Name 中。
对象