-
-
Save arashkaffamanesh/42e08b96ce0493b3698acc13c3905d83 to your computer and use it in GitHub Desktop.
Rook on Rancher
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: rook-ceph-system | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: cephclusters.ceph.rook.io | |
spec: | |
group: ceph.rook.io | |
names: | |
kind: CephCluster | |
listKind: CephClusterList | |
plural: cephclusters | |
singular: cephcluster | |
scope: Namespaced | |
version: v1 | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
properties: | |
cephVersion: | |
properties: | |
allowUnsupported: | |
type: boolean | |
image: | |
type: string | |
name: | |
pattern: ^(luminous|mimic|nautilus)$ | |
type: string | |
dashboard: | |
properties: | |
enabled: | |
type: boolean | |
urlPrefix: | |
type: string | |
dataDirHostPath: | |
pattern: ^/(\S+) | |
type: string | |
mon: | |
properties: | |
allowMultiplePerNode: | |
type: boolean | |
count: | |
maximum: 9 | |
minimum: 1 | |
type: integer | |
required: | |
- count | |
network: | |
properties: | |
hostNetwork: | |
type: boolean | |
storage: | |
properties: | |
nodes: | |
items: {} | |
type: array | |
useAllDevices: {} | |
useAllNodes: | |
type: boolean | |
required: | |
- mon | |
additionalPrinterColumns: | |
- name: DataDirHostPath | |
type: string | |
description: Directory used on the K8s nodes | |
JSONPath: .spec.dataDirHostPath | |
- name: MonCount | |
type: string | |
description: Number of MONs | |
JSONPath: .spec.mon.count | |
- name: Age | |
type: date | |
JSONPath: .metadata.creationTimestamp | |
- name: State | |
type: string | |
description: Current State | |
JSONPath: .status.state | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: cephfilesystems.ceph.rook.io | |
spec: | |
group: ceph.rook.io | |
names: | |
kind: CephFilesystem | |
listKind: CephFilesystemList | |
plural: cephfilesystems | |
singular: cephfilesystem | |
scope: Namespaced | |
version: v1 | |
additionalPrinterColumns: | |
- name: MdsCount | |
type: string | |
description: Number of MDSs | |
JSONPath: .spec.metadataServer.activeCount | |
- name: Age | |
type: date | |
JSONPath: .metadata.creationTimestamp | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: cephobjectstores.ceph.rook.io | |
spec: | |
group: ceph.rook.io | |
names: | |
kind: CephObjectStore | |
listKind: CephObjectStoreList | |
plural: cephobjectstores | |
singular: cephobjectstore | |
scope: Namespaced | |
version: v1 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: cephobjectstoreusers.ceph.rook.io | |
spec: | |
group: ceph.rook.io | |
names: | |
kind: CephObjectStoreUser | |
listKind: CephObjectStoreUserList | |
plural: cephobjectstoreusers | |
singular: cephobjectstoreuser | |
scope: Namespaced | |
version: v1 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: cephblockpools.ceph.rook.io | |
spec: | |
group: ceph.rook.io | |
names: | |
kind: CephBlockPool | |
listKind: CephBlockPoolList | |
plural: cephblockpools | |
singular: cephblockpool | |
scope: Namespaced | |
version: v1 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: volumes.rook.io | |
spec: | |
group: rook.io | |
names: | |
kind: Volume | |
listKind: VolumeList | |
plural: volumes | |
singular: volume | |
shortNames: | |
- rv | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
# The cluster role for managing all the cluster-specific resources in a namespace | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: rook-ceph-cluster-mgmt | |
labels: | |
operator: rook | |
storage-backend: ceph | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- secrets | |
- pods | |
- pods/log | |
- services | |
- configmaps | |
verbs: | |
- get | |
- list | |
- watch | |
- patch | |
- create | |
- update | |
- delete | |
- apiGroups: | |
- extensions | |
resources: | |
- deployments | |
- daemonsets | |
- replicasets | |
verbs: | |
- get | |
- list | |
- watch | |
- create | |
- update | |
- delete | |
--- | |
# The role for the operator to manage resources in the system namespace | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: Role | |
metadata: | |
name: rook-ceph-system | |
namespace: rook-ceph-system | |
labels: | |
operator: rook | |
storage-backend: ceph | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- pods | |
- configmaps | |
verbs: | |
- get | |
- list | |
- watch | |
- patch | |
- create | |
- update | |
- delete | |
- apiGroups: | |
- extensions | |
resources: | |
- daemonsets | |
verbs: | |
- get | |
- list | |
- watch | |
- create | |
- update | |
- delete | |
--- | |
# The cluster role for managing the Rook CRDs | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: rook-ceph-global | |
labels: | |
operator: rook | |
storage-backend: ceph | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
# Pod access is needed for fencing | |
- pods | |
# Node access is needed for determining nodes where mons should run | |
- nodes | |
- nodes/proxy | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- "" | |
resources: | |
- events | |
# PVs and PVCs are managed by the Rook provisioner | |
- persistentvolumes | |
- persistentvolumeclaims | |
verbs: | |
- get | |
- list | |
- watch | |
- patch | |
- create | |
- update | |
- delete | |
- apiGroups: | |
- storage.k8s.io | |
resources: | |
- storageclasses | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- batch | |
resources: | |
- jobs | |
verbs: | |
- get | |
- list | |
- watch | |
- create | |
- update | |
- delete | |
- apiGroups: | |
- ceph.rook.io | |
resources: | |
- "*" | |
verbs: | |
- "*" | |
- apiGroups: | |
- rook.io | |
resources: | |
- "*" | |
verbs: | |
- "*" | |
--- | |
# Aspects of ceph-mgr that require cluster-wide access | |
kind: ClusterRole | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-mgr-cluster | |
labels: | |
operator: rook | |
storage-backend: ceph | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
- nodes | |
- nodes/proxy | |
verbs: | |
- get | |
- list | |
- watch | |
--- | |
# The rook system service account used by the operator, agent, and discovery pods | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: rook-ceph-system | |
namespace: rook-ceph-system | |
labels: | |
operator: rook | |
storage-backend: ceph | |
--- | |
# Grant the operator, agent, and discovery agents access to resources in the rook-ceph-system namespace | |
kind: RoleBinding | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-system | |
namespace: rook-ceph-system | |
labels: | |
operator: rook | |
storage-backend: ceph | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: rook-ceph-system | |
subjects: | |
- kind: ServiceAccount | |
name: rook-ceph-system | |
namespace: rook-ceph-system | |
--- | |
# Grant the rook system daemons cluster-wide access to manage the Rook CRDs, PVCs, and storage classes | |
kind: ClusterRoleBinding | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-global | |
namespace: rook-ceph-system | |
labels: | |
operator: rook | |
storage-backend: ceph | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: rook-ceph-global | |
subjects: | |
- kind: ServiceAccount | |
name: rook-ceph-system | |
namespace: rook-ceph-system | |
--- | |
# The deployment for the rook operator | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
name: rook-ceph-operator | |
namespace: rook-ceph-system | |
labels: | |
operator: rook | |
storage-backend: ceph | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: rook-ceph-operator | |
spec: | |
serviceAccountName: rook-ceph-system | |
containers: | |
- name: rook-ceph-operator | |
image: rook/ceph:v0.9.0 | |
args: ["ceph", "operator"] | |
volumeMounts: | |
- mountPath: /var/lib/rook | |
name: rook-config | |
- mountPath: /etc/ceph | |
name: default-config-dir | |
env: | |
# To disable RBAC, uncomment the following: | |
# - name: RBAC_ENABLED | |
# value: "false" | |
# Rook Agent toleration. Will tolerate all taints with all keys. | |
# Choose between NoSchedule, PreferNoSchedule and NoExecute: | |
# - name: AGENT_TOLERATION | |
# value: "NoSchedule" | |
# (Optional) Rook Agent toleration key. Set this to the key of the taint you want to tolerate | |
# - name: AGENT_TOLERATION_KEY | |
# value: "<KeyOfTheTaintToTolerate>" | |
# (Optional) Rook Agent mount security mode. Can by `Any` or `Restricted`. | |
# `Any` uses Ceph admin credentials by default/fallback. | |
# For using `Restricted` you must have a Ceph secret in each namespace storage should be consumed from and | |
# set `mountUser` to the Ceph user, `mountSecret` to the Kubernetes secret name. | |
# to the namespace in which the `mountSecret` Kubernetes secret namespace. | |
# - name: AGENT_MOUNT_SECURITY_MODE | |
# value: "Any" | |
# Set the path where the Rook agent can find the flex volumes | |
- name: FLEXVOLUME_DIR_PATH | |
value: "/var/lib/kubelet/volumeplugins" | |
# Set the path where kernel modules can be found | |
# - name: LIB_MODULES_DIR_PATH | |
# value: "<PathToLibModules>" | |
# Mount any extra directories into the agent container | |
# - name: AGENT_MOUNTS | |
# value: "somemount=/host/path:/container/path,someothermount=/host/path2:/container/path2" | |
# 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>" | |
# Allow rook to create multiple file systems. Note: This is considered | |
# an experimental feature in Ceph as described at | |
# http://docs.ceph.com/docs/master/cephfs/experimental-features/#multiple-filesystems-within-a-ceph-cluster | |
# which might cause mons to crash as seen in https://github.com/rook/rook/issues/1027 | |
- name: ROOK_ALLOW_MULTIPLE_FILESYSTEMS | |
value: "false" | |
# The logging level for the operator: INFO | DEBUG | |
- name: ROOK_LOG_LEVEL | |
value: "INFO" | |
# The interval to check if every mon is in the quorum. | |
- name: ROOK_MON_HEALTHCHECK_INTERVAL | |
value: "45s" | |
# The duration to wait before trying to failover or remove/replace the | |
# current mon with a new mon (useful for compensating flapping network). | |
- name: ROOK_MON_OUT_TIMEOUT | |
value: "300s" | |
# 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. | |
# This is necessary to workaround the anyuid issues when running on OpenShift. | |
# For more details see https://github.com/rook/rook/issues/1314#issuecomment-355799641 | |
- name: ROOK_HOSTPATH_REQUIRES_PRIVILEGED | |
value: "false" | |
# 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 | |
volumes: | |
- name: rook-config | |
emptyDir: {} | |
- name: default-config-dir | |
emptyDir: {} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: rook-ceph | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: rook-ceph-osd | |
namespace: rook-ceph | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: rook-ceph-mgr | |
namespace: rook-ceph | |
--- | |
kind: Role | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-osd | |
namespace: rook-ceph | |
rules: | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: [ "get", "list", "watch", "create", "update", "delete" ] | |
--- | |
# Aspects of ceph-mgr that require access to the system namespace | |
kind: Role | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-mgr-system | |
namespace: rook-ceph | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
verbs: | |
- get | |
- list | |
- watch | |
--- | |
# Aspects of ceph-mgr that operate within the cluster's namespace | |
kind: Role | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-mgr | |
namespace: rook-ceph | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- pods | |
- services | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- batch | |
resources: | |
- jobs | |
verbs: | |
- get | |
- list | |
- watch | |
- create | |
- update | |
- delete | |
- apiGroups: | |
- ceph.rook.io | |
resources: | |
- "*" | |
verbs: | |
- "*" | |
--- | |
# Allow the operator to create resources in this cluster's namespace | |
kind: RoleBinding | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-cluster-mgmt | |
namespace: rook-ceph | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: rook-ceph-cluster-mgmt | |
subjects: | |
- kind: ServiceAccount | |
name: rook-ceph-system | |
namespace: rook-ceph-system | |
--- | |
# Allow the osd pods in this namespace to work with configmaps | |
kind: RoleBinding | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-osd | |
namespace: rook-ceph | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: rook-ceph-osd | |
subjects: | |
- kind: ServiceAccount | |
name: rook-ceph-osd | |
namespace: rook-ceph | |
--- | |
# Allow the ceph mgr to access the cluster-specific resources necessary for the mgr modules | |
kind: RoleBinding | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-mgr | |
namespace: rook-ceph | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: rook-ceph-mgr | |
subjects: | |
- kind: ServiceAccount | |
name: rook-ceph-mgr | |
namespace: rook-ceph | |
--- | |
# Allow the ceph mgr to access the rook system resources necessary for the mgr modules | |
kind: RoleBinding | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-mgr-system | |
namespace: rook-ceph-system | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: rook-ceph-mgr-system | |
subjects: | |
- kind: ServiceAccount | |
name: rook-ceph-mgr | |
namespace: rook-ceph | |
--- | |
# Allow the ceph mgr to access cluster-wide resources necessary for the mgr modules | |
kind: RoleBinding | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
metadata: | |
name: rook-ceph-mgr-cluster | |
namespace: rook-ceph | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: rook-ceph-mgr-cluster | |
subjects: | |
- kind: ServiceAccount | |
name: rook-ceph-mgr | |
namespace: rook-ceph | |
--- | |
apiVersion: ceph.rook.io/v1 | |
kind: CephCluster | |
metadata: | |
name: rook-ceph | |
namespace: rook-ceph | |
spec: | |
cephVersion: | |
# The container image used to launch the Ceph daemon pods (mon, mgr, osd, mds, rgw). | |
# v12 is luminous, v13 is mimic, and v14 is nautilus. | |
# RECOMMENDATION: In production, use a specific version tag instead of the general v13 flag, which pulls the latest release and could result in different | |
# versions running within the cluster. See tags available at https://hub.docker.com/r/ceph/ceph/tags/. | |
image: ceph/ceph:v13.2.2-20181023 | |
# Whether to allow unsupported versions of Ceph. Currently only luminous and mimic are supported. | |
# After nautilus is released, Rook will be updated to support nautilus. | |
# Do not set to true in production. | |
allowUnsupported: false | |
# The path on the host where configuration files will be persisted. If not specified, a kubernetes emptyDir will be created (not recommended). | |
# Important: if you reinstall the cluster, make sure you delete this directory from each host or else the mons will fail to start on the new cluster. | |
# In Minikube, the '/data' directory is configured to persist across reboots. Use "/data/rook" in Minikube environment. | |
dataDirHostPath: /storage | |
# set the amount of mons to be started | |
mon: | |
count: 3 | |
allowMultiplePerNode: true | |
# enable the ceph dashboard for viewing cluster status | |
dashboard: | |
enabled: true | |
# serve the dashboard under a subpath (useful when you are accessing the dashboard via a reverse proxy) | |
# urlPrefix: /ceph-dashboard | |
network: | |
# toggle to use hostNetwork | |
hostNetwork: false | |
rbdMirroring: | |
# The number of daemons that will perform the rbd mirroring. | |
# rbd mirroring must be configured with "rbd mirror" from the rook toolbox. | |
workers: 0 | |
# To control where various services will be scheduled by kubernetes, use the placement configuration sections below. | |
# The example under 'all' would have all services scheduled on kubernetes nodes labeled with 'role=storage-node' and | |
# tolerate taints with a key of 'storage-node'. | |
# placement: | |
# all: | |
# nodeAffinity: | |
# requiredDuringSchedulingIgnoredDuringExecution: | |
# nodeSelectorTerms: | |
# - matchExpressions: | |
# - key: role | |
# operator: In | |
# values: | |
# - storage-node | |
# podAffinity: | |
# podAntiAffinity: | |
# tolerations: | |
# - key: storage-node | |
# operator: Exists | |
# The above placement information can also be specified for mon, osd, and mgr components | |
# mon: | |
# osd: | |
# mgr: | |
resources: | |
# The requests and limits set here, allow the mgr pod to use half of one CPU core and 1 gigabyte of memory | |
# mgr: | |
# limits: | |
# cpu: "500m" | |
# memory: "1024Mi" | |
# requests: | |
# cpu: "500m" | |
# memory: "1024Mi" | |
# The above example requests/limits can also be added to the mon and osd components | |
# mon: | |
# osd: | |
storage: # cluster level storage configuration and selection | |
useAllNodes: true | |
useAllDevices: false | |
deviceFilter: | |
location: | |
config: | |
# The default and recommended storeType is dynamically set to bluestore for devices and filestore for directories. | |
# Set the storeType explicitly only if it is required not to use the default. | |
# storeType: bluestore | |
databaseSizeMB: "1024" # this value can be removed for environments with normal sized disks (100 GB or larger) | |
journalSizeMB: "1024" # this value can be removed for environments with normal sized disks (20 GB or larger) | |
osdsPerDevice: "1" # this value can be overridden at the node or device level | |
# Cluster level list of directories to use for storage. These values will be set for all nodes that have no `directories` set. | |
# directories: | |
# - path: /rook/storage-dir | |
# Individual nodes and their config can be specified as well, but 'useAllNodes' above must be set to false. Then, only the named | |
# nodes below will be used as storage resources. Each node's 'name' field should match their 'kubernetes.io/hostname' label. | |
# nodes: | |
# - name: "172.17.4.101" | |
# directories: # specific directories to use for storage can be specified for each node | |
# - path: "/rook/storage-dir" | |
# resources: | |
# limits: | |
# cpu: "500m" | |
# memory: "1024Mi" | |
# requests: | |
# cpu: "500m" | |
# memory: "1024Mi" | |
# - name: "172.17.4.201" | |
# devices: # specific devices to use for storage can be specified for each node | |
# - name: "sdb" | |
# - name: "nvme01" # multiple osds can be created on high performance devices | |
# config: | |
# osdsPerDevice: "5" | |
# config: # configuration can be specified at the node level which overrides the cluster level config | |
# storeType: filestore | |
# - name: "172.17.4.301" | |
# deviceFilter: "^sd." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: rook-ceph-tools | |
namespace: rook-ceph | |
labels: | |
app: rook-ceph-tools | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: rook-ceph-tools | |
template: | |
metadata: | |
labels: | |
app: rook-ceph-tools | |
spec: | |
dnsPolicy: ClusterFirstWithHostNet | |
containers: | |
- name: rook-ceph-tools | |
image: rook/ceph:v0.9.0 | |
command: ["/tini"] | |
args: ["-g", "--", "/usr/local/bin/toolbox.sh"] | |
imagePullPolicy: IfNotPresent | |
env: | |
- name: ROOK_ADMIN_SECRET | |
valueFrom: | |
secretKeyRef: | |
name: rook-ceph-mon | |
key: admin-secret | |
securityContext: | |
privileged: true | |
volumeMounts: | |
- mountPath: /dev | |
name: dev | |
- mountPath: /sys/bus | |
name: sysbus | |
- mountPath: /lib/modules | |
name: libmodules | |
- name: mon-endpoint-volume | |
mountPath: /etc/rook | |
# if hostNetwork: false, the "rbd map" command hangs, see https://github.com/rook/rook/issues/2021 | |
hostNetwork: true | |
volumes: | |
- name: dev | |
hostPath: | |
path: /dev | |
- name: sysbus | |
hostPath: | |
path: /sys/bus | |
- name: libmodules | |
hostPath: | |
path: /lib/modules | |
- name: mon-endpoint-volume | |
configMap: | |
name: rook-ceph-mon-endpoints | |
items: | |
- key: data | |
path: mon-endpoints |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: ceph.rook.io/v1 | |
kind: CephBlockPool | |
metadata: | |
name: replicapool | |
namespace: rook-ceph | |
spec: | |
failureDomain: host | |
replicated: | |
size: 3 | |
--- | |
apiVersion: storage.k8s.io/v1 | |
kind: StorageClass | |
metadata: | |
name: rook-ceph-block | |
provisioner: ceph.rook.io/block | |
parameters: | |
blockPool: replicapool | |
# The value of "clusterNamespace" MUST be the same as the one in which your rook cluster exist | |
clusterNamespace: rook-ceph | |
# Specify the filesystem type of the volume. If not specified, it will use `ext4`. | |
fstype: xfs | |
# Optional, default reclaimPolicy is "Delete". Other options are: "Retain", "Recycle" as documented in https://kubernetes.io/docs/concepts/storage/storage-classes/ | |
reclaimPolicy: Retain |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment