Files
my-rook-config/deploy/examples/cluster-stretched-aws.yaml
T
subhamkrai 0e395f0a67 manifest: update default ceph version to v19.2.1
with ceph release v19.2.1 updating it to be dafult version
in rook.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-02-20 23:24:54 +05:30

158 lines
5.7 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.
# Since OSDs are portable, the default is "osd", which means that you would need at least two nodes per zone.
# If the subFailureDomain is set to "host", the OSDs should not be portable.
# 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: osd
zones:
- name: us-east-2a
arbiter: true
- name: us-east-2b
- name: us-east-2c
volumeClaimTemplate:
spec:
storageClassName: gp2-csi
resources:
requests:
storage: 10Gi
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: false
useAllDevices: false
deviceFilter: ""
storageClassDeviceSets:
- name: set1
# The number of OSDs to create from this device set
count: 2
portable: true
placement:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- us-east-2b
preparePlacement:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- us-east-2b
volumeClaimTemplates:
- metadata:
name: data
spec:
resources:
requests:
storage: 10Gi
storageClassName: gp2-csi
volumeMode: Block
accessModes:
- ReadWriteOnce
- name: set2
# The number of OSDs to create from this device set
count: 2
portable: true
placement:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- us-east-2c
preparePlacement:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- us-east-2c
volumeClaimTemplates:
- metadata:
name: data
spec:
resources:
requests:
storage: 10Gi
storageClassName: gp2-csi
volumeMode: Block
accessModes:
- ReadWriteOnce
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
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: osd