CephCluster [cephclusters.ceph.rook.io/v1]
- Description
- CephCluster is a Ceph storage cluster
- Type
object- Required
metadataspec
Specification
.spec
- Description
- ClusterSpec represents the specification of Ceph Cluster
- Type
object
.spec.annotations
- Description
- The annotations-related configuration to add/set on each Pod related object.
- Type
object
.spec.cephConfig
- Description
- Ceph Config options
- Type
object
.spec.cephConfigFromSecret
- Description
- CephConfigFromSecret works exactly like CephConfig but takes config value from Secret Key reference.
- Type
object
.spec.cephVersion
- Description
- The version information that instructs Rook to orchestrate a particular version of Ceph.
- Type
object
.spec.cleanupPolicy
- Description
- Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster deletion is not imminent.
- Type
object
.spec.cleanupPolicy.sanitizeDisks
- Description
- SanitizeDisks represents way we sanitize disks
- Type
object
.spec.crashCollector
- Description
- A spec for the crash controller
- Type
object
.spec.csi
- Description
- CSI Driver Options applied per cluster.
- Type
object
.spec.csi.cephfs
- Description
- CephFS defines CSI Driver settings for CephFS driver.
- Type
object
.spec.csi.readAffinity
- Description
- ReadAffinity defines the read affinity settings for CSI driver.
- Type
object
.spec.csi.readAffinity.crushLocationLabels
- Description
- CrushLocationLabels defines which node labels to use as CRUSH location. This should correspond to the values set in the CRUSH map.
- Type
array
.spec.csi.readAffinity.crushLocationLabels[]
- Type
string
.spec.dashboard
- Description
- Dashboard settings
- Type
object
.spec.disruptionManagement
- Description
- A spec for configuring disruption management.
- Type
object
.spec.external
- Description
- Whether the Ceph Cluster is running external to this Kubernetes cluster mon, mgr, osd, mds, and discover daemons will not be created for external clusters.
- Type
object
.spec.healthCheck
- Description
- Internal daemon healthchecks and liveness probe
- Type
object
.spec.healthCheck.daemonHealth
- Description
- DaemonHealth is the health check for a given daemon
- Type
object
.spec.healthCheck.daemonHealth.mon
- Description
- Monitor represents the health check settings for the Ceph monitor
- Type
object
.spec.healthCheck.daemonHealth.osd
- Description
- ObjectStorageDaemon represents the health check settings for the Ceph OSDs
- Type
object
.spec.healthCheck.daemonHealth.status
- Description
- Status represents the health check settings for the Ceph health
- Type
object
.spec.healthCheck.livenessProbe
- Description
- LivenessProbe allows changing the livenessProbe configuration for a given daemon
- Type
object
.spec.healthCheck.startupProbe
- Description
- StartupProbe allows changing the startupProbe configuration for a given daemon
- Type
object
.spec.labels
- Description
- The labels-related configuration to add/set on each Pod related object.
- Type
object
.spec.logCollector
- Description
- Logging represents loggings settings
- Type
object
.spec.mgr
- Description
- A spec for mgr related options
- Type
object
.spec.mgr.modules
- Description
- Modules is the list of ceph manager modules to enable/disable
- Type
array
.spec.mgr.modules[]
- Description
- Module represents mgr modules that the user wants to enable or disable
- Type
object
.spec.mgr.modules[].settings
- Description
- Settings to further configure the module
- Type
object
.spec.mon
- Description
- A spec for mon related options
- Type
object
.spec.mon.externalMonIDs
- Description
- ExternalMonIDs - optional list of monitor IDs which are deployed externally and not managed by Rook. If set, Rook will not remove mons with given IDs from quorum. This parameter is used only for local Rook cluster running in normal mode and will be ignored if external or stretched mode is used. leading
- Type
array
.spec.mon.externalMonIDs[]
- Type
string
.spec.mon.stretchCluster
- Description
- StretchCluster is the stretch cluster specification
- Type
object
.spec.mon.stretchCluster.zones
- Description
- Zones is the list of zones
- Type
array
.spec.mon.stretchCluster.zones[]
- Description
- MonZoneSpec represents the specification of a zone in a Ceph Cluster
- Type
object
.spec.mon.stretchCluster.zones[].volumeClaimTemplate
- Description
- VolumeClaimTemplate is the PVC template
- Type
object
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec
- Description
- spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.accessModes[]
- Type
string
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.resources
- Description
- resources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values[]
- Type
string
.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.mon.volumeClaimTemplate
- Description
- VolumeClaimTemplate is the PVC definition
- Type
object
.spec.mon.volumeClaimTemplate.spec
- Description
- spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object
.spec.mon.volumeClaimTemplate.spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.mon.volumeClaimTemplate.spec.accessModes[]
- Type
string
.spec.mon.volumeClaimTemplate.spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.mon.volumeClaimTemplate.spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.mon.volumeClaimTemplate.spec.resources
- Description
- resources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.mon.volumeClaimTemplate.spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.mon.volumeClaimTemplate.spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.mon.volumeClaimTemplate.spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions[].values[]
- Type
string
.spec.mon.volumeClaimTemplate.spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.mon.zones
- Description
- Zones are specified when we want to provide zonal awareness to mons
- Type
array
.spec.mon.zones[]
- Description
- MonZoneSpec represents the specification of a zone in a Ceph Cluster
- Type
object
.spec.mon.zones[].volumeClaimTemplate
- Description
- VolumeClaimTemplate is the PVC template
- Type
object
.spec.mon.zones[].volumeClaimTemplate.spec
- Description
- spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object
.spec.mon.zones[].volumeClaimTemplate.spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.mon.zones[].volumeClaimTemplate.spec.accessModes[]
- Type
string
.spec.mon.zones[].volumeClaimTemplate.spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.mon.zones[].volumeClaimTemplate.spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.mon.zones[].volumeClaimTemplate.spec.resources
- Description
- resources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.mon.zones[].volumeClaimTemplate.spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.mon.zones[].volumeClaimTemplate.spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.mon.zones[].volumeClaimTemplate.spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values[]
- Type
string
.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.monitoring
- Description
- Prometheus based Monitoring settings
- Type
object
.spec.monitoring.exporter
- Description
- Ceph exporter configuration
- Type
object
.spec.monitoring.externalMgrEndpoints
- Description
- ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
- Type
array
.spec.monitoring.externalMgrEndpoints[]
- Description
- EndpointAddress is a tuple that describes single IP address. Deprecated: This API is deprecated in v1.33+.
- Type
object- Required
ip
.spec.monitoring.externalMgrEndpoints[].targetRef
- Description
- Reference to object providing the endpoint.
- Type
object
.spec.network
- Description
- Network related configuration
- Type
object
.spec.network.addressRanges
- Description
- AddressRanges specify a list of CIDRs that Rook will apply to Ceph's 'public_network' and/or 'cluster_network' configurations. This config section may be used for the "host" or "multus" network providers.
- Type
object
.spec.network.addressRanges.cluster
- Description
- Cluster defines a list of CIDRs to use for Ceph cluster network communication.
- Type
array
.spec.network.addressRanges.cluster[]
- Description
- An IPv4 or IPv6 network CIDR. This naive kubebuilder regex provides immediate feedback for some typos and for a common problem case where the range spec is forgotten (e.g., /24). Rook does in-depth validation in code.
- Type
string
.spec.network.addressRanges.public
- Description
- Public defines a list of CIDRs to use for Ceph public network communication.
- Type
array
.spec.network.addressRanges.public[]
- Description
- An IPv4 or IPv6 network CIDR. This naive kubebuilder regex provides immediate feedback for some typos and for a common problem case where the range spec is forgotten (e.g., /24). Rook does in-depth validation in code.
- Type
string
.spec.network.connections
- Description
- Settings for network connections such as compression and encryption across the wire.
- Type
object
.spec.network.connections.compression
- Description
- Compression settings for the network connections.
- Type
object
.spec.network.connections.encryption
- Description
- Encryption settings for the network connections.
- Type
object
.spec.network.multiClusterService
- Description
- Enable multiClusterService to export the Services between peer clusters
- Type
object
.spec.network.selectors
- Description
- Selectors define NetworkAttachmentDefinitions to be used for Ceph public and/or cluster networks when the "multus" network provider is used. This config section is not used for other network providers. Valid keys are "public" and "cluster". Refer to Ceph networking documentation for more: https://docs.ceph.com/en/latest/rados/configuration/network-config-ref/ Refer to Multus network annotation documentation for help selecting values: https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/how-to-use.md#run-pod-with-network-annotation Rook will make a best-effort attempt to automatically detect CIDR address ranges for given network attachment definitions. Rook's methods are robust but may be imprecise for sufficiently complicated networks. Rook's auto-detection process obtains a new IP address lease for each CephCluster reconcile. If Rook fails to detect, incorrectly detects, only partially detects, or if underlying networks do not support reusing old IP addresses, it is best to use the 'addressRanges' config section to specify CIDR ranges for the Ceph cluster. As a contrived example, one can use a theoretical Kubernetes-wide network for Ceph client traffic and a theoretical Rook-only network for Ceph replication traffic as shown: selectors: public: "default/cluster-fast-net" cluster: "rook-ceph/ceph-backend-net"
- Type
object
.spec.placement
- Type
object
.spec.priorityClassNames
- Description
- PriorityClassNames sets priority classes on components
- Type
object
.spec.resources
- Description
- Resources set resource requests and limits
- Type
object
.spec.security
- Description
- Security represents security settings
- Type
object
.spec.security.cephx
- Description
- CephX configures CephX key settings. More: https://docs.ceph.com/en/latest/dev/cephx/
- Type
object
.spec.security.cephx.csi
- Description
- CSI configures CephX key rotation settings for the Ceph-CSI daemons in the current Kubernetes cluster. CSI key rotation can affect existing PV connections, so take care when exercising this option.
- Type
object
.spec.security.cephx.daemon
- Description
- Daemon configures CephX key settings for local Ceph daemons managed by Rook and part of the Ceph cluster. Daemon CephX keys can be rotated without affecting client connections.
- Type
object
.spec.security.cephx.rbdMirrorPeer
- Description
- RBDMirrorPeer configures CephX key settings of the `rbd-mirror-peer` user that is used for creating bootstrap peer token used connect peer clusters. Rotating the `rbd-mirror-peer` user key will update the mirror peer token. Rotation will affect any existing peers connected to this cluster, so take care when exercising this option.
- Type
object
.spec.security.keyRotation
- Description
- KeyRotation defines options for rotation of OSD disk encryption keys.
- Type
object
.spec.security.kms
- Description
- KeyManagementService is the main Key Management option
- Type
object
.spec.security.kms.connectionDetails
- Description
- ConnectionDetails contains the KMS connection details (address, port etc)
- Type
object
.spec.storage
- Description
- A spec for available storage in the cluster and how it should be used
- Type
object
.spec.storage.config
- Type
object
.spec.storage.devices
- Description
- List of devices to use as storage devices
- Type
array
.spec.storage.devices[]
- Description
- Device represents a disk to use in the cluster
- Type
object
.spec.storage.devices[].config
- Type
object
.spec.storage.migration
- Description
- Migration handles the OSD migration
- Type
object
.spec.storage.nodes
- Type
array
.spec.storage.nodes[]
- Description
- Node is a storage nodes
- Type
object
.spec.storage.nodes[].config
- Type
object
.spec.storage.nodes[].devices
- Description
- List of devices to use as storage devices
- Type
array
.spec.storage.nodes[].devices[]
- Description
- Device represents a disk to use in the cluster
- Type
object
.spec.storage.nodes[].devices[].config
- Type
object
.spec.storage.nodes[].resources
- Description
- ResourceRequirements describes the compute resource requirements.
- Type
object
.spec.storage.nodes[].resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.storage.nodes[].resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.storage.nodes[].resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.nodes[].resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.nodes[].volumeClaimTemplates
- Description
- PersistentVolumeClaims to use as storage
- Type
array
.spec.storage.nodes[].volumeClaimTemplates[]
- Description
- VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
- Type
object
.spec.storage.nodes[].volumeClaimTemplates[].spec
- Description
- spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object
.spec.storage.nodes[].volumeClaimTemplates[].spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.storage.nodes[].volumeClaimTemplates[].spec.accessModes[]
- Type
string
.spec.storage.nodes[].volumeClaimTemplates[].spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.storage.nodes[].volumeClaimTemplates[].spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.storage.nodes[].volumeClaimTemplates[].spec.resources
- Description
- resources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.storage.nodes[].volumeClaimTemplates[].spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.nodes[].volumeClaimTemplates[].spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.nodes[].volumeClaimTemplates[].spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions[].values[]
- Type
string
.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.storage.storageClassDeviceSets
- Type
array
.spec.storage.storageClassDeviceSets[]
- Description
- StorageClassDeviceSet is a storage class device set
- Type
object- Required
countnamevolumeClaimTemplates
.spec.storage.storageClassDeviceSets[].config
- Description
- Provider-specific device configuration
- Type
object
.spec.storage.storageClassDeviceSets[].placement
- Type
object
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity
- Type
object
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
preferenceweight
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Type
object
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Type
object- Required
nodeSelectorTerms
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Type
object
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
podAffinityTermweight
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
podAffinityTermweight
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.tolerations
- Type
array
.spec.storage.storageClassDeviceSets[].placement.tolerations[]
- Type
object
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints
- Type
array
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[]
- Type
object- Required
maxSkewtopologyKeywhenUnsatisfiable
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
preferenceweight
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Type
object- Required
nodeSelectorTerms
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
podAffinityTermweight
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
podAffinityTermweight
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Type
object- Required
topologyKey
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.tolerations
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.tolerations[]
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[]
- Type
object- Required
maxSkewtopologyKeywhenUnsatisfiable
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions[]
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions[].values
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchLabels
- Type
object
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].matchLabelKeys
- Type
array
.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].matchLabelKeys[]
- Type
string
.spec.storage.storageClassDeviceSets[].resources
- Description
- ResourceRequirements describes the compute resource requirements.
- Type
object
.spec.storage.storageClassDeviceSets[].resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.storage.storageClassDeviceSets[].resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.storage.storageClassDeviceSets[].resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.storageClassDeviceSets[].resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates
- Description
- VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
- Type
array
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[]
- Description
- VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
- Type
object
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec
- Description
- spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.accessModes[]
- Type
string
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.resources
- Description
- resources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions[].values[]
- Type
string
.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.storage.store
- Description
- OSDStore is the backend storage type used for creating the OSDs
- Type
object
.spec.storage.volumeClaimTemplates
- Description
- PersistentVolumeClaims to use as storage
- Type
array
.spec.storage.volumeClaimTemplates[]
- Description
- VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
- Type
object
.spec.storage.volumeClaimTemplates[].spec
- Description
- spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object
.spec.storage.volumeClaimTemplates[].spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.storage.volumeClaimTemplates[].spec.accessModes[]
- Type
string
.spec.storage.volumeClaimTemplates[].spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.storage.volumeClaimTemplates[].spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.storage.volumeClaimTemplates[].spec.resources
- Description
- resources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.storage.volumeClaimTemplates[].spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.volumeClaimTemplates[].spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.storage.volumeClaimTemplates[].spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions[].values[]
- Type
string
.spec.storage.volumeClaimTemplates[].spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.status
- Description
- ClusterStatus represents the status of a Ceph cluster
- Type
object
.status.ceph
- Description
- CephStatus is the details health of a Ceph Cluster
- Type
object
.status.ceph.capacity
- Description
- Capacity is the capacity information of a Ceph Cluster
- Type
object
.status.ceph.details
- Type
object
.status.ceph.versions
- Description
- CephDaemonsVersions show the current ceph version for different ceph daemons
- Type
object
.status.ceph.versions.cephfs-mirror
- Description
- CephFSMirror shows CephFSMirror Ceph version
- Type
object
.status.ceph.versions.mds
- Description
- Mds shows Mds Ceph version
- Type
object
.status.ceph.versions.mgr
- Description
- Mgr shows Mgr Ceph version
- Type
object
.status.ceph.versions.mon
- Description
- Mon shows Mon Ceph version
- Type
object
.status.ceph.versions.osd
- Description
- Osd shows Osd Ceph version
- Type
object
.status.ceph.versions.overall
- Description
- Overall shows overall Ceph version
- Type
object
.status.ceph.versions.rbd-mirror
- Description
- RbdMirror shows RbdMirror Ceph version
- Type
object
.status.ceph.versions.rgw
- Description
- Rgw shows Rgw Ceph version
- Type
object
.status.cephx
- Description
- ClusterCephxStatus defines the cephx key rotation status of various daemons on the cephCluster resource
- Type
object
.status.cephx.admin
- Description
- Admin shows the CephX key status for the client.admin key
- Type
object
.status.cephx.cephExporter
- Description
- Ceph Exporter represents the cephx key rotation status of the ceph exporter daemon
- Type
object
.status.cephx.crashCollector
- Description
- Crash Collector represents the cephx key rotation status of the crash collector daemon
- Type
object
.status.cephx.csi
- Description
- CSI shows the CephX key status for Ceph-CSI components.
- Type
object
.status.cephx.mgr
- Description
- Mgr represents the cephx key rotation status of the ceph manager daemon
- Type
object
.status.cephx.mon
- Description
- Mon represents the CephX key status of the Monitor daemons
- Type
object
.status.cephx.osd
- Description
- OSD shows the CephX key status of of OSDs
- Type
object
.status.cephx.rbdMirrorPeer
- Description
- RBDMirrorPeer represents the cephx key rotation status of the `rbd-mirror-peer` user
- Type
object
.status.conditions
- Type
array
.status.conditions[]
- Description
- Condition represents a status condition on any Rook-Ceph Custom Resource.
- Type
object
.status.storage
- Description
- CephStorage represents flavors of Ceph Cluster Storage
- Type
object
.status.storage.deprecatedOSDs
- Type
object
.status.storage.deviceClasses
- Type
array
.status.storage.deviceClasses[]
- Description
- DeviceClasses represents device classes of a Ceph Cluster
- Type
object
.status.storage.osd
- Description
- OSDStatus represents OSD status of the ceph Cluster
- Type
object
.status.storage.osd.migrationStatus
- Description
- MigrationStatus status represents the current status of any OSD migration.
- Type
object
.status.storage.osd.storeType
- Description
- StoreType is a mapping between the OSD backend stores and number of OSDs using these stores
- Type
object
.status.version
- Description
- ClusterVersion represents the version of a Ceph Cluster
- Type
object
API Endpoints
The following API endpoints are available:
/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclustersDELETE: delete collection of CephClusterGET: list objects of kind CephClusterPOST: create a new CephCluster
/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}DELETE: delete the specified CephClusterGET: read the specified CephClusterPATCH: partially update the specified CephClusterPUT: replace the specified CephCluster
/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}/statusGET: read status of the specified CephClusterPATCH: partially update status of the specified CephClusterPUT: replace status of the specified CephCluster
/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters
- HTTP method
DELETE- Description
- delete collection of CephCluster
- HTTP responses
- HTTP method
GET- Description
- list objects of kind CephCluster
- HTTP responses
- HTTP method
POST- Description
- create a new CephCluster
- Query parameters
- Body parameters
- HTTP responses
/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}
- HTTP method
DELETE- Description
- delete the specified CephCluster
- Query parameters
- HTTP responses
- HTTP method
GET- Description
- read the specified CephCluster
- HTTP responses
- HTTP method
PATCH- Description
- partially update the specified CephCluster
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace the specified CephCluster
- Query parameters
- Body parameters
- HTTP responses
/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}/status
- HTTP method
GET- Description
- read status of the specified CephCluster
- HTTP responses
- HTTP method
PATCH- Description
- partially update status of the specified CephCluster
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace status of the specified CephCluster
- Query parameters
- Body parameters
- HTTP responses