Kind
Cephobjectzone
Group
ceph.rook.io
Version
v1
apiVersion: ceph.rook.io/v1 kind: Cephobjectzone metadata: name: example
View raw schema
apiVersion string
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
kind string
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
metadata object required
spec object required
ObjectZoneSpec represent the spec of an ObjectZone
customEndpoints []string
If this zone cannot be accessed from other peer Ceph clusters via the ClusterIP Service endpoint created by Rook, you must set this to the externally reachable endpoint(s). You may include the port in the definition. For example: "https://my-object-store.my-domain.net:443". In many cases, you should set this to the endpoint of the ingress resource that makes the CephObjectStore associated with this CephObjectStoreZone reachable to peer clusters. The list can have one or more endpoints pointing to different RGW servers in the zone. If a CephObjectStore endpoint is omitted from this list, that object store's gateways will not receive multisite replication data (see CephObjectStore.spec.gateway.disableMultisiteSyncTraffic).
dataPool object
The data pool settings
application string
The application name to set on the pool. Only expected to be set for rgw pools.
compressionMode string
DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters
enum: none, passive, aggressive, force,
crushRoot string
The root of the crush hierarchy utilized by the pool
deviceClass string
The device class the OSD should set to for use in the pool
enableCrushUpdates boolean
Allow rook operator to change the pool CRUSH tunables once the pool is created
enableRBDStats boolean
EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
erasureCoded object
The erasure code settings
algorithm string
The algorithm for erasure coding. If absent, defaults to the plugin specified in osd_pool_default_erasure_code_profile.
enum: isa, jerasure
codingChunks integer required
Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type). This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
minimum: 0
dataChunks integer required
Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type). The number of chunks required to recover an object when any single OSD is lost is the same as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
minimum: 0
failureDomain string
The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map
mirroring object
The mirroring settings
enabled boolean
Enabled whether this pool is mirrored or not
mode string
Mode is the mirroring mode: pool, image or init-only.
enum: pool, image, init-only
peers object
Peers represents the peers spec
secretNames []string
SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
snapshotSchedules []object
SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
interval string
Interval represent the periodicity of the snapshot.
path string
Path is the path to snapshot, only valid for CephFS
startTime string
StartTime indicates when to start the snapshot
parameters object
Parameters is a list of properties to enable on a given pool
quotas object
The quota settings
maxBytes integer
MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
maxObjects integer
MaxObjects represents the quota in objects
format: int64
maxSize string
MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
replicated object
The replication settings
hybridStorage object
HybridStorage represents hybrid storage tier settings
primaryDeviceClass string required
PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
secondaryDeviceClass string required
SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
replicasPerFailureDomain integer
ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
requireSafeReplicaSize boolean
RequireSafeReplicaSize if false allows you to set replica 1
size integer required
Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
minimum: 0
subFailureDomain string
SubFailureDomain the name of the sub-failure domain
targetSizeRatio number
TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
minimum: 0
statusCheck object
The mirroring statusCheck
mirror object
HealthCheckSpec represents the health check of an object store bucket
disabled boolean
interval string
Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
timeout string
metadataPool object
The metadata pool settings
application string
The application name to set on the pool. Only expected to be set for rgw pools.
compressionMode string
DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters
enum: none, passive, aggressive, force,
crushRoot string
The root of the crush hierarchy utilized by the pool
deviceClass string
The device class the OSD should set to for use in the pool
enableCrushUpdates boolean
Allow rook operator to change the pool CRUSH tunables once the pool is created
enableRBDStats boolean
EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
erasureCoded object
The erasure code settings
algorithm string
The algorithm for erasure coding. If absent, defaults to the plugin specified in osd_pool_default_erasure_code_profile.
enum: isa, jerasure
codingChunks integer required
Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type). This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
minimum: 0
dataChunks integer required
Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type). The number of chunks required to recover an object when any single OSD is lost is the same as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
minimum: 0
failureDomain string
The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map
mirroring object
The mirroring settings
enabled boolean
Enabled whether this pool is mirrored or not
mode string
Mode is the mirroring mode: pool, image or init-only.
enum: pool, image, init-only
peers object
Peers represents the peers spec
secretNames []string
SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
snapshotSchedules []object
SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
interval string
Interval represent the periodicity of the snapshot.
path string
Path is the path to snapshot, only valid for CephFS
startTime string
StartTime indicates when to start the snapshot
parameters object
Parameters is a list of properties to enable on a given pool
quotas object
The quota settings
maxBytes integer
MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
maxObjects integer
MaxObjects represents the quota in objects
format: int64
maxSize string
MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
replicated object
The replication settings
hybridStorage object
HybridStorage represents hybrid storage tier settings
primaryDeviceClass string required
PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
secondaryDeviceClass string required
SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
replicasPerFailureDomain integer
ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
requireSafeReplicaSize boolean
RequireSafeReplicaSize if false allows you to set replica 1
size integer required
Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
minimum: 0
subFailureDomain string
SubFailureDomain the name of the sub-failure domain
targetSizeRatio number
TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
minimum: 0
statusCheck object
The mirroring statusCheck
mirror object
HealthCheckSpec represents the health check of an object store bucket
disabled boolean
interval string
Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
timeout string
preservePoolsOnDelete boolean
Preserve pools on object zone deletion
sharedPools object
The pool information when configuring RADOS namespaces in existing pools.
dataPoolName string
The data pool used for creating RADOS namespaces in the object store
metadataPoolName string
The metadata pool used for creating RADOS namespaces in the object store
poolPlacements []object
PoolPlacements control which Pools are associated with a particular RGW bucket. Once PoolPlacements are defined, RGW client will be able to associate pool with ObjectStore bucket by providing "<LocationConstraint>" during s3 bucket creation or "X-Storage-Policy" header during swift container creation. See: https://docs.ceph.com/en/latest/radosgw/placement/#placement-targets PoolPlacement with name: "default" will be used as a default pool if no option is provided during bucket creation. If default placement is not provided, spec.sharedPools.dataPoolName and spec.sharedPools.MetadataPoolName will be used as default pools. If spec.sharedPools are also empty, then RGW pools (spec.dataPool and spec.metadataPool) will be used as defaults.
dataNonECPoolName string
The data pool used to store ObjectStore data that cannot use erasure coding (ex: multi-part uploads). If dataPoolName is not erasure coded, then there is no need for dataNonECPoolName. WARNING: Do not change this field after creation. Pool names are used in RADOS namespaces and renaming leads to data loss.
dataPoolName string required
The data pool used to store ObjectStore objects data. WARNING: Do not change this field after creation. Pool names are used in RADOS namespaces and renaming leads to data loss.
minLength: 1
default boolean
Sets given placement as default. Only one placement in the list can be marked as default. Default is false.
metadataPoolName string required
The metadata pool used to store ObjectStore bucket index. WARNING: Do not change this field after creation. Pool names are used in RADOS namespaces and renaming leads to data loss.
minLength: 1
name string required
Pool placement name. Name can be arbitrary. Placement with name "default" will be used as default.
pattern: ^[a-zA-Z0-9._/-]+$
minLength: 1
storageClasses []object
StorageClasses can be selected by user to override dataPoolName during object creation. Each placement has default STANDARD StorageClass pointing to dataPoolName. This list allows defining additional StorageClasses on top of default STANDARD storage class.
maxItems: 10
dataPoolName string required
DataPoolName is the data pool used to store ObjectStore objects data. WARNING: Do not change this field after creation. Pool names are used in RADOS namespaces and renaming leads to data loss.
minLength: 1
name string required
Name is the StorageClass name. Ceph allows arbitrary name for StorageClasses, however most clients/libs insist on AWS names so it is recommended to use one of the valid x-amz-storage-class values for better compatibility: REDUCED_REDUNDANCY | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | GLACIER | DEEP_ARCHIVE | OUTPOSTS | GLACIER_IR | SNOW | EXPRESS_ONEZONE See AWS docs: https://aws.amazon.com/de/s3/storage-classes/
pattern: ^[a-zA-Z0-9._/-]+$
minLength: 1
preserveRadosNamespaceDataOnDelete boolean
Whether the RADOS namespaces should be preserved on deletion of the object store
zoneGroup string required
The name of the zone group the zone is a member of.
status object
Status represents the status of an object
conditions []object
lastHeartbeatTime string
format: date-time
lastTransitionTime string
format: date-time
message string
reason string
ConditionReason is a reason for a condition
status string
type string
ConditionType represent a resource's status
observedGeneration integer
ObservedGeneration is the latest generation observed by the controller.
format: int64
phase string
Copied!