################################################################################################################# # Define the settings for the rook-ceph cluster with common settings for a production cluster. # Selected nodes with selected 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-multizone.yaml ################################################################################################################# apiVersion: ceph.rook.io/v1 kind: CephCluster metadata: name: rook-ceph namespace: rook-ceph # namespace:cluster spec: dataDirHostPath: /var/lib/rook mon: count: 3 allowMultiplePerNode: false failureDomainLabel: topology.kubernetes.io/zone zones: - name: dco - name: sto3 - name: sto4 mgr: count: 2 allowMultiplePerNode: false modules: - name: rook enabled: true - name: pg_autoscaler enabled: true cephVersion: image: quay.io/ceph/ceph:v18.2.4 allowUnsupported: false skipUpgradeChecks: false continueUpgradeAfterChecksEvenIfNotHealthy: false waitTimeoutForHealthyOSDInMinutes: 10 dashboard: enabled: true ssl: true storage: useAllNodes: false nodes: - name: k8sw1 - name: k8sw2 - name: k8sw3 - name: k8sw4 - name: k8sw5 - name: k8sw6 useAllDevices: false devices: - name: "/dev/rookvg/rookvol1" - name: "/dev/rookvg/rookvol2" - name: "/dev/rookvg/rookvol3" deviceFilter: "" placement: osd: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: topology.kubernetes.io/zone operator: In values: - dco - sto3 - sto4 mgr: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: topology.kubernetes.io/zone operator: In values: - dco - sto3 - sto4 priorityClassNames: mon: system-node-critical osd: system-node-critical mgr: system-cluster-critical disruptionManagement: managePodBudgets: true csi: readAffinity: # Enable read affinity to enable clients to optimize reads from an OSD in the same topology. # Enabling the read affinity may cause the OSDs to consume some extra memory. # For more details see this doc: # https://rook.io/docs/rook/latest/Storage-Configuration/Ceph-CSI/ceph-csi-drivers/#enable-read-affinity-for-rbd-volumes enabled: false # cephfs driver specific settings. cephfs: # Set CephFS Kernel mount options to use https://docs.ceph.com/en/latest/man/8/mount.ceph/#options. # kernelMountOptions: "" # Set CephFS Fuse mount options to use https://docs.ceph.com/en/quincy/man/8/ceph-fuse/#options. # fuseMountOptions: "" # healthChecks # Valid values for daemons are 'mon', 'osd', 'status' healthCheck: daemonHealth: mon: disabled: false interval: 45s osd: disabled: false interval: 60s status: disabled: false interval: 60s # Change pod liveness probe timing or threshold values. Works for all mon,mgr,osd daemons. livenessProbe: mon: disabled: false mgr: disabled: false osd: disabled: false # Change pod startup probe timing or threshold values. Works for all mon,mgr,osd daemons. startupProbe: mon: disabled: false mgr: disabled: false osd: disabled: false