Files
my-rook-config/deploy/examples/filesystem-ec.yaml
T

93 lines
3.6 KiB
YAML
Raw Normal View History

#################################################################################################################
# Create a filesystem with settings for erasure-coding instead of replication. A minimum of three nodes with OSDs
# are required in this example since the default failureDomain is host.
# kubectl create -f filesystem-ec.yaml
#################################################################################################################
apiVersion: ceph.rook.io/v1
2018-12-03 23:48:40 -07:00
kind: CephFilesystem
2018-08-16 11:36:21 +02:00
metadata:
name: myfs-ec
namespace: rook-ceph # namespace:cluster
2018-08-16 11:36:21 +02:00
spec:
# The metadata pool spec
metadataPool:
replicated:
# You need at least three OSDs on different nodes for this config to work
size: 3
# The list of data pool specs
dataPools:
2021-08-02 11:06:07 +05:30
# For erasure coded pools, we have to create a replicated pool as the default
# data pool and an erasure-coded pool as a secondary pool.
- replicated:
size: 3
2018-08-16 11:36:21 +02:00
# You need at least three `bluestore` OSDs on different nodes for this config to work
- name: erasurecoded
erasureCoded:
2018-08-16 11:36:21 +02:00
dataChunks: 2
codingChunks: 1
# Inline compression mode for the data pool
parameters:
compression_mode: none
# Whether to preserve filesystem after CephFilesystem CRD deletion
preserveFilesystemOnDelete: true
2018-08-16 11:36:21 +02:00
# The metadata service (mds) configuration
metadataServer:
# The number of active MDS instances
activeCount: 1
# Whether each active MDS instance will have an active standby with a warm metadata cache for faster failover.
# If false, standbys will be available, but will not have a warm cache.
activeStandby: true
# The affinity rules to apply to the mds deployment
placement:
2021-03-08 12:18:21 +05:30
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: role
# operator: In
# values:
# - mds-node
# topologySpreadConstraints:
# tolerations:
# - key: mds-node
# operator: Exists
# podAffinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
2019-08-21 13:46:42 +05:30
- labelSelector:
matchExpressions:
2021-03-08 12:18:21 +05:30
- key: app
operator: In
values:
- rook-ceph-mds
2019-08-21 13:46:42 +05:30
# topologyKey: kubernetes.io/hostname will place MDS across different hosts
topologyKey: kubernetes.io/hostname
2021-03-08 12:18:21 +05:30
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
2021-03-08 12:18:21 +05:30
- rook-ceph-mds
# topologyKey: */zone can be used to spread MDS across different AZ
# Use <topologyKey: failure-domain.beta.kubernetes.io/zone> in k8s cluster if your cluster is v1.16 or lower
# Use <topologyKey: topology.kubernetes.io/zone> in k8s cluster is v1.17 or upper
topologyKey: topology.kubernetes.io/zone
# A key/value list of annotations
annotations:
# key: value
2020-08-14 14:29:02 +02:00
# A key/value list of labels
labels:
# key: value
2018-08-16 11:36:21 +02:00
resources:
# The requests and limits set here, allow the filesystem MDS Pod(s) to use half of one CPU core and 1 gigabyte of memory
# limits:
# cpu: "500m"
# memory: "1024Mi"
# requests:
# cpu: "500m"
# memory: "1024Mi"
2019-08-04 15:40:29 -05:00
# priorityClassName: my-priority-class