forked from rook/rook
As per discussion, proposing a new layout for the charts/yaml/olm files.
./deploy
├── charts
│ ├── rook-ceph
│ │ └── templates
│ └── rook-ceph-cluster
│ └── templates
├── examples
│ ├── csi
│ │ ├── cephfs
│ │ └── rbd
│ ├── flex
│ ├── monitoring
│ ├── pre-k8s-1.16
└── olm
└── assemble
Signed-off-by: Sébastien Han <seb@redhat.com>
75 lines
3.2 KiB
YAML
75 lines
3.2 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:
|
|
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.github.io/docs/rook/latest/ceph-cluster-crd.html#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:
|
|
# Stretch cluster support upstream is only available starting in Ceph Pacific
|
|
image: quay.io/ceph/ceph:v16.2.6
|
|
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 master node.
|
|
arbiter:
|
|
tolerations:
|
|
- key: node-role.kubernetes.io/master
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
osd:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: topology.kubernetes.io/zone
|
|
operator: In
|
|
values:
|
|
- b
|
|
- c
|
|
disruptionManagement:
|
|
managePodBudgets: true
|