curve-operator
curve-operator copied to clipboard
curve-operator(v1.0.0) Roadmap
Curve Operator(v1.0.0) Roadmap(Curvebs)
Feature | Priority | Description |
---|---|---|
Create cluster | P0 | Create a Curve cluster with the ability of the K8s declarative API. |
Delete cluster | P0 | Delete a Curve cluster with the ability of the K8s declarative API. |
Update cluster | P1 | Update the cluster specification according to the cluster declaration setting. For example, add or remove ChunkServer services. |
Cluster monitor | P1 | Deploy visual monitoring system to realize clustering including Prometheus and Grafana services. |
Upgrade Cluster | P1 | Upgrade version of curve cluster on K8s if user modify the version information spec in the cluster declaration yaml file. |
Migrate service | P2 | Migrate services in a cluster is accomplished by modifying the cluster declaration file. |
Cluster scaling | P2 | Scaling cluster based on declarative modify Settings. |
Disk discovery | P2 | Determine disk automatically based on all disks filter rule in the nodes that has joined the cluster. |
Manage more than one cluster | P2 | Achieve multi-cluster management according to the creation of different CR resources. |
Diagnosis recovery | TODO(hard) | A variety of fault diagnosis and recovery . For example, monitoring disk failure and bad disk handling. |
Deployment and application
You will find below services after deployment:
$ kubectl get pod -n curvebs
curve-etcd-axxx
curve-etcd-bxxx
curve-etcd-cxxx
curve-mds-axxx
curve-mds-bxxx
curve-mds-cxxx
curve-chunkserver-a
curve-chunkserver-b
curve-chunkserver-c
curve-chunkserver-d
curve-chunkserver-e
curve-snapshotclone-axxx
curve-snapshotclone-bxxx
curve-snapshotclone-cxxx
curve-csi-controller-xxx
curve-csi-node-axxx
curve-csi-node-bxxx
curve-csi-node-cxxx
Apply the curve storage service
Step 1. Create storage class of curve
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: curve
parameters:
user: k8s
cloneLazy: "true"
provisioner: curve.csi.netease.com
reclaimPolicy: Delete
volumeBindingMode: Immediate
Step 2. Provision dynamic volume by a PersistentVolumeClaim (PVC)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: curve-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: curve
Step 3. Create a pod that use above PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: curve-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: curve