OpenEBS must be installed.
To provision a CSPC using dao you need to install cspc-operator from alpha feature
Sample cstorpoolauto DAO operator yaml is given below.
NOTE:- you can install it in any namespace.
apiVersion: v1
kind: Namespace
metadata:
name: maya-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cstorpoolauto
namespace: maya-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cstorpoolauto
rules:
- apiGroups:
- "*"
resources:
- cstorclusterconfigs
- blockdevices
- cstorpoolclusters
- nodes
verbs:
- get
- list
- watch
- create
- update
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: cstorpoolauto
subjects:
- kind: ServiceAccount
name: cstorpoolauto
namespace: maya-system
roleRef:
kind: ClusterRole
name: cstorpoolauto
apiGroup: rbac.authorization.k8s.io
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: cstorclusterconfigs.dao.mayadata.io
labels:
name: cstorclusterconfig
spec:
group: dao.mayadata.io
version: v1alpha1
scope: Namespaced
names:
plural: cstorclusterconfigs
singular: cstorclusterconfig
kind: CStorClusterConfig
shortNames:
- cscconfig
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app.mayadata.io/name: cstorpoolauto
name: cstorpoolauto
name: cstorpoolauto
namespace: maya-system
spec:
replicas: 1
selector:
matchLabels:
app.mayadata.io/name: cstorpoolauto
name: cstorpoolauto
serviceName: ""
template:
metadata:
labels:
app.mayadata.io/name: cstorpoolauto
name: cstorpoolauto
spec:
serviceAccountName: cstorpoolauto
containers:
- name: cstorpoolauto
image: mayadataio/cstorpoolauto:v1.11.2
command: ["/usr/bin/cstorpoolauto"]
args:
- --logtostderr
- --run-as-local
- -v=5
- --discovery-interval=40s
- --cache-flush-interval=240s
- --metac-config-path=/etc/config/metac/localdevice/
Label the selected block devices using which you want to create a CSPC.
NOTE:- each selected block device should be in Active
and Unclaimed
state and there should not be any file system.
Modify and apply the CStorClusterConfig
. One sample CStorClusterConfig
is given below.
NOTE:- You need to create CStorClusterConfig
in the same namespace in which OpenEBS
is installed.
apiVersion: dao.mayadata.io/v1alpha1
kind: CStorClusterConfig
metadata:
name: mirror-mysql-pool
namespace: openebs
spec:
diskConfig:
local:
blockDeviceSelector:
selectorTerms:
- matchLabels:
mirror-pool: mysql
# Selected block devices should labeled with `mirror-pool=mysql`
# If you lobal your block devices with different key and value
# then update matchLabels accordingly.
poolConfig:
raidType: mirror