package v1
Type Members
-
final
case class
CSIDriver(metadata: Option[ObjectMeta] = None, spec: CSIDriverSpec) extends KObject with Product with Serializable
CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster.
CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster. Kubernetes attach detach controller uses this object to determine whether attach is required. Kubelet uses this object to determine whether pod information needs to be passed on mount. CSIDriver objects are non-namespaced.
-
final
case class
CSIDriverList(items: Seq[CSIDriver], metadata: Option[ListMeta] = None) extends KObject with Product with Serializable
CSIDriverList is a collection of CSIDriver objects.
-
final
case class
CSIDriverSpec(volumeLifecycleModes: Option[Seq[String]] = None, podInfoOnMount: Option[Boolean] = None, attachRequired: Option[Boolean] = None, requiresRepublish: Option[Boolean] = None, fsGroupPolicy: Option[String] = None, storageCapacity: Option[Boolean] = None, tokenRequests: Option[Seq[TokenRequest]] = None, seLinuxMount: Option[Boolean] = None) extends Product with Serializable
CSIDriverSpec is the specification of a CSIDriver.
-
final
case class
CSINode(metadata: Option[ObjectMeta] = None, spec: CSINodeSpec) extends KObject with Product with Serializable
CSINode holds information about all CSI drivers installed on a node.
CSINode holds information about all CSI drivers installed on a node. CSI drivers do not need to create the CSINode object directly. As long as they use the node-driver-registrar sidecar container, the kubelet will automatically populate the CSINode object for the CSI driver as part of kubelet plugin registration. CSINode has the same name as a node. If the object is missing, it means either there are no CSI Drivers available on the node, or the Kubelet version is low enough that it doesn't create this object. CSINode has an OwnerReference that points to the corresponding node object.
-
final
case class
CSINodeDriver(allocatable: Option[VolumeNodeResources] = None, name: String, nodeID: String, topologyKeys: Option[Seq[String]] = None) extends Product with Serializable
CSINodeDriver holds information about the specification of one CSI driver installed on a node
-
final
case class
CSINodeList(items: Seq[CSINode], metadata: Option[ListMeta] = None) extends KObject with Product with Serializable
CSINodeList is a collection of CSINode objects.
-
final
case class
CSINodeSpec(drivers: Seq[CSINodeDriver]) extends Product with Serializable
CSINodeSpec holds information about the specification of all CSI drivers installed on a node
-
final
case class
CSIStorageCapacity(storageClassName: String, maximumVolumeSize: Option[Quantity] = None, nodeTopology: Option[LabelSelector] = None, metadata: Option[ObjectMeta] = None, capacity: Option[Quantity] = None) extends KObject with Product with Serializable
CSIStorageCapacity stores the result of one CSI GetCapacity call.
CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment. This can be used when considering where to instantiate new PersistentVolumes.
For example this can express things like: - StorageClass "standard" has "1234 GiB" available in "topology.kubernetes.io/zone=us-east1" - StorageClass "localssd" has "10 GiB" available in "kubernetes.io/hostname=knode-abc123"
The following three cases all imply that no capacity is available for a certain combination: - no object exists with suitable topology and storage class name - such an object exists, but the capacity is unset - such an object exists, but the capacity is zero
The producer of these objects can decide which approach is more suitable.
They are consumed by the kube-scheduler when a CSI driver opts into capacity-aware scheduling with CSIDriverSpec.StorageCapacity. The scheduler compares the MaximumVolumeSize against the requested size of pending volumes to filter out unsuitable nodes. If MaximumVolumeSize is unset, it falls back to a comparison against the less precise Capacity. If that is also unset, the scheduler assumes that capacity is insufficient and tries some other node.
-
final
case class
CSIStorageCapacityList(items: Seq[CSIStorageCapacity], metadata: Option[ListMeta] = None) extends KObject with Product with Serializable
CSIStorageCapacityList is a collection of CSIStorageCapacity objects.
-
final
case class
StorageClass(mountOptions: Option[Seq[String]] = None, reclaimPolicy: Option[String] = None, volumeBindingMode: Option[String] = None, provisioner: String, metadata: Option[ObjectMeta] = None, allowVolumeExpansion: Option[Boolean] = None, allowedTopologies: Option[Seq[TopologySelectorTerm]] = None, parameters: Option[Map[String, String]] = None) extends KObject with Product with Serializable
StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.
StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.
StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.
-
final
case class
StorageClassList(items: Seq[StorageClass], metadata: Option[ListMeta] = None) extends KObject with Product with Serializable
StorageClassList is a collection of storage classes.
-
final
case class
TokenRequest(audience: String, expirationSeconds: Option[Int] = None) extends Product with Serializable
TokenRequest contains parameters of a service account token.
-
final
case class
VolumeAttachment(status: Option[VolumeAttachmentStatus] = None, spec: VolumeAttachmentSpec, metadata: Option[ObjectMeta] = None) extends KObject with Product with Serializable
VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.
VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.
VolumeAttachment objects are non-namespaced.
-
final
case class
VolumeAttachmentList(items: Seq[VolumeAttachment], metadata: Option[ListMeta] = None) extends KObject with Product with Serializable
VolumeAttachmentList is a collection of VolumeAttachment objects.
-
final
case class
VolumeAttachmentSource(inlineVolumeSpec: Option[PersistentVolumeSpec] = None, persistentVolumeName: Option[String] = None) extends Product with Serializable
VolumeAttachmentSource represents a volume that should be attached.
VolumeAttachmentSource represents a volume that should be attached. Right now only PersistenVolumes can be attached via external attacher, in future we may allow also inline volumes in pods. Exactly one member can be set.
-
final
case class
VolumeAttachmentSpec(attacher: String, nodeName: String, source: VolumeAttachmentSource) extends Product with Serializable
VolumeAttachmentSpec is the specification of a VolumeAttachment request.
-
final
case class
VolumeAttachmentStatus(attachError: Option[VolumeError] = None, attached: Boolean, attachmentMetadata: Option[Map[String, String]] = None, detachError: Option[VolumeError] = None) extends Product with Serializable
VolumeAttachmentStatus is the status of a VolumeAttachment request.
-
final
case class
VolumeError(message: Option[String] = None, time: Option[Time] = None) extends Product with Serializable
VolumeError captures an error encountered during a volume operation.
-
final
case class
VolumeNodeResources(count: Option[Int] = None) extends Product with Serializable
VolumeNodeResources is a set of resource limits for scheduling of volumes.