forked from rook/rook
Ceph Tentacle v20 comes with erasure coding optimizations that must be enabled explicitly with a setting on the pool. Add this setting to the docs and examples. Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
98 lines
4.0 KiB
YAML
98 lines
4.0 KiB
YAML
#################################################################################################################
|
|
# Create an object store with settings for erasure coding for the data pool. A minimum of 3 nodes with OSDs are
|
|
# required in this example since failureDomain is host.
|
|
# kubectl create -f object-ec.yaml
|
|
#################################################################################################################
|
|
|
|
apiVersion: ceph.rook.io/v1
|
|
kind: CephObjectStore
|
|
metadata:
|
|
name: my-store
|
|
namespace: rook-ceph # namespace:cluster
|
|
spec:
|
|
# The pool spec used to create the metadata pools. Must use replication.
|
|
metadataPool:
|
|
failureDomain: host
|
|
replicated:
|
|
size: 3
|
|
# Disallow setting pool with replica 1, this could lead to data loss without recovery.
|
|
# Make sure you're *ABSOLUTELY CERTAIN* that is what you want
|
|
requireSafeReplicaSize: true
|
|
parameters:
|
|
# Inline compression mode for the data pool
|
|
# Further reference: https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#inline-compression
|
|
compression_mode: none
|
|
# gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity of a given pool
|
|
# for more info: https://docs.ceph.com/docs/master/rados/operations/placement-groups/#specifying-expected-pool-size
|
|
#target_size_ratio: ".5"
|
|
# The pool spec used to create the data pool. Can use replication or erasure coding.
|
|
dataPool:
|
|
failureDomain: host
|
|
erasureCoded:
|
|
dataChunks: 2
|
|
codingChunks: 1
|
|
parameters:
|
|
# RGW data pools are expected to be large, so mark them as "bulk" so that the PG autoscaler will treat them accordingly
|
|
# (see https://docs.ceph.com/en/reef/rados/operations/placement-groups/)
|
|
# In short, it will precreate a full number of PGs, so that the cluster works with optimal performance from day 1.
|
|
bulk: "true"
|
|
# Inline compression mode for the data pool
|
|
# Further reference: https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#inline-compression
|
|
compression_mode: none
|
|
# gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity of a given pool
|
|
# for more info: https://docs.ceph.com/docs/master/rados/operations/placement-groups/#specifying-expected-pool-size
|
|
#target_size_ratio: ".5"
|
|
# Ceph Tentacle v20 has optimizations that need to be explicitly enabled
|
|
# allow_ec_optimizations: "true"
|
|
|
|
# Whether to preserve metadata and data pools on object store deletion
|
|
preservePoolsOnDelete: true
|
|
# The gateway service configuration
|
|
gateway:
|
|
# A reference to the secret in the rook namespace where the ssl certificate is stored
|
|
sslCertificateRef:
|
|
# The port that RGW pods will listen on (http)
|
|
port: 80
|
|
# The port that RGW pods will listen on (https). An ssl certificate is required.
|
|
# securePort: 443
|
|
# The number of pods in the rgw deployment
|
|
instances: 1
|
|
# The affinity rules to apply to the rgw deployment or daemonset.
|
|
placement:
|
|
# nodeAffinity:
|
|
# requiredDuringSchedulingIgnoredDuringExecution:
|
|
# nodeSelectorTerms:
|
|
# - matchExpressions:
|
|
# - key: role
|
|
# operator: In
|
|
# values:
|
|
# - rgw-node
|
|
# tolerations:
|
|
# - key: rgw-node
|
|
# operator: Exists
|
|
# podAffinity:
|
|
# podAntiAffinity:
|
|
# A key/value list of annotations
|
|
annotations:
|
|
# key: value
|
|
# A key/value list of labels
|
|
labels:
|
|
# key: value
|
|
resources:
|
|
# The requests and limits set here, allow the object store gateway Pod(s) to use half of one CPU core and 1 gigabyte of memory
|
|
# limits:
|
|
# memory: "1024Mi"
|
|
# requests:
|
|
# cpu: "500m"
|
|
# memory: "1024Mi"
|
|
# priorityClassName: my-priority-class
|
|
#zone:
|
|
#name: zone-a
|
|
# service endpoint healthcheck
|
|
healthCheck:
|
|
# Configure the pod probes for the rgw daemon
|
|
startupProbe:
|
|
disabled: false
|
|
readinessProbe:
|
|
disabled: false
|