forked from rook/rook
``` ReadWriteOnceWithFSType: Indicates that volumes will be examined to determine if volume ownership and permissions should be modified to match the pod's security policy. Changes will only occur if the fsType is defined and the persistent volume's accessModes contains ReadWriteOnce. ``` In between considering we are giving 0777 permission on nodestage of cephfs shares, we defaulted to NONE. However giving worldwide permission to the volume is not the right thing and it has been fixed in cephfs via https://github.com/ceph/ceph-csi/pull/2847 This commit brings it back to the value which is also in parity with RBD driver. Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
572 lines
22 KiB
YAML
572 lines
22 KiB
YAML
#################################################################################################################
|
|
# Create the rook operator and necessary security context constraints for running
|
|
# Rook in an OpenShift cluster.
|
|
# For example, to create the rook-ceph cluster:
|
|
# oc create -f crds.yaml -f common.yaml -f operator-openshift.yaml
|
|
# oc create -f cluster.yaml
|
|
#################################################################################################################
|
|
# scc for the Rook and Ceph daemons
|
|
kind: SecurityContextConstraints
|
|
apiVersion: security.openshift.io/v1
|
|
metadata:
|
|
name: rook-ceph
|
|
allowPrivilegedContainer: true
|
|
allowHostDirVolumePlugin: true
|
|
allowHostPID: false
|
|
# set to true if running rook with host networking enabled
|
|
allowHostNetwork: false
|
|
# set to true if running rook with the provider as host
|
|
allowHostPorts: false
|
|
priority:
|
|
allowedCapabilities: ["MKNOD"]
|
|
allowHostIPC: true
|
|
readOnlyRootFilesystem: false
|
|
requiredDropCapabilities: []
|
|
defaultAddCapabilities: []
|
|
runAsUser:
|
|
type: RunAsAny
|
|
seLinuxContext:
|
|
type: MustRunAs
|
|
fsGroup:
|
|
type: MustRunAs
|
|
supplementalGroups:
|
|
type: RunAsAny
|
|
volumes:
|
|
- configMap
|
|
- downwardAPI
|
|
- emptyDir
|
|
- hostPath
|
|
- persistentVolumeClaim
|
|
- projected
|
|
- secret
|
|
users:
|
|
# A user needs to be added for each rook service account.
|
|
# This assumes running in the default sample "rook-ceph" namespace.
|
|
# If other namespaces or service accounts are configured, they need to be updated here.
|
|
- system:serviceaccount:rook-ceph:rook-ceph-system # serviceaccount:namespace:operator
|
|
- system:serviceaccount:rook-ceph:default # serviceaccount:namespace:cluster
|
|
- system:serviceaccount:rook-ceph:rook-ceph-mgr # serviceaccount:namespace:cluster
|
|
- system:serviceaccount:rook-ceph:rook-ceph-osd # serviceaccount:namespace:cluster
|
|
---
|
|
# scc for the CSI driver
|
|
kind: SecurityContextConstraints
|
|
apiVersion: security.openshift.io/v1
|
|
metadata:
|
|
name: rook-ceph-csi
|
|
# To allow running privilegedContainers
|
|
allowPrivilegedContainer: true
|
|
# CSI daemonset pod needs hostnetworking
|
|
allowHostNetwork: true
|
|
# This need to be set to true as we use HostPath
|
|
allowHostDirVolumePlugin: true
|
|
priority:
|
|
# SYS_ADMIN is needed for rbd to execture rbd map command
|
|
allowedCapabilities: ["SYS_ADMIN"]
|
|
# Needed as we run liveness container on daemonset pods
|
|
allowHostPorts: true
|
|
# Needed as we are setting this in RBD plugin pod
|
|
allowHostPID: true
|
|
# Required for encryption
|
|
allowHostIPC: true
|
|
# Set to false as we write to RootFilesystem inside csi containers
|
|
readOnlyRootFilesystem: false
|
|
runAsUser:
|
|
type: RunAsAny
|
|
seLinuxContext:
|
|
type: RunAsAny
|
|
fsGroup:
|
|
type: RunAsAny
|
|
supplementalGroups:
|
|
type: RunAsAny
|
|
# The type of volumes which are mounted to csi pods
|
|
volumes:
|
|
- configMap
|
|
- projected
|
|
- emptyDir
|
|
- hostPath
|
|
users:
|
|
# A user needs to be added for each rook service account.
|
|
# This assumes running in the default sample "rook-ceph" namespace.
|
|
# If other namespaces or service accounts are configured, they need to be updated here.
|
|
- system:serviceaccount:rook-ceph:rook-csi-rbd-plugin-sa # serviceaccount:namespace:operator
|
|
- system:serviceaccount:rook-ceph:rook-csi-rbd-provisioner-sa # serviceaccount:namespace:operator
|
|
- system:serviceaccount:rook-ceph:rook-csi-cephfs-plugin-sa # serviceaccount:namespace:operator
|
|
- system:serviceaccount:rook-ceph:rook-csi-cephfs-provisioner-sa # serviceaccount:namespace:operator
|
|
---
|
|
# Rook Ceph Operator Config
|
|
# Use this ConfigMap to override operator configurations
|
|
# Precedence will be given to this config in case Env Var also exists for the same
|
|
#
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
metadata:
|
|
name: rook-ceph-operator-config
|
|
# should be in the namespace of the operator
|
|
namespace: rook-ceph # namespace:operator
|
|
data:
|
|
# The logging level for the operator: ERROR | WARNING | INFO | DEBUG
|
|
ROOK_LOG_LEVEL: "INFO"
|
|
|
|
# Enable the CSI driver.
|
|
# To run the non-default version of the CSI driver, see the override-able image properties in operator.yaml
|
|
ROOK_CSI_ENABLE_CEPHFS: "true"
|
|
# Enable the default version of the CSI RBD driver. To start another version of the CSI driver, see image properties below.
|
|
ROOK_CSI_ENABLE_RBD: "true"
|
|
ROOK_CSI_ENABLE_GRPC_METRICS: "false"
|
|
|
|
# Set to true to enable host networking for CSI CephFS and RBD nodeplugins. This may be necessary
|
|
# in some network configurations where the SDN does not provide access to an external cluster or
|
|
# there is significant drop in read/write performance.
|
|
# CSI_ENABLE_HOST_NETWORK: "true"
|
|
|
|
# Set logging level for csi containers.
|
|
# Supported values from 0 to 5. 0 for general useful logs, 5 for trace level verbosity.
|
|
# CSI_LOG_LEVEL: "0"
|
|
|
|
# Set replicas for csi provisioner deployment.
|
|
CSI_PROVISIONER_REPLICAS: "2"
|
|
|
|
# OMAP generator generates the omap mapping between the PV name and the RBD image
|
|
# which helps CSI to identify the rbd images for CSI operations.
|
|
# CSI_ENABLE_OMAP_GENERATOR need to be enabled when we are using rbd mirroring feature.
|
|
# By default OMAP generator is disabled and when enabled it willbe deployed as a
|
|
# sidecar with CSI provisioner pod, to enable set it to true.
|
|
# CSI_ENABLE_OMAP_GENERATOR: "true"
|
|
|
|
# set to false to disable deployment of snapshotter container in CephFS provisioner pod.
|
|
CSI_ENABLE_CEPHFS_SNAPSHOTTER: "true"
|
|
|
|
# set to false to disable deployment of snapshotter container in RBD provisioner pod.
|
|
CSI_ENABLE_RBD_SNAPSHOTTER: "true"
|
|
|
|
# Enable Ceph Kernel clients on kernel < 4.17 which support quotas for Cephfs
|
|
# If you disable the kernel client, your application may be disrupted during upgrade.
|
|
# See the upgrade guide: https://rook.io/docs/rook/latest/ceph-upgrade.html
|
|
CSI_FORCE_CEPHFS_KERNEL_CLIENT: "true"
|
|
|
|
# (Optional) policy for modifying a volume's ownership or permissions when the RBD PVC is being mounted.
|
|
# supported values are documented at https://kubernetes-csi.github.io/docs/support-fsgroup.html
|
|
CSI_RBD_FSGROUPPOLICY: "ReadWriteOnceWithFSType"
|
|
|
|
# (Optional) policy for modifying a volume's ownership or permissions when the CephFS PVC is being mounted.
|
|
# supported values are documented at https://kubernetes-csi.github.io/docs/support-fsgroup.html
|
|
CSI_CEPHFS_FSGROUPPOLICY: "ReadWriteOnceWithFSType"
|
|
|
|
# (Optional) Allow starting unsupported ceph-csi image
|
|
ROOK_CSI_ALLOW_UNSUPPORTED_VERSION: "false"
|
|
|
|
# (Optional) control the host mount of /etc/selinux for csi plugin pods.
|
|
CSI_PLUGIN_ENABLE_SELINUX_HOST_MOUNT: "false"
|
|
|
|
# The default version of CSI supported by Rook will be started. To change the version
|
|
# of the CSI driver to something other than what is officially supported, change
|
|
# these images to the desired release of the CSI driver.
|
|
# ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.5.1"
|
|
# ROOK_CSI_REGISTRAR_IMAGE: "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.5.0"
|
|
# ROOK_CSI_RESIZER_IMAGE: "k8s.gcr.io/sig-storage/csi-resizer:v1.4.0"
|
|
# ROOK_CSI_PROVISIONER_IMAGE: "k8s.gcr.io/sig-storage/csi-provisioner:v3.1.0"
|
|
# ROOK_CSI_SNAPSHOTTER_IMAGE: "k8s.gcr.io/sig-storage/csi-snapshotter:v5.0.1"
|
|
# ROOK_CSI_ATTACHER_IMAGE: "k8s.gcr.io/sig-storage/csi-attacher:v3.4.0"
|
|
|
|
# (Optional) set user created priorityclassName for csi plugin pods.
|
|
# CSI_PLUGIN_PRIORITY_CLASSNAME: "system-node-critical"
|
|
|
|
# (Optional) set user created priorityclassName for csi provisioner pods.
|
|
# CSI_PROVISIONER_PRIORITY_CLASSNAME: "system-cluster-critical"
|
|
|
|
# CSI CephFS plugin daemonset update strategy, supported values are OnDelete and RollingUpdate.
|
|
# Default value is RollingUpdate.
|
|
# CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY: "OnDelete"
|
|
# CSI RBD plugin daemonset update strategy, supported values are OnDelete and RollingUpdate.
|
|
# Default value is RollingUpdate.
|
|
# CSI_RBD_PLUGIN_UPDATE_STRATEGY: "OnDelete"
|
|
|
|
# kubelet directory path, if kubelet configured to use other than /var/lib/kubelet path.
|
|
# ROOK_CSI_KUBELET_DIR_PATH: "/var/lib/kubelet"
|
|
|
|
# Labels to add to the CSI CephFS Deployments and DaemonSets Pods.
|
|
# ROOK_CSI_CEPHFS_POD_LABELS: "key1=value1,key2=value2"
|
|
# Labels to add to the CSI RBD Deployments and DaemonSets Pods.
|
|
# ROOK_CSI_RBD_POD_LABELS: "key1=value1,key2=value2"
|
|
|
|
# (Optional) CephCSI provisioner NodeAffinity(applied to both CephFS and RBD provisioner).
|
|
# CSI_PROVISIONER_NODE_AFFINITY: "role=storage-node; storage=rook, ceph"
|
|
# (Optional) CephCSI provisioner tolerations list(applied to both CephFS and RBD provisioner).
|
|
# Put here list of taints you want to tolerate in YAML format.
|
|
# CSI provisioner would be best to start on the same nodes as other ceph daemons.
|
|
# CSI_PROVISIONER_TOLERATIONS: |
|
|
# - effect: NoSchedule
|
|
# key: node-role.kubernetes.io/controlplane
|
|
# operator: Exists
|
|
# - effect: NoExecute
|
|
# key: node-role.kubernetes.io/etcd
|
|
# operator: Exists
|
|
# (Optional) CephCSI plugin NodeAffinity(applied to both CephFS and RBD plugin).
|
|
# CSI_PLUGIN_NODE_AFFINITY: "role=storage-node; storage=rook, ceph"
|
|
# (Optional) CephCSI plugin tolerations list(applied to both CephFS and RBD plugin).
|
|
# Put here list of taints you want to tolerate in YAML format.
|
|
# CSI plugins need to be started on all the nodes where the clients need to mount the storage.
|
|
# CSI_PLUGIN_TOLERATIONS: |
|
|
# - effect: NoSchedule
|
|
# key: node-role.kubernetes.io/controlplane
|
|
# operator: Exists
|
|
# - effect: NoExecute
|
|
# key: node-role.kubernetes.io/etcd
|
|
# operator: Exists
|
|
|
|
# (Optional) CephCSI RBD provisioner NodeAffinity(if specified, overrides CSI_PROVISIONER_NODE_AFFINITY).
|
|
# CSI_RBD_PROVISIONER_NODE_AFFINITY: "role=rbd-node"
|
|
# (Optional) CephCSI RBD provisioner tolerations list(if specified, overrides CSI_PROVISIONER_TOLERATIONS).
|
|
# Put here list of taints you want to tolerate in YAML format.
|
|
# CSI provisioner would be best to start on the same nodes as other ceph daemons.
|
|
# CSI_RBD_PROVISIONER_TOLERATIONS: |
|
|
# - key: node.rook.io/rbd
|
|
# operator: Exists
|
|
# (Optional) CephCSI RBD plugin NodeAffinity(if specified, overrides CSI_PLUGIN_NODE_AFFINITY).
|
|
# CSI_RBD_PLUGIN_NODE_AFFINITY: "role=rbd-node"
|
|
# (Optional) CephCSI RBD plugin tolerations list(if specified, overrides CSI_PLUGIN_TOLERATIONS).
|
|
# Put here list of taints you want to tolerate in YAML format.
|
|
# CSI plugins need to be started on all the nodes where the clients need to mount the storage.
|
|
# CSI_RBD_PLUGIN_TOLERATIONS: |
|
|
# - key: node.rook.io/rbd
|
|
# operator: Exists
|
|
|
|
# (Optional) CephCSI CephFS provisioner NodeAffinity(if specified, overrides CSI_PROVISIONER_NODE_AFFINITY).
|
|
# CSI_CEPHFS_PROVISIONER_NODE_AFFINITY: "role=cephfs-node"
|
|
# (Optional) CephCSI CephFS provisioner tolerations list(if specified, overrides CSI_PROVISIONER_TOLERATIONS).
|
|
# Put here list of taints you want to tolerate in YAML format.
|
|
# CSI provisioner would be best to start on the same nodes as other ceph daemons.
|
|
# CSI_CEPHFS_PROVISIONER_TOLERATIONS: |
|
|
# - key: node.rook.io/cephfs
|
|
# operator: Exists
|
|
# (Optional) CephCSI CephFS plugin NodeAffinity(if specified, overrides CSI_PLUGIN_NODE_AFFINITY).
|
|
# CSI_CEPHFS_PLUGIN_NODE_AFFINITY: "role=cephfs-node"
|
|
# (Optional) CephCSI CephFS plugin tolerations list(if specified, overrides CSI_PLUGIN_TOLERATIONS).
|
|
# Put here list of taints you want to tolerate in YAML format.
|
|
# CSI plugins need to be started on all the nodes where the clients need to mount the storage.
|
|
# CSI_CEPHFS_PLUGIN_TOLERATIONS: |
|
|
# - key: node.rook.io/cephfs
|
|
# operator: Exists
|
|
|
|
# (Optional) CEPH CSI RBD provisioner resource requirement list, Put here list of resource
|
|
# requests and limits you want to apply for provisioner pod
|
|
# CSI_RBD_PROVISIONER_RESOURCE: |
|
|
# - name : csi-provisioner
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 200m
|
|
# - name : csi-resizer
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 200m
|
|
# - name : csi-attacher
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 200m
|
|
# - name : csi-snapshotter
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 200m
|
|
# - name : csi-rbdplugin
|
|
# resource:
|
|
# requests:
|
|
# memory: 512Mi
|
|
# cpu: 250m
|
|
# limits:
|
|
# memory: 1Gi
|
|
# cpu: 500m
|
|
# - name : liveness-prometheus
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 50m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
# (Optional) CEPH CSI RBD plugin resource requirement list, Put here list of resource
|
|
# requests and limits you want to apply for plugin pod
|
|
# CSI_RBD_PLUGIN_RESOURCE: |
|
|
# - name : driver-registrar
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 50m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
# - name : csi-rbdplugin
|
|
# resource:
|
|
# requests:
|
|
# memory: 512Mi
|
|
# cpu: 250m
|
|
# limits:
|
|
# memory: 1Gi
|
|
# cpu: 500m
|
|
# - name : liveness-prometheus
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 50m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
# (Optional) CEPH CSI CephFS provisioner resource requirement list, Put here list of resource
|
|
# requests and limits you want to apply for provisioner pod
|
|
# CSI_CEPHFS_PROVISIONER_RESOURCE: |
|
|
# - name : csi-provisioner
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 200m
|
|
# - name : csi-resizer
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 200m
|
|
# - name : csi-attacher
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 200m
|
|
# - name : csi-cephfsplugin
|
|
# resource:
|
|
# requests:
|
|
# memory: 512Mi
|
|
# cpu: 250m
|
|
# limits:
|
|
# memory: 1Gi
|
|
# cpu: 500m
|
|
# - name : liveness-prometheus
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 50m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
# (Optional) CEPH CSI CephFS plugin resource requirement list, Put here list of resource
|
|
# requests and limits you want to apply for plugin pod
|
|
# CSI_CEPHFS_PLUGIN_RESOURCE: |
|
|
# - name : driver-registrar
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 50m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
# - name : csi-cephfsplugin
|
|
# resource:
|
|
# requests:
|
|
# memory: 512Mi
|
|
# cpu: 250m
|
|
# limits:
|
|
# memory: 1Gi
|
|
# cpu: 500m
|
|
# - name : liveness-prometheus
|
|
# resource:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 50m
|
|
# limits:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
|
|
# Configure CSI Ceph FS grpc and liveness metrics port
|
|
# CSI_CEPHFS_GRPC_METRICS_PORT: "9091"
|
|
# CSI_CEPHFS_LIVENESS_METRICS_PORT: "9081"
|
|
# Configure CSI RBD grpc and liveness metrics port
|
|
# CSI_RBD_GRPC_METRICS_PORT: "9090"
|
|
# CSI_RBD_LIVENESS_METRICS_PORT: "9080"
|
|
# CSIADDONS_PORT: "9070"
|
|
|
|
# Whether the OBC provisioner should watch on the operator namespace or not, if not the namespace of the cluster will be used
|
|
ROOK_OBC_WATCH_OPERATOR_NAMESPACE: "true"
|
|
|
|
# Whether to start the discovery daemon to watch for raw storage devices on nodes in the cluster.
|
|
# This daemon does not need to run if you are only going to create your OSDs based on StorageClassDeviceSets with PVCs.
|
|
ROOK_ENABLE_DISCOVERY_DAEMON: "false"
|
|
# Enable the volume replication controller
|
|
# Before enabling, ensure the Volume Replication CRDs are created.
|
|
# See https://rook.io/docs/rook/latest/ceph-csi-drivers.html#rbd-mirroring
|
|
CSI_ENABLE_VOLUME_REPLICATION: "false"
|
|
# The timeout value (in seconds) of Ceph commands. It should be >= 1. If this variable is not set or is an invalid value, it's default to 15.
|
|
ROOK_CEPH_COMMANDS_TIMEOUT_SECONDS: "15"
|
|
# CSI_VOLUME_REPLICATION_IMAGE: "quay.io/csiaddons/volumereplication-operator:v0.3.0"
|
|
# Enable the csi addons sidecar.
|
|
CSI_ENABLE_CSIADDONS: "false"
|
|
# ROOK_CSIADDONS_IMAGE: "quay.io/csiaddons/k8s-sidecar:v0.2.1"
|
|
---
|
|
# The deployment for the rook operator
|
|
# OLM: BEGIN OPERATOR DEPLOYMENT
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: rook-ceph-operator
|
|
namespace: rook-ceph # namespace:operator
|
|
labels:
|
|
operator: rook
|
|
storage-backend: ceph
|
|
app.kubernetes.io/name: rook-ceph
|
|
app.kubernetes.io/instance: rook-ceph
|
|
app.kubernetes.io/component: rook-ceph-operator
|
|
app.kubernetes.io/part-of: rook-ceph-operator
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: rook-ceph-operator
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: rook-ceph-operator
|
|
spec:
|
|
serviceAccountName: rook-ceph-system
|
|
containers:
|
|
- name: rook-ceph-operator
|
|
image: rook/ceph:master
|
|
args: ["ceph", "operator"]
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 2016
|
|
runAsGroup: 2016
|
|
volumeMounts:
|
|
- mountPath: /var/lib/rook
|
|
name: rook-config
|
|
- mountPath: /etc/ceph
|
|
name: default-config-dir
|
|
- mountPath: /etc/webhook
|
|
name: webhook-cert
|
|
ports:
|
|
- containerPort: 9443
|
|
name: https-webhook
|
|
protocol: TCP
|
|
env:
|
|
- name: ROOK_CURRENT_NAMESPACE_ONLY
|
|
value: "false"
|
|
# Rook Discover toleration. Will tolerate all taints with all keys.
|
|
# Choose between NoSchedule, PreferNoSchedule and NoExecute:
|
|
# - name: DISCOVER_TOLERATION
|
|
# value: "NoSchedule"
|
|
# (Optional) Rook Discover toleration key. Set this to the key of the taint you want to tolerate
|
|
# - name: DISCOVER_TOLERATION_KEY
|
|
# value: "<KeyOfTheTaintToTolerate>"
|
|
# (Optional) Rook Discover priority class name to set on the pod(s)
|
|
# - name: DISCOVER_PRIORITY_CLASS_NAME
|
|
# value: "<PriorityClassName>"
|
|
# (Optional) Discover Agent NodeAffinity.
|
|
# - name: DISCOVER_AGENT_NODE_AFFINITY
|
|
# value: "role=storage-node; storage=rook, ceph"
|
|
# (Optional) Discover Agent Pod Labels.
|
|
# - name: DISCOVER_AGENT_POD_LABELS
|
|
# value: "key1=value1,key2=value2"
|
|
|
|
# The duration between discovering devices in the rook-discover daemonset.
|
|
- name: ROOK_DISCOVER_DEVICES_INTERVAL
|
|
value: "60m"
|
|
# Whether to start pods as privileged that mount a host path, which includes the Ceph mon and osd pods.
|
|
# Set this to true if SELinux is enabled (e.g. OpenShift) to workaround the anyuid issues.
|
|
# For more details see https://github.com/rook/rook/issues/1314#issuecomment-355799641
|
|
- name: ROOK_HOSTPATH_REQUIRES_PRIVILEGED
|
|
value: "true"
|
|
# In some situations SELinux relabelling breaks (times out) on large filesystems, and doesn't work with cephfs ReadWriteMany volumes (last relabel wins).
|
|
# Disable it here if you have similar issues.
|
|
# For more details see https://github.com/rook/rook/issues/2417
|
|
- name: ROOK_ENABLE_SELINUX_RELABELING
|
|
value: "true"
|
|
# In large volumes it will take some time to chown all the files. Disable it here if you have performance issues.
|
|
# For more details see https://github.com/rook/rook/issues/2254
|
|
- name: ROOK_ENABLE_FSGROUP
|
|
value: "true"
|
|
# Disable automatic orchestration when new devices are discovered
|
|
- name: ROOK_DISABLE_DEVICE_HOTPLUG
|
|
value: "false"
|
|
# Provide customised regex as the values using comma. For eg. regex for rbd based volume, value will be like "(?i)rbd[0-9]+".
|
|
# In case of more than one regex, use comma to separate between them.
|
|
# Default regex will be "(?i)dm-[0-9]+,(?i)rbd[0-9]+,(?i)nbd[0-9]+"
|
|
# add regex expression after putting a comma to blacklist a disk
|
|
# If value is empty, the default regex will be used.
|
|
- name: DISCOVER_DAEMON_UDEV_BLACKLIST
|
|
value: "(?i)dm-[0-9]+,(?i)rbd[0-9]+,(?i)nbd[0-9]+"
|
|
|
|
# Whether to start machineDisruptionBudget and machineLabel controller to watch for the osd pods and MDBs.
|
|
- name: ROOK_ENABLE_MACHINE_DISRUPTION_BUDGET
|
|
value: "false"
|
|
|
|
# Time to wait until the node controller will move Rook pods to other
|
|
# nodes after detecting an unreachable node.
|
|
# Pods affected by this setting are:
|
|
# mgr, rbd, mds, rgw, nfs, PVC based mons and osds, and ceph toolbox
|
|
# The value used in this variable replaces the default value of 300 secs
|
|
# added automatically by k8s as Toleration for
|
|
# <node.kubernetes.io/unreachable>
|
|
# The total amount of time to reschedule Rook pods in healthy nodes
|
|
# before detecting a <not ready node> condition will be the sum of:
|
|
# --> node-monitor-grace-period: 40 seconds (k8s kube-controller-manager flag)
|
|
# --> ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS: 5 seconds
|
|
- name: ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS
|
|
value: "5"
|
|
|
|
# The name of the node to pass with the downward API
|
|
- name: NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
# The pod name to pass with the downward API
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
# The pod namespace to pass with the downward API
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
|
|
# Recommended resource requests and limits, if desired
|
|
#resources:
|
|
# limits:
|
|
# cpu: 500m
|
|
# memory: 256Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
# Uncomment it to run lib bucket provisioner in multithreaded mode
|
|
#- name: LIB_BUCKET_PROVISIONER_THREADS
|
|
# value: "5"
|
|
|
|
volumes:
|
|
- name: rook-config
|
|
emptyDir: {}
|
|
- name: default-config-dir
|
|
emptyDir: {}
|
|
- name: webhook-cert
|
|
emptyDir: {}
|
|
# OLM: END OPERATOR DEPLOYMENT
|