Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

curve-operator(v1.0.0) Roadmap #1

Open
caoxianfei1 opened this issue Feb 27, 2023 · 0 comments
Open

curve-operator(v1.0.0) Roadmap #1

caoxianfei1 opened this issue Feb 27, 2023 · 0 comments

Comments

@caoxianfei1
Copy link
Collaborator

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
@zhanghuidinah zhanghuidinah pinned this issue Feb 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant