131 lines
3.9 KiB
YAML
131 lines
3.9 KiB
YAML
#################################################################################################################
|
|
# 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
|