CephCluster [cephclusters.ceph.rook.io/v1]

描述
CephCluster is a Ceph storage cluster
类型
object
必填
metadataspec

规格

属性类型描述
apiVersionstring

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kindstring

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadataObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

specobject

ClusterSpec represents the specification of Ceph Cluster

statusobject

ClusterStatus represents the status of a Ceph cluster

.spec

描述
ClusterSpec represents the specification of Ceph Cluster
类型
object
属性类型描述
annotationsobject

The annotations-related configuration to add/set on each Pod related object.

cephConfigobject

Ceph Config options

cephConfigFromSecretobject

CephConfigFromSecret works exactly like CephConfig but takes config value from Secret Key reference.

cephVersionobject

The version information that instructs Rook to orchestrate a particular version of Ceph.

cleanupPolicyobject

Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster deletion is not imminent.

continueUpgradeAfterChecksEvenIfNotHealthyboolean

ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not clean

crashCollectorobject

A spec for the crash controller

csiobject

CSI Driver Options applied per cluster.

dashboardobject

Dashboard settings

dataDirHostPathstring

The path on the host where config and data can be persisted

disruptionManagementobject

A spec for configuring disruption management.

externalobject

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.

healthCheckobject

Internal daemon healthchecks and liveness probe

labelsobject

The labels-related configuration to add/set on each Pod related object.

logCollectorobject

Logging represents loggings settings

mgrobject

A spec for mgr related options

monobject

A spec for mon related options

monitoringobject

Prometheus based Monitoring settings

networkobject

Network related configuration

placementobject
priorityClassNamesobject

PriorityClassNames sets priority classes on components

removeOSDsIfOutAndSafeToRemoveboolean

Remove the OSD that is out and safe to remove only if this option is true

resourcesobject

Resources set resource requests and limits

securityobject

Security represents security settings

skipUpgradeChecksboolean

SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails

storageobject

A spec for available storage in the cluster and how it should be used

upgradeOSDRequiresHealthyPGsboolean

UpgradeOSDRequiresHealthyPGs defines if OSD upgrade requires PGs are clean. If set to true OSD upgrade process won't start until PGs are healthy. This configuration will be ignored if skipUpgradeChecks is true. Default is false.

waitTimeoutForHealthyOSDInMinutesinteger

WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart. If the timeout exceeds and OSD is not ok to stop, then the operator would skip upgrade for the current OSD and proceed with the next one if continueUpgradeAfterChecksEvenIfNotHealthy is false. If continueUpgradeAfterChecksEvenIfNotHealthy is true, then operator would continue with the upgrade of an OSD even if its not ok to stop after the timeout. This timeout won't be applied if skipUpgradeChecks is true. The default wait timeout is 10 minutes.

.spec.annotations

描述
The annotations-related configuration to add/set on each Pod related object.
类型
object

.spec.cephConfig

描述
Ceph Config options
类型
object

.spec.cephConfigFromSecret

描述
CephConfigFromSecret works exactly like CephConfig but takes config value from Secret Key reference.
类型
object

.spec.cephVersion

描述
The version information that instructs Rook to orchestrate a particular version of Ceph.
类型
object
属性类型描述
allowUnsupportedboolean

Whether to allow unsupported versions (do not set to true in production)

imagestring

Image is the container image used to launch the ceph daemons, such as quay.io/ceph/ceph: The full list of images can be found at https://quay.io/repository/ceph/ceph?tab=tags

imagePullPolicystring

ImagePullPolicy describes a policy for if/when to pull a container image One of Always, Never, IfNotPresent.

.spec.cleanupPolicy

描述
Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster deletion is not imminent.
类型
object
属性类型描述
allowUninstallWithVolumesboolean

AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images still present

confirmationstring

Confirmation represents the cleanup confirmation

sanitizeDisksobject

SanitizeDisks represents way we sanitize disks

wipeDevicesFromOtherClustersboolean

WipeDevicesFromOtherClusters wipes the OSD disks belonging to other clusters. This is useful in scenarios where ceph cluster was reinstalled but OSD disk still contains the metadata from previous ceph cluster.

.spec.cleanupPolicy.sanitizeDisks

描述
SanitizeDisks represents way we sanitize disks
类型
object
属性类型描述
dataSourcestring

DataSource is the data source to use to sanitize the disk with

iterationinteger

Iteration is the number of pass to apply the sanitizing

methodstring

Method is the method we use to sanitize disks

.spec.crashCollector

描述
A spec for the crash controller
类型
object
属性类型描述
daysToRetaininteger

DaysToRetain represents the number of days to retain crash until they get pruned

disableboolean

Disable determines whether we should enable the crash collector

.spec.csi

描述
CSI Driver Options applied per cluster.
类型
object
属性类型描述
cephfsobject

CephFS defines CSI Driver settings for CephFS driver.

readAffinityobject

ReadAffinity defines the read affinity settings for CSI driver.

skipUserCreationboolean

SkipUserCreation determines whether CSI users and their associated secrets should be skipped. If set to true, the user must manually manage these secrets.

.spec.csi.cephfs

描述
CephFS defines CSI Driver settings for CephFS driver.
类型
object
属性类型描述
fuseMountOptionsstring

FuseMountOptions defines the mount options for ceph fuse mounter.

kernelMountOptionsstring

KernelMountOptions defines the mount options for kernel mounter.

.spec.csi.readAffinity

描述
ReadAffinity defines the read affinity settings for CSI driver.
类型
object
属性类型描述
crushLocationLabelsarray

CrushLocationLabels defines which node labels to use as CRUSH location. This should correspond to the values set in the CRUSH map.

enabledboolean

Enables read affinity for CSI driver.

.spec.csi.readAffinity.crushLocationLabels

描述
CrushLocationLabels defines which node labels to use as CRUSH location. This should correspond to the values set in the CRUSH map.
类型
array

.spec.csi.readAffinity.crushLocationLabels[]

类型
string

.spec.dashboard

描述
Dashboard settings
类型
object
属性类型描述
enabledboolean

Enabled determines whether to enable the dashboard

portinteger

Port is the dashboard webserver port

prometheusEndpointstring

Endpoint for the Prometheus host

prometheusEndpointSSLVerifyboolean

Whether to verify the ssl endpoint for prometheus. Set to false for a self-signed cert.

sslboolean

SSL determines whether SSL should be used

urlPrefixstring

URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy

.spec.disruptionManagement

描述
A spec for configuring disruption management.
类型
object
属性类型描述
machineDisruptionBudgetNamespacestring

Deprecated. Namespace to look for MDBs by the machineDisruptionBudgetController

manageMachineDisruptionBudgetsboolean

Deprecated. This enables management of machinedisruptionbudgets.

managePodBudgetsboolean

This enables management of poddisruptionbudgets

osdMaintenanceTimeoutinteger

OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure domains it only works if managePodBudgets is true. the default is 30 minutes

pgHealthCheckTimeoutinteger

DEPRECATED: PGHealthCheckTimeout is no longer implemented

pgHealthyRegexstring

PgHealthyRegex is the regular expression that is used to determine which PG states should be considered healthy. The default is ^(active\+clean|active\+clean\+scrubbing|active\+clean\+scrubbing\+deep)$

.spec.external

描述
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.
类型
object
属性类型描述
enableboolean

Enable determines whether external mode is enabled or not

.spec.healthCheck

描述
Internal daemon healthchecks and liveness probe
类型
object
属性类型描述
daemonHealthobject

DaemonHealth is the health check for a given daemon

livenessProbeobject

LivenessProbe allows changing the livenessProbe configuration for a given daemon

startupProbeobject

StartupProbe allows changing the startupProbe configuration for a given daemon

.spec.healthCheck.daemonHealth

描述
DaemonHealth is the health check for a given daemon
类型
object
属性类型描述
monobject

Monitor represents the health check settings for the Ceph monitor

osdobject

ObjectStorageDaemon represents the health check settings for the Ceph OSDs

statusobject

Status represents the health check settings for the Ceph health

.spec.healthCheck.daemonHealth.mon

描述
Monitor represents the health check settings for the Ceph monitor
类型
object
属性类型描述
disabledboolean
intervalstring

Interval is the internal in second or minute for the health check to run like 60s for 60 seconds

timeoutstring

.spec.healthCheck.daemonHealth.osd

描述
ObjectStorageDaemon represents the health check settings for the Ceph OSDs
类型
object
属性类型描述
disabledboolean
intervalstring

Interval is the internal in second or minute for the health check to run like 60s for 60 seconds

timeoutstring

.spec.healthCheck.daemonHealth.status

描述
Status represents the health check settings for the Ceph health
类型
object
属性类型描述
disabledboolean
intervalstring

Interval is the internal in second or minute for the health check to run like 60s for 60 seconds

timeoutstring

.spec.healthCheck.livenessProbe

描述
LivenessProbe allows changing the livenessProbe configuration for a given daemon
类型
object

.spec.healthCheck.startupProbe

描述
StartupProbe allows changing the startupProbe configuration for a given daemon
类型
object

.spec.labels

描述
The labels-related configuration to add/set on each Pod related object.
类型
object

.spec.logCollector

描述
Logging represents loggings settings
类型
object
属性类型描述
enabledboolean

Enabled represents whether the log collector is enabled

maxLogSizeinteger|string

MaxLogSize is the maximum size of the log per ceph daemons. Must be at least 1M.

periodicitystring

Periodicity is the periodicity of the log rotation.

.spec.mgr

描述
A spec for mgr related options
类型
object
属性类型描述
allowMultiplePerNodeboolean

AllowMultiplePerNode allows to run multiple managers on the same node (not recommended)

countinteger

Count is the number of manager daemons to run

hostNetworkboolean

Whether host networking is enabled for the Ceph Mgr. If not set, the network settings from CephCluster.spec.networking will be applied.

modulesarray

Modules is the list of ceph manager modules to enable/disable

.spec.mgr.modules

描述
Modules is the list of ceph manager modules to enable/disable
类型
array

.spec.mgr.modules[]

描述
Module represents mgr modules that the user wants to enable or disable
类型
object
属性类型描述
enabledboolean

Enabled determines whether a module should be enabled or not

namestring

Name is the name of the ceph manager module

settingsobject

Settings to further configure the module

.spec.mgr.modules[].settings

描述
Settings to further configure the module
类型
object
属性类型描述
balancerModestring

BalancerMode sets the balancer module with different modes like upmap, crush-compact etc

.spec.mon

描述
A spec for mon related options
类型
object
属性类型描述
allowMultiplePerNodeboolean

AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)

countinteger

Count is the number of Ceph monitors

externalMonIDsarray

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

failureDomainLabelstring
stretchClusterobject

StretchCluster is the stretch cluster specification

volumeClaimTemplateobject

VolumeClaimTemplate is the PVC definition

zonesarray

Zones are specified when we want to provide zonal awareness to mons

.spec.mon.externalMonIDs

描述
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
类型
array

.spec.mon.externalMonIDs[]

类型
string

.spec.mon.stretchCluster

描述
StretchCluster is the stretch cluster specification
类型
object
属性类型描述
failureDomainLabelstring

FailureDomainLabel the failure domain name (e,g: zone)

subFailureDomainstring

SubFailureDomain is the failure domain within a zone

zonesarray

Zones is the list of zones

.spec.mon.stretchCluster.zones

描述
Zones is the list of zones
类型
array

.spec.mon.stretchCluster.zones[]

描述
MonZoneSpec represents the specification of a zone in a Ceph Cluster
类型
object
属性类型描述
arbiterboolean

Arbiter determines if the zone contains the arbiter used for stretch cluster mode

namestring

Name is the name of the zone

volumeClaimTemplateobject

VolumeClaimTemplate is the PVC template

.spec.mon.stretchCluster.zones[].volumeClaimTemplate

描述
VolumeClaimTemplate is the PVC template
类型
object
属性类型描述
metadataObjectMeta

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

specobject

spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec

描述
spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述
accessModesarray

accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSourceobject

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.
dataSourceRefobject

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.
resourcesobject

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

selectorobject

selector is a label query over volumes to consider for binding.

storageClassNamestring

storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassNamestring

volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/

volumeModestring

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

volumeNamestring

volumeName is the binding reference to the PersistentVolume backing this claim.

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.accessModes

描述
accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
类型
array

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.accessModes[]

类型
string

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.dataSource

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.dataSourceRef

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

namespacestring

Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.resources

描述
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
类型
object
属性类型描述
limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.resources.requests

描述
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/
类型
object

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector

描述
selector is a label query over volumes to consider for binding.
类型
object
属性类型描述
matchExpressionsarray

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabelsobject

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.

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions

描述
matchExpressions is a list of label selector requirements. The requirements are ANDed.
类型
array

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions[]

描述
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
类型
object
必填
keyoperator
属性类型描述
keystring

key is the label key that the selector applies to.

operatorstring

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

valuesarray

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.

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values

描述
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.
类型
array

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values[]

类型
string

.spec.mon.stretchCluster.zones[].volumeClaimTemplate.spec.selector.matchLabels

描述
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.
类型
object

.spec.mon.volumeClaimTemplate

描述
VolumeClaimTemplate is the PVC definition
类型
object
属性类型描述
metadataObjectMeta

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

specobject

spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

.spec.mon.volumeClaimTemplate.spec

描述
spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述
accessModesarray

accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSourceobject

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.
dataSourceRefobject

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.
resourcesobject

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

selectorobject

selector is a label query over volumes to consider for binding.

storageClassNamestring

storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassNamestring

volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/

volumeModestring

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

volumeNamestring

volumeName is the binding reference to the PersistentVolume backing this claim.

.spec.mon.volumeClaimTemplate.spec.accessModes

描述
accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
类型
array

.spec.mon.volumeClaimTemplate.spec.accessModes[]

类型
string

.spec.mon.volumeClaimTemplate.spec.dataSource

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

.spec.mon.volumeClaimTemplate.spec.dataSourceRef

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

namespacestring

Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

.spec.mon.volumeClaimTemplate.spec.resources

描述
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
类型
object
属性类型描述
limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.mon.volumeClaimTemplate.spec.resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.mon.volumeClaimTemplate.spec.resources.requests

描述
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/
类型
object

.spec.mon.volumeClaimTemplate.spec.selector

描述
selector is a label query over volumes to consider for binding.
类型
object
属性类型描述
matchExpressionsarray

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabelsobject

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.

.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions

描述
matchExpressions is a list of label selector requirements. The requirements are ANDed.
类型
array

.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions[]

描述
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
类型
object
必填
keyoperator
属性类型描述
keystring

key is the label key that the selector applies to.

operatorstring

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

valuesarray

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.

.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions[].values

描述
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.
类型
array

.spec.mon.volumeClaimTemplate.spec.selector.matchExpressions[].values[]

类型
string

.spec.mon.volumeClaimTemplate.spec.selector.matchLabels

描述
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.
类型
object

.spec.mon.zones

描述
Zones are specified when we want to provide zonal awareness to mons
类型
array

.spec.mon.zones[]

描述
MonZoneSpec represents the specification of a zone in a Ceph Cluster
类型
object
属性类型描述
arbiterboolean

Arbiter determines if the zone contains the arbiter used for stretch cluster mode

namestring

Name is the name of the zone

volumeClaimTemplateobject

VolumeClaimTemplate is the PVC template

.spec.mon.zones[].volumeClaimTemplate

描述
VolumeClaimTemplate is the PVC template
类型
object
属性类型描述
metadataObjectMeta

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

specobject

spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

.spec.mon.zones[].volumeClaimTemplate.spec

描述
spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述
accessModesarray

accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSourceobject

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.
dataSourceRefobject

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.
resourcesobject

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

selectorobject

selector is a label query over volumes to consider for binding.

storageClassNamestring

storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassNamestring

volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/

volumeModestring

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

volumeNamestring

volumeName is the binding reference to the PersistentVolume backing this claim.

.spec.mon.zones[].volumeClaimTemplate.spec.accessModes

描述
accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
类型
array

.spec.mon.zones[].volumeClaimTemplate.spec.accessModes[]

类型
string

.spec.mon.zones[].volumeClaimTemplate.spec.dataSource

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

.spec.mon.zones[].volumeClaimTemplate.spec.dataSourceRef

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

namespacestring

Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

.spec.mon.zones[].volumeClaimTemplate.spec.resources

描述
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
类型
object
属性类型描述
limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.mon.zones[].volumeClaimTemplate.spec.resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.mon.zones[].volumeClaimTemplate.spec.resources.requests

描述
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/
类型
object

.spec.mon.zones[].volumeClaimTemplate.spec.selector

描述
selector is a label query over volumes to consider for binding.
类型
object
属性类型描述
matchExpressionsarray

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabelsobject

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.

.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions

描述
matchExpressions is a list of label selector requirements. The requirements are ANDed.
类型
array

.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions[]

描述
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
类型
object
必填
keyoperator
属性类型描述
keystring

key is the label key that the selector applies to.

operatorstring

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

valuesarray

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.

.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values

描述
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.
类型
array

.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchExpressions[].values[]

类型
string

.spec.mon.zones[].volumeClaimTemplate.spec.selector.matchLabels

描述
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.
类型
object

.spec.monitoring

描述
Prometheus based Monitoring settings
类型
object
属性类型描述
enabledboolean

Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus types must exist or the creation will fail. Default is false.

exporterobject

Ceph exporter configuration

externalMgrEndpointsarray

ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint

externalMgrPrometheusPortinteger

ExternalMgrPrometheusPort Prometheus exporter port

intervalstring

Interval determines prometheus scrape interval

metricsDisabledboolean

Whether to disable the metrics reported by Ceph. If false, the prometheus mgr module and Ceph exporter are enabled. If true, the prometheus mgr module and Ceph exporter are both disabled. Default is false.

portinteger

Port is the prometheus server port

.spec.monitoring.exporter

描述
Ceph exporter configuration
类型
object
属性类型描述
hostNetworkboolean

Whether host networking is enabled for CephExporter. If not set, the network settings from CephCluster.spec.networking will be applied.

perfCountersPrioLimitinteger

Only performance counters greater than or equal to this option are fetched

statsPeriodSecondsinteger

Time to wait before sending requests again to exporter server (seconds)

.spec.monitoring.externalMgrEndpoints

描述
ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
类型
array

.spec.monitoring.externalMgrEndpoints[]

描述
EndpointAddress is a tuple that describes single IP address. Deprecated: This API is deprecated in v1.33+.
类型
object
必填
ip
属性类型描述
hostnamestring

The Hostname of this endpoint

ipstring

The IP of this endpoint. May not be loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10), or link-local multicast (224.0.0.0/24 or ff02::/16).

nodeNamestring

Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.

targetRefobject

Reference to object providing the endpoint.

.spec.monitoring.externalMgrEndpoints[].targetRef

描述
Reference to object providing the endpoint.
类型
object
属性类型描述
apiVersionstring

API version of the referent.

fieldPathstring

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

kindstring

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

namestring

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespacestring

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersionstring

Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uidstring

UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.spec.network

描述
Network related configuration
类型
object
属性类型描述
addressRangesobject

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.

connectionsobject

Settings for network connections such as compression and encryption across the wire.

dualStackboolean

DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6

hostNetworkboolean

HostNetwork to enable host network. If host networking is enabled or disabled on a running cluster, then the operator will automatically fail over all the mons to apply the new network settings.

ipFamilystring

IPFamily is the single stack IPv6 or IPv4 protocol

multiClusterServiceobject

Enable multiClusterService to export the Services between peer clusters

providerstring

Provider is what provides network connectivity to the cluster e.g. "host" or "multus". If the Provider is updated from being empty to "host" on a running cluster, then the operator will automatically fail over all the mons to apply the "host" network settings.

selectorsobject

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"

.spec.network.addressRanges

描述
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.
类型
object
属性类型描述
clusterarray

Cluster defines a list of CIDRs to use for Ceph cluster network communication.

publicarray

Public defines a list of CIDRs to use for Ceph public network communication.

.spec.network.addressRanges.cluster

描述
Cluster defines a list of CIDRs to use for Ceph cluster network communication.
类型
array

.spec.network.addressRanges.cluster[]

描述
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.
类型
string

.spec.network.addressRanges.public

描述
Public defines a list of CIDRs to use for Ceph public network communication.
类型
array

.spec.network.addressRanges.public[]

描述
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.
类型
string

.spec.network.connections

描述
Settings for network connections such as compression and encryption across the wire.
类型
object
属性类型描述
compressionobject

Compression settings for the network connections.

encryptionobject

Encryption settings for the network connections.

requireMsgr2boolean

Whether to require msgr2 (port 3300) even if compression or encryption are not enabled. If true, the msgr1 port (6789) will be disabled. Requires a kernel that supports msgr2 (kernel 5.11 or CentOS 8.4 or newer).

.spec.network.connections.compression

描述
Compression settings for the network connections.
类型
object
属性类型描述
enabledboolean

Whether to compress the data in transit across the wire. The default is not set.

.spec.network.connections.encryption

描述
Encryption settings for the network connections.
类型
object
属性类型描述
enabledboolean

Whether to encrypt the data in transit across the wire to prevent eavesdropping the data on the network. The default is not set. Even if encryption is not enabled, clients still establish a strong initial authentication for the connection and data integrity is still validated with a crc check. When encryption is enabled, all communication between clients and Ceph daemons, or between Ceph daemons will be encrypted.

.spec.network.multiClusterService

描述
Enable multiClusterService to export the Services between peer clusters
类型
object
属性类型描述
clusterIDstring

ClusterID uniquely identifies a cluster. It is used as a prefix to nslookup exported services. For example: ...svc.clusterset.local

enabledboolean

Enable multiClusterService to export the mon and OSD services to peer cluster. Ensure that peer clusters are connected using an MCS API compatible application, like Globalnet Submariner.

.spec.network.selectors

描述
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"
类型
object

.spec.placement

类型
object

.spec.priorityClassNames

描述
PriorityClassNames sets priority classes on components
类型
object

.spec.resources

描述
Resources set resource requests and limits
类型
object

.spec.security

描述
Security represents security settings
类型
object
属性类型描述
cephxobject

CephX configures CephX key settings. More: https://docs.ceph.com/en/latest/dev/cephx/

keyRotationobject

KeyRotation defines options for rotation of OSD disk encryption keys.

kmsobject

KeyManagementService is the main Key Management option

.spec.security.cephx

描述
CephX configures CephX key settings. More: https://docs.ceph.com/en/latest/dev/cephx/
类型
object
属性类型描述
csiobject

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.

daemonobject

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.

rbdMirrorPeerobject

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.

.spec.security.cephx.csi

描述
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.
类型
object
属性类型描述
keepPriorKeyCountMaxinteger

KeepPriorKeyCountMax tells Rook how many prior keys to keep active. Generally, this would be set to 1 to allow for a migration period for applications. If desired, set this to 0 to delete prior keys after migration. This config only applies to prior keys that already exist. If PriorKeyCount is set to 2 while only a single key currently exists, only a single prior key will be kept, and the reported status will only indicate the actual number of prior keys, not necessarily a reflection of PriorKeyCount config here.

keyGenerationinteger

KeyGeneration specifies the desired CephX key generation. This is used when KeyRotationPolicy is KeyGeneration and ignored for other policies. If this is set to greater than the current key generation, relevant keys will be rotated, and the generation value will be updated to this new value (generation values are not necessarily incremental, though that is the intended use case). If this is set to less than or equal to the current key generation, keys are not rotated.

keyRotationPolicystring

KeyRotationPolicy controls if and when CephX keys are rotated after initial creation. One of Disabled, or KeyGeneration. Default Disabled.

.spec.security.cephx.daemon

描述
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.
类型
object
属性类型描述
keyGenerationinteger

KeyGeneration specifies the desired CephX key generation. This is used when KeyRotationPolicy is KeyGeneration and ignored for other policies. If this is set to greater than the current key generation, relevant keys will be rotated, and the generation value will be updated to this new value (generation values are not necessarily incremental, though that is the intended use case). If this is set to less than or equal to the current key generation, keys are not rotated.

keyRotationPolicystring

KeyRotationPolicy controls if and when CephX keys are rotated after initial creation. One of Disabled, or KeyGeneration. Default Disabled.

.spec.security.cephx.rbdMirrorPeer

描述
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.
类型
object
属性类型描述
keyGenerationinteger

KeyGeneration specifies the desired CephX key generation. This is used when KeyRotationPolicy is KeyGeneration and ignored for other policies. If this is set to greater than the current key generation, relevant keys will be rotated, and the generation value will be updated to this new value (generation values are not necessarily incremental, though that is the intended use case). If this is set to less than or equal to the current key generation, keys are not rotated.

keyRotationPolicystring

KeyRotationPolicy controls if and when CephX keys are rotated after initial creation. One of Disabled, or KeyGeneration. Default Disabled.

.spec.security.keyRotation

描述
KeyRotation defines options for rotation of OSD disk encryption keys.
类型
object
属性类型描述
enabledboolean

Enabled represents whether the key rotation is enabled.

schedulestring

Schedule represents the cron schedule for key rotation.

.spec.security.kms

描述
KeyManagementService is the main Key Management option
类型
object
属性类型描述
connectionDetailsobject

ConnectionDetails contains the KMS connection details (address, port etc)

tokenSecretNamestring

TokenSecretName is the kubernetes secret containing the KMS token

.spec.security.kms.connectionDetails

描述
ConnectionDetails contains the KMS connection details (address, port etc)
类型
object

.spec.storage

描述
A spec for available storage in the cluster and how it should be used
类型
object
属性类型描述
allowDeviceClassUpdateboolean

Whether to allow updating the device class after the OSD is initially provisioned

allowOsdCrushWeightUpdateboolean

Whether Rook will resize the OSD CRUSH weight when the OSD PVC size is increased. This allows cluster data to be rebalanced to make most effective use of new OSD space. The default is false since data rebalancing can cause temporary cluster slowdown.

backfillFullRationumber

BackfillFullRatio is the ratio at which the cluster is too full for backfill. Backfill will be disabled if above this threshold. Default is 0.90.

configobject
deviceFilterstring

A regular expression to allow more fine-grained selection of devices on nodes across the cluster

devicePathFilterstring

A regular expression to allow more fine-grained selection of devices with path names

devicesarray

List of devices to use as storage devices

flappingRestartIntervalHoursinteger

FlappingRestartIntervalHours defines the time for which the OSD pods, that failed with zero exit code, will sleep before restarting. This is needed for OSD flapping where OSD daemons are marked down more than 5 times in 600 seconds by Ceph. Preventing the OSD pods to restart immediately in such scenarios will prevent Rook from marking OSD as up and thus peering of the PGs mapped to the OSD. User needs to manually restart the OSD pod if they manage to fix the underlying OSD flapping issue before the restart interval. The sleep will be disabled if this interval is set to 0.

fullRationumber

FullRatio is the ratio at which the cluster is considered full and ceph will stop accepting writes. Default is 0.95.

migrationobject

Migration handles the OSD migration

nearFullRationumber

NearFullRatio is the ratio at which the cluster is considered nearly full and will raise a ceph health warning. Default is 0.85.

nodesarray
onlyApplyOSDPlacementboolean
osdMaxUpdatesInParallelinteger

The maximum number of OSDs to update in parallel.

scheduleAlwaysboolean

Whether to always schedule OSDs on a node even if the node is not currently scheduleable or ready

storageClassDeviceSetsarray
storeobject

OSDStore is the backend storage type used for creating the OSDs

useAllDevicesboolean

Whether to consume all the storage devices found on a machine

useAllNodesboolean
volumeClaimTemplatesarray

PersistentVolumeClaims to use as storage

.spec.storage.config

类型
object

.spec.storage.devices

描述
List of devices to use as storage devices
类型
array

.spec.storage.devices[]

描述
Device represents a disk to use in the cluster
类型
object
属性类型描述
configobject
fullpathstring
namestring

.spec.storage.devices[].config

类型
object

.spec.storage.migration

描述
Migration handles the OSD migration
类型
object
属性类型描述
confirmationstring

A user confirmation to migrate the OSDs. It destroys each OSD one at a time, cleans up the backing disk and prepares OSD with same ID on that disk

.spec.storage.nodes

类型
array

.spec.storage.nodes[]

描述
Node is a storage nodes
类型
object
属性类型描述
configobject
deviceFilterstring

A regular expression to allow more fine-grained selection of devices on nodes across the cluster

devicePathFilterstring

A regular expression to allow more fine-grained selection of devices with path names

devicesarray

List of devices to use as storage devices

namestring
resourcesobject

ResourceRequirements describes the compute resource requirements.

useAllDevicesboolean

Whether to consume all the storage devices found on a machine

volumeClaimTemplatesarray

PersistentVolumeClaims to use as storage

.spec.storage.nodes[].config

类型
object

.spec.storage.nodes[].devices

描述
List of devices to use as storage devices
类型
array

.spec.storage.nodes[].devices[]

描述
Device represents a disk to use in the cluster
类型
object
属性类型描述
configobject
fullpathstring
namestring

.spec.storage.nodes[].devices[].config

类型
object

.spec.storage.nodes[].resources

描述
ResourceRequirements describes the compute resource requirements.
类型
object
属性类型描述
claimsarray

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.

limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.storage.nodes[].resources.claims

描述
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.
类型
array

.spec.storage.nodes[].resources.claims[]

描述
ResourceClaim references one entry in PodSpec.ResourceClaims.
类型
object
必填
name
属性类型描述
namestring

Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.

requeststring

Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.

.spec.storage.nodes[].resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.storage.nodes[].resources.requests

描述
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/
类型
object

.spec.storage.nodes[].volumeClaimTemplates

描述
PersistentVolumeClaims to use as storage
类型
array

.spec.storage.nodes[].volumeClaimTemplates[]

描述
VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
类型
object
属性类型描述
metadataObjectMeta

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

specobject

spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

.spec.storage.nodes[].volumeClaimTemplates[].spec

描述
spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述
accessModesarray

accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSourceobject

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.
dataSourceRefobject

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.
resourcesobject

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

selectorobject

selector is a label query over volumes to consider for binding.

storageClassNamestring

storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassNamestring

volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/

volumeModestring

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

volumeNamestring

volumeName is the binding reference to the PersistentVolume backing this claim.

.spec.storage.nodes[].volumeClaimTemplates[].spec.accessModes

描述
accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
类型
array

.spec.storage.nodes[].volumeClaimTemplates[].spec.accessModes[]

类型
string

.spec.storage.nodes[].volumeClaimTemplates[].spec.dataSource

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

.spec.storage.nodes[].volumeClaimTemplates[].spec.dataSourceRef

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

namespacestring

Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

.spec.storage.nodes[].volumeClaimTemplates[].spec.resources

描述
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
类型
object
属性类型描述
limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.storage.nodes[].volumeClaimTemplates[].spec.resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.storage.nodes[].volumeClaimTemplates[].spec.resources.requests

描述
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/
类型
object

.spec.storage.nodes[].volumeClaimTemplates[].spec.selector

描述
selector is a label query over volumes to consider for binding.
类型
object
属性类型描述
matchExpressionsarray

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabelsobject

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.

.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions

描述
matchExpressions is a list of label selector requirements. The requirements are ANDed.
类型
array

.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions[]

描述
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
类型
object
必填
keyoperator
属性类型描述
keystring

key is the label key that the selector applies to.

operatorstring

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

valuesarray

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.

.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions[].values

描述
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.
类型
array

.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchExpressions[].values[]

类型
string

.spec.storage.nodes[].volumeClaimTemplates[].spec.selector.matchLabels

描述
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.
类型
object

.spec.storage.storageClassDeviceSets

类型
array

.spec.storage.storageClassDeviceSets[]

描述
StorageClassDeviceSet is a storage class device set
类型
object
必填
countnamevolumeClaimTemplates
属性类型描述
configobject

Provider-specific device configuration

countinteger

Count is the number of devices in this set

encryptedboolean

Whether to encrypt the deviceSet

namestring

Name is a unique identifier for the set

placementobject
portableboolean

Portable represents OSD portability across the hosts

preparePlacementobject
resourcesobject

ResourceRequirements describes the compute resource requirements.

schedulerNamestring

Scheduler name for OSD pod placement

tuneDeviceClassboolean

TuneSlowDeviceClass Tune the OSD when running on a slow Device Class

tuneFastDeviceClassboolean

TuneFastDeviceClass Tune the OSD when running on a fast Device Class

volumeClaimTemplatesarray

VolumeClaimTemplates is a list of PVC templates for the underlying storage devices

.spec.storage.storageClassDeviceSets[].config

描述
Provider-specific device configuration
类型
object

.spec.storage.storageClassDeviceSets[].placement

类型
object
属性类型描述
nodeAffinityobject
podAffinityobject
podAntiAffinityobject
tolerationsarray
topologySpreadConstraintsarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity

类型
object
属性类型描述
preferredDuringSchedulingIgnoredDuringExecutionarray
requiredDuringSchedulingIgnoredDuringExecutionobject

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
preferenceweight
属性类型描述
preferenceobject
weightinteger

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference

类型
object
属性类型描述
matchExpressionsarray
matchFieldsarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

类型
object
必填
nodeSelectorTerms
属性类型描述
nodeSelectorTermsarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]

类型
object
属性类型描述
matchExpressionsarray
matchFieldsarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity

类型
object
属性类型描述
preferredDuringSchedulingIgnoredDuringExecutionarray
requiredDuringSchedulingIgnoredDuringExecutionarray

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
podAffinityTermweight
属性类型描述
podAffinityTermobject
weightinteger

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity

类型
object
属性类型描述
preferredDuringSchedulingIgnoredDuringExecutionarray
requiredDuringSchedulingIgnoredDuringExecutionarray

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
podAffinityTermweight
属性类型描述
podAffinityTermobject
weightinteger

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces

类型
array

.spec.storage.storageClassDeviceSets[].placement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.tolerations

类型
array

.spec.storage.storageClassDeviceSets[].placement.tolerations[]

类型
object
属性类型描述
effectstring
keystring
operatorstring
tolerationSecondsinteger
valuestring

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints

类型
array

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[]

类型
object
必填
maxSkewtopologyKeywhenUnsatisfiable
属性类型描述
labelSelectorobject
matchLabelKeysarray
maxSkewinteger
minDomainsinteger
nodeAffinityPolicystring
nodeTaintsPolicystring
topologyKeystring
whenUnsatisfiablestring

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].placement.topologySpreadConstraints[].matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement

类型
object
属性类型描述
nodeAffinityobject
podAffinityobject
podAntiAffinityobject
tolerationsarray
topologySpreadConstraintsarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity

类型
object
属性类型描述
preferredDuringSchedulingIgnoredDuringExecutionarray
requiredDuringSchedulingIgnoredDuringExecutionobject

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
preferenceweight
属性类型描述
preferenceobject
weightinteger

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference

类型
object
属性类型描述
matchExpressionsarray
matchFieldsarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

类型
object
必填
nodeSelectorTerms
属性类型描述
nodeSelectorTermsarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]

类型
object
属性类型描述
matchExpressionsarray
matchFieldsarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity

类型
object
属性类型描述
preferredDuringSchedulingIgnoredDuringExecutionarray
requiredDuringSchedulingIgnoredDuringExecutionarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
podAffinityTermweight
属性类型描述
podAffinityTermobject
weightinteger

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity

类型
object
属性类型描述
preferredDuringSchedulingIgnoredDuringExecutionarray
requiredDuringSchedulingIgnoredDuringExecutionarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
podAffinityTermweight
属性类型描述
podAffinityTermobject
weightinteger

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

类型
object
必填
topologyKey
属性类型描述
labelSelectorobject
matchLabelKeysarray
mismatchLabelKeysarray
namespaceSelectorobject
namespacesarray
topologyKeystring

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.tolerations

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.tolerations[]

类型
object
属性类型描述
effectstring
keystring
operatorstring
tolerationSecondsinteger
valuestring

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[]

类型
object
必填
maxSkewtopologyKeywhenUnsatisfiable
属性类型描述
labelSelectorobject
matchLabelKeysarray
maxSkewinteger
minDomainsinteger
nodeAffinityPolicystring
nodeTaintsPolicystring
topologyKeystring
whenUnsatisfiablestring

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector

类型
object
属性类型描述
matchExpressionsarray
matchLabelsobject

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions[]

类型
object
必填
keyoperator
属性类型描述
keystring
operatorstring
valuesarray

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions[].values

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].labelSelector.matchLabels

类型
object

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].matchLabelKeys

类型
array

.spec.storage.storageClassDeviceSets[].preparePlacement.topologySpreadConstraints[].matchLabelKeys[]

类型
string

.spec.storage.storageClassDeviceSets[].resources

描述
ResourceRequirements describes the compute resource requirements.
类型
object
属性类型描述
claimsarray

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.

limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.storage.storageClassDeviceSets[].resources.claims

描述
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.
类型
array

.spec.storage.storageClassDeviceSets[].resources.claims[]

描述
ResourceClaim references one entry in PodSpec.ResourceClaims.
类型
object
必填
name
属性类型描述
namestring

Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.

requeststring

Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.

.spec.storage.storageClassDeviceSets[].resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.storage.storageClassDeviceSets[].resources.requests

描述
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/
类型
object

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates

描述
VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
类型
array

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[]

描述
VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
类型
object
属性类型描述
metadataObjectMeta

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

specobject

spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec

描述
spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述
accessModesarray

accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSourceobject

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.
dataSourceRefobject

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.
resourcesobject

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

selectorobject

selector is a label query over volumes to consider for binding.

storageClassNamestring

storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassNamestring

volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/

volumeModestring

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

volumeNamestring

volumeName is the binding reference to the PersistentVolume backing this claim.

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.accessModes

描述
accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
类型
array

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.accessModes[]

类型
string

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.dataSource

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.dataSourceRef

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

namespacestring

Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.resources

描述
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
类型
object
属性类型描述
limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.resources.requests

描述
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/
类型
object

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector

描述
selector is a label query over volumes to consider for binding.
类型
object
属性类型描述
matchExpressionsarray

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabelsobject

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.

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions

描述
matchExpressions is a list of label selector requirements. The requirements are ANDed.
类型
array

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions[]

描述
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
类型
object
必填
keyoperator
属性类型描述
keystring

key is the label key that the selector applies to.

operatorstring

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

valuesarray

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.

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions[].values

描述
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.
类型
array

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchExpressions[].values[]

类型
string

.spec.storage.storageClassDeviceSets[].volumeClaimTemplates[].spec.selector.matchLabels

描述
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.
类型
object

.spec.storage.store

描述
OSDStore is the backend storage type used for creating the OSDs
类型
object
属性类型描述
typestring

Type of backend storage to be used while creating OSDs. If empty, then bluestore will be used

updateStorestring

UpdateStore updates the backend store for existing OSDs. It destroys each OSD one at a time, cleans up the backing disk and prepares same OSD on that disk

.spec.storage.volumeClaimTemplates

描述
PersistentVolumeClaims to use as storage
类型
array

.spec.storage.volumeClaimTemplates[]

描述
VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
类型
object
属性类型描述
metadataObjectMeta

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

specobject

spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

.spec.storage.volumeClaimTemplates[].spec

描述
spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
类型
object
属性类型描述
accessModesarray

accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSourceobject

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.
dataSourceRefobject

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.
resourcesobject

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

selectorobject

selector is a label query over volumes to consider for binding.

storageClassNamestring

storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassNamestring

volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/

volumeModestring

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

volumeNamestring

volumeName is the binding reference to the PersistentVolume backing this claim.

.spec.storage.volumeClaimTemplates[].spec.accessModes

描述
accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
类型
array

.spec.storage.volumeClaimTemplates[].spec.accessModes[]

类型
string

.spec.storage.volumeClaimTemplates[].spec.dataSource

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

.spec.storage.volumeClaimTemplates[].spec.dataSourceRef

描述
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.
类型
object
必填
kindname
属性类型描述
apiGroupstring

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kindstring

Kind is the type of resource being referenced

namestring

Name is the name of resource being referenced

namespacestring

Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

.spec.storage.volumeClaimTemplates[].spec.resources

描述
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
类型
object
属性类型描述
limitsobject

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requestsobject

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/

.spec.storage.volumeClaimTemplates[].spec.resources.limits

描述
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
类型
object

.spec.storage.volumeClaimTemplates[].spec.resources.requests

描述
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/
类型
object

.spec.storage.volumeClaimTemplates[].spec.selector

描述
selector is a label query over volumes to consider for binding.
类型
object
属性类型描述
matchExpressionsarray

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabelsobject

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.

.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions

描述
matchExpressions is a list of label selector requirements. The requirements are ANDed.
类型
array

.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions[]

描述
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
类型
object
必填
keyoperator
属性类型描述
keystring

key is the label key that the selector applies to.

operatorstring

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

valuesarray

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.

.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions[].values

描述
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.
类型
array

.spec.storage.volumeClaimTemplates[].spec.selector.matchExpressions[].values[]

类型
string

.spec.storage.volumeClaimTemplates[].spec.selector.matchLabels

描述
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.
类型
object

.status

描述
ClusterStatus represents the status of a Ceph cluster
类型
object
属性类型描述
cephobject

CephStatus is the details health of a Ceph Cluster

cephxobject

ClusterCephxStatus defines the cephx key rotation status of various daemons on the cephCluster resource

conditionsarray
messagestring
observedGenerationinteger

ObservedGeneration is the latest generation observed by the controller.

phasestring

ConditionType represent a resource's status

statestring

ClusterState represents the state of a Ceph Cluster

storageobject

CephStorage represents flavors of Ceph Cluster Storage

versionobject

ClusterVersion represents the version of a Ceph Cluster

.status.ceph

描述
CephStatus is the details health of a Ceph Cluster
类型
object
属性类型描述
capacityobject

Capacity is the capacity information of a Ceph Cluster

detailsobject
fsidstring
healthstring
lastChangedstring
lastCheckedstring
previousHealthstring
versionsobject

CephDaemonsVersions show the current ceph version for different ceph daemons

.status.ceph.capacity

描述
Capacity is the capacity information of a Ceph Cluster
类型
object
属性类型描述
bytesAvailableinteger
bytesTotalinteger
bytesUsedinteger
lastUpdatedstring

.status.ceph.details

类型
object

.status.ceph.versions

描述
CephDaemonsVersions show the current ceph version for different ceph daemons
类型
object
属性类型描述
cephfs-mirrorobject

CephFSMirror shows CephFSMirror Ceph version

mdsobject

Mds shows Mds Ceph version

mgrobject

Mgr shows Mgr Ceph version

monobject

Mon shows Mon Ceph version

osdobject

Osd shows Osd Ceph version

overallobject

Overall shows overall Ceph version

rbd-mirrorobject

RbdMirror shows RbdMirror Ceph version

rgwobject

Rgw shows Rgw Ceph version

.status.ceph.versions.cephfs-mirror

描述
CephFSMirror shows CephFSMirror Ceph version
类型
object

.status.ceph.versions.mds

描述
Mds shows Mds Ceph version
类型
object

.status.ceph.versions.mgr

描述
Mgr shows Mgr Ceph version
类型
object

.status.ceph.versions.mon

描述
Mon shows Mon Ceph version
类型
object

.status.ceph.versions.osd

描述
Osd shows Osd Ceph version
类型
object

.status.ceph.versions.overall

描述
Overall shows overall Ceph version
类型
object

.status.ceph.versions.rbd-mirror

描述
RbdMirror shows RbdMirror Ceph version
类型
object

.status.ceph.versions.rgw

描述
Rgw shows Rgw Ceph version
类型
object

.status.cephx

描述
ClusterCephxStatus defines the cephx key rotation status of various daemons on the cephCluster resource
类型
object
属性类型描述
adminobject

Admin shows the CephX key status for the client.admin key

cephExporterobject

Ceph Exporter represents the cephx key rotation status of the ceph exporter daemon

crashCollectorobject

Crash Collector represents the cephx key rotation status of the crash collector daemon

csiobject

CSI shows the CephX key status for Ceph-CSI components.

mgrobject

Mgr represents the cephx key rotation status of the ceph manager daemon

monobject

Mon represents the CephX key status of the Monitor daemons

osdobject

OSD shows the CephX key status of of OSDs

rbdMirrorPeerobject

RBDMirrorPeer represents the cephx key rotation status of the rbd-mirror-peer user

.status.cephx.admin

描述
Admin shows the CephX key status for the client.admin key
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.cephx.cephExporter

描述
Ceph Exporter represents the cephx key rotation status of the ceph exporter daemon
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.cephx.crashCollector

描述
Crash Collector represents the cephx key rotation status of the crash collector daemon
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.cephx.csi

描述
CSI shows the CephX key status for Ceph-CSI components.
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

priorKeyCountinteger

PriorKeyCount reports the number of prior-generation CephX keys that remain active for the related component

.status.cephx.mgr

描述
Mgr represents the cephx key rotation status of the ceph manager daemon
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.cephx.mon

描述
Mon represents the CephX key status of the Monitor daemons
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.cephx.osd

描述
OSD shows the CephX key status of of OSDs
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.cephx.rbdMirrorPeer

描述
RBDMirrorPeer represents the cephx key rotation status of the `rbd-mirror-peer` user
类型
object
属性类型描述
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.conditions

类型
array

.status.conditions[]

描述
Condition represents a status condition on any Rook-Ceph Custom Resource.
类型
object
属性类型描述
lastHeartbeatTimestring
lastTransitionTimestring
messagestring
reasonstring

ConditionReason is a reason for a condition

statusstring
typestring

ConditionType represent a resource's status

.status.storage

描述
CephStorage represents flavors of Ceph Cluster Storage
类型
object
属性类型描述
deprecatedOSDsobject
deviceClassesarray
osdobject

OSDStatus represents OSD status of the ceph Cluster

.status.storage.deprecatedOSDs

类型
object

.status.storage.deviceClasses

类型
array

.status.storage.deviceClasses[]

描述
DeviceClasses represents device classes of a Ceph Cluster
类型
object
属性类型描述
namestring

.status.storage.osd

描述
OSDStatus represents OSD status of the ceph Cluster
类型
object
属性类型描述
migrationStatusobject

MigrationStatus status represents the current status of any OSD migration.

storeTypeobject

StoreType is a mapping between the OSD backend stores and number of OSDs using these stores

.status.storage.osd.migrationStatus

描述
MigrationStatus status represents the current status of any OSD migration.
类型
object
属性类型描述
pendinginteger

.status.storage.osd.storeType

描述
StoreType is a mapping between the OSD backend stores and number of OSDs using these stores
类型
object

.status.version

描述
ClusterVersion represents the version of a Ceph Cluster
类型
object
属性类型描述
imagestring
versionstring

API 端点

可用的 API 端点如下:

  • /apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters
    • DELETE: delete collection of CephCluster
    • GET: list objects of kind CephCluster
    • POST: create a new CephCluster
  • /apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}
    • DELETE: delete the specified CephCluster
    • GET: read the specified CephCluster
    • PATCH: partially update the specified CephCluster
    • PUT: replace the specified CephCluster
  • /apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}/status
    • GET: read status of the specified CephCluster
    • PATCH: partially update status of the specified CephCluster
    • PUT: replace status of the specified CephCluster

/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters

HTTP 方法
DELETE
描述
delete collection of CephCluster
HTTP 响应
HTTP 状态码响应体
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
list objects of kind CephCluster
HTTP 响应
HTTP 状态码响应体
200 - OKCephClusterList schema
401 - UnauthorizedEmpty
HTTP 方法
POST
描述
create a new CephCluster
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyCephCluster schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKCephCluster schema
201 - CreatedCephCluster schema
202 - AcceptedCephCluster schema
401 - UnauthorizedEmpty

/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}

HTTP 方法
DELETE
描述
delete the specified CephCluster
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
HTTP 响应
HTTP 状态码响应体
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
read the specified CephCluster
HTTP 响应
HTTP 状态码响应体
200 - OKCephCluster schema
401 - UnauthorizedEmpty
HTTP 方法
PATCH
描述
partially update the specified CephCluster
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP 响应
HTTP 状态码响应体
200 - OKCephCluster schema
401 - UnauthorizedEmpty
HTTP 方法
PUT
描述
replace the specified CephCluster
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyCephCluster schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKCephCluster schema
201 - CreatedCephCluster schema
401 - UnauthorizedEmpty

/apis/ceph.rook.io/v1/namespaces/{namespace}/cephclusters/{name}/status

HTTP 方法
GET
描述
read status of the specified CephCluster
HTTP 响应
HTTP 状态码响应体
200 - OKCephCluster schema
401 - UnauthorizedEmpty
HTTP 方法
PATCH
描述
partially update status of the specified CephCluster
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP 响应
HTTP 状态码响应体
200 - OKCephCluster schema
401 - UnauthorizedEmpty
HTTP 方法
PUT
描述
replace status of the specified CephCluster
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyCephCluster schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKCephCluster schema
201 - CreatedCephCluster schema
401 - UnauthorizedEmpty