forked from rook/rook
with ceph release v19.2.1 updating it to be dafult version in rook. Signed-off-by: subhamkrai <srai@redhat.com>
96 lines
3.8 KiB
YAML
96 lines
3.8 KiB
YAML
#################################################################################################################
|
|
# Define the settings for the rook-ceph cluster with common settings for a production cluster.
|
|
# All nodes with available raw devices will be used for the Ceph cluster. At least three nodes are required
|
|
# in this example. See the documentation for more details on storage settings available.
|
|
|
|
# For example, to create the cluster:
|
|
# kubectl create -f crds.yaml -f common.yaml -f operator.yaml
|
|
# kubectl create -f cluster-stretched.yaml
|
|
#################################################################################################################
|
|
|
|
apiVersion: ceph.rook.io/v1
|
|
kind: CephCluster
|
|
metadata:
|
|
name: rook-ceph
|
|
namespace: rook-ceph # namespace:cluster
|
|
spec:
|
|
# If there are multiple clusters, the directory must be unique for each cluster.
|
|
dataDirHostPath: /var/lib/rook
|
|
mon:
|
|
# Five mons must be created for stretch mode
|
|
count: 5
|
|
allowMultiplePerNode: false
|
|
stretchCluster:
|
|
# The ceph failure domain will be extracted from the label, which by default is the zone. The nodes running OSDs must have
|
|
# this label in order for the OSDs to be configured in the correct topology. For topology labels, see
|
|
# https://rook.io/docs/rook/latest/CRDs/ceph-cluster-crd/#osd-topology.
|
|
failureDomainLabel: topology.kubernetes.io/zone
|
|
# The sub failure domain is the secondary level at which the data will be placed to maintain data durability and availability.
|
|
# The default is "host", which means that each OSD must be on a different node and you would need at least two nodes per zone.
|
|
# If the subFailureDomain is set to "osd", the OSDs would be allowed anywhere in the same zone including on the same node.
|
|
# If set to "rack" or some other intermediate failure domain, those labels would also need to be set on the nodes where
|
|
# the osds are started.
|
|
subFailureDomain: host
|
|
zones:
|
|
- name: a
|
|
arbiter: true
|
|
- name: b
|
|
- name: c
|
|
mgr:
|
|
count: 2
|
|
cephVersion:
|
|
image: quay.io/ceph/ceph:v19.2.1
|
|
allowUnsupported: true
|
|
skipUpgradeChecks: false
|
|
continueUpgradeAfterChecksEvenIfNotHealthy: false
|
|
dashboard:
|
|
enabled: true
|
|
ssl: true
|
|
storage:
|
|
useAllNodes: true
|
|
useAllDevices: true
|
|
deviceFilter: ""
|
|
# OSD placement is expected to include the non-arbiter zones
|
|
placement:
|
|
# The arbiter mon can have its own placement settings that will be different from the mons.
|
|
# If the arbiter section is not included in the placement, the arbiter will use the same placement
|
|
# settings as other mons. In this example, the arbiter has a toleration to run on a control-plane node.
|
|
arbiter:
|
|
tolerations:
|
|
# kubernetes v1.24 clusters would need the taint `node-role.kubernetes.io/control-plane`
|
|
# configuration. For earlier versions you may use `node-role.kubernetes.io/master` if
|
|
# available in your cluster.
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
osd:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: topology.kubernetes.io/zone
|
|
operator: In
|
|
values:
|
|
- b
|
|
- c
|
|
priorityClassNames:
|
|
mon: system-node-critical
|
|
osd: system-node-critical
|
|
mgr: system-cluster-critical
|
|
disruptionManagement:
|
|
managePodBudgets: true
|
|
---
|
|
apiVersion: ceph.rook.io/v1
|
|
kind: CephBlockPool
|
|
metadata:
|
|
name: builtin-mgr
|
|
namespace: rook-ceph # namespace:cluster
|
|
spec:
|
|
name: .mgr
|
|
failureDomain: zone
|
|
replicated:
|
|
size: 4
|
|
requireSafeReplicaSize: true
|
|
replicasPerFailureDomain: 2
|
|
subFailureDomain: host
|