forked from rook/rook
Remove long-deprecated topologyKey beta label from examples: failure-domain.beta.kubernetes.io/zone Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
111 lines
4.3 KiB
YAML
111 lines
4.3 KiB
YAML
#################################################################################################################
|
|
# 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
|
|
kind: CephFilesystem
|
|
metadata:
|
|
name: myfs-ec
|
|
namespace: rook-ceph # namespace:cluster
|
|
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:
|
|
# 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
|
|
# You need at least three `bluestore` OSDs on different nodes for this config to work
|
|
- name: erasurecoded
|
|
erasureCoded:
|
|
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
|
|
# 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:
|
|
# nodeAffinity:
|
|
# requiredDuringSchedulingIgnoredDuringExecution:
|
|
# nodeSelectorTerms:
|
|
# - matchExpressions:
|
|
# - key: role
|
|
# operator: In
|
|
# values:
|
|
# - mds-node
|
|
# topologySpreadConstraints:
|
|
# tolerations:
|
|
# - key: mds-node
|
|
# operator: Exists
|
|
# podAffinity:
|
|
podAntiAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
- labelSelector:
|
|
matchExpressions:
|
|
- key: app
|
|
operator: In
|
|
values:
|
|
- rook-ceph-mds
|
|
# topologyKey: kubernetes.io/hostname will place MDS across different hosts
|
|
topologyKey: kubernetes.io/hostname
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchExpressions:
|
|
- key: app
|
|
operator: In
|
|
values:
|
|
- rook-ceph-mds
|
|
# topologyKey: */zone can be used to spread MDS across different AZ
|
|
topologyKey: topology.kubernetes.io/zone
|
|
# A key/value list of annotations
|
|
annotations:
|
|
# key: value
|
|
# A key/value list of labels
|
|
labels:
|
|
# key: value
|
|
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:
|
|
# memory: "1024Mi"
|
|
# requests:
|
|
# cpu: "500m"
|
|
# memory: "1024Mi"
|
|
# priorityClassName: my-priority-class
|
|
---
|
|
# create default csi subvolume group
|
|
apiVersion: ceph.rook.io/v1
|
|
kind: CephFilesystemSubVolumeGroup
|
|
metadata:
|
|
name: myfs-csi # lets keep the svg crd name same as `filesystem name + csi` for the default csi svg
|
|
namespace: rook-ceph # namespace:cluster
|
|
spec:
|
|
# The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR.
|
|
name: csi
|
|
# filesystemName is the metadata name of the CephFilesystem CR where the subvolume group will be created
|
|
filesystemName: myfs
|
|
# reference https://docs.ceph.com/en/latest/cephfs/fs-volumes/#pinning-subvolumes-and-subvolume-groups
|
|
# only one out of (export, distributed, random) can be set at a time
|
|
# by default pinning is set with value: distributed=1
|
|
# for disabling default values set (distributed=0)
|
|
pinning:
|
|
distributed: 1 # distributed=<0, 1> (disabled=0)
|
|
# export: # export=<0-256> (disabled=-1)
|
|
# random: # random=[0.0, 1.0](disabled=0.0)
|