All Projects → openebs → cstor-operators

openebs / cstor-operators

Licence: Apache-2.0 license
Collection of OpenEBS cStor Data Engine Operators

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Dockerfile
14818 projects
Makefile
30231 projects
Jinja
831 projects
Mustache
554 projects
Smarty
1635 projects

Projects that are alternatives of or similar to cstor-operators

jiva-operator
Kubernetes Operator for managing Jiva Volumes via custom resource.
Stars: ✭ 31 (-59.74%)
Mutual labels:  storage, openebs
jiva
CAS Data Engine - iSCSI Distributed Block Storage Controller built-in Go
Stars: ✭ 121 (+57.14%)
Mutual labels:  storage, openebs
Openebs
Leading Open Source Container Attached Storage, built using Cloud Native Architecture, simplifies running Stateful Applications on Kubernetes.
Stars: ✭ 7,277 (+9350.65%)
Mutual labels:  storage, openebs
Sia
Blockchain-based marketplace for file storage. Project has moved to GitLab: https://gitlab.com/NebulousLabs/Sia
Stars: ✭ 2,731 (+3446.75%)
Mutual labels:  storage
cstor-csi
cStor CSI Driver
Stars: ✭ 24 (-68.83%)
Mutual labels:  openebs
theatre
GoCardless' collection of Kubernetes extensions
Stars: ✭ 18 (-76.62%)
Mutual labels:  kubernetes-operators
awesome-storage
A curated list of storage open source tools. Backups, redundancy, sharing, distribution, encryption, etc.
Stars: ✭ 324 (+320.78%)
Mutual labels:  storage
Aresdb
A GPU-powered real-time analytics storage and query engine.
Stars: ✭ 2,814 (+3554.55%)
Mutual labels:  storage
MusicX
MusicX is a music player 🎵 android app built using Kotlin and Jetpack Compose. It follows M.A.D. practices and hence is a good learning resource for beginners
Stars: ✭ 85 (+10.39%)
Mutual labels:  storage
estuary
A custom IPFS/Filecoin node that makes it easy to pin IPFS content and make Filecoin deals.
Stars: ✭ 195 (+153.25%)
Mutual labels:  storage
sqstorage
A easy to use and quick way to organize your inventory, storages and storage areas
Stars: ✭ 18 (-76.62%)
Mutual labels:  storage
openebs-docs
OpenEBS Documentation
Stars: ✭ 37 (-51.95%)
Mutual labels:  openebs
synology-csi
Container Storage Interface (CSI) for Synology
Stars: ✭ 136 (+76.62%)
Mutual labels:  storage
cstor
CAS Data Engine - User Space implementation of a popular COW Data Engine - ZFS
Stars: ✭ 47 (-38.96%)
Mutual labels:  openebs
Hangfire.AzureDocumentDB
Azure DocumentDB storage provider for Hangfire
Stars: ✭ 14 (-81.82%)
Mutual labels:  storage
Bus
Bus 是一个基础框架、服务套件,它基于Java8编写,参考、借鉴了大量已有框架、组件的设计,可以作为后端服务的开发基础中间件。代码简洁,架构清晰,非常适合学习使用。
Stars: ✭ 253 (+228.57%)
Mutual labels:  storage
Pomegranate
🌳 A tiny skiplist based log-structured merge-tree written in Rust.
Stars: ✭ 20 (-74.03%)
Mutual labels:  storage
drive-desktop
internxt.com/drive
Stars: ✭ 102 (+32.47%)
Mutual labels:  storage
bitcrust
Bitcoin software suite
Stars: ✭ 61 (-20.78%)
Mutual labels:  storage
ng2-storage
A local and session storage wrapper for angular 2.
Stars: ✭ 14 (-81.82%)
Mutual labels:  storage

cStor Operators

Go Report Build Status Slack Community Meetings Gitpod ready-to-code

OpenEBS Logo

Project Status: Beta

We are always happy to list users who run cStor in production, check out our existing adopters, and their feedbacks.

The new cStor Operators support the following Operations on cStor pools and volumes:

  1. Provisioning and De-provisioning of cStor pools.
  2. Pool expansion by adding disk.
  3. Disk replacement by removing a disk.
  4. Volume replica scale up and scale down.
  5. Volume resize.
  6. Backup and Restore via Velero-plugin.
  7. Seamless upgrades of cStor Pools and Volumes
  8. Support migration from old cStor operators (using SPC) to new cStor operators using CSPC and CSI Driver.

Operators Overview

Collection of enhanced Kubernetes Operators for managing OpenEBS cStor Data Engine. At a high-level, cstor operators consist of following components.

  • cspc-operator
  • pool-manager
  • cvc-operator
  • volume-manager

An OpenEBS admin/user can use CSPC(CStorPoolCluster) API (YAML) to provision cStor pools in a Kubernetes cluster. As the name suggests, CSPC can be used to create a cluster of cStor pools across Kubernetes nodes. It is the job of cspc-operator to reconcile the CSPC object and provision CStorPoolInstance(s) as specified in the CSPC. A cStor pool is provisioned on node by utilising the disks attached to the node and is represented by CStorPoolInstance(CSPI) custom resource in a Kubernetes cluster. One has freedom to specify the disks that they want to use for pool provisioning.

CSPC API comes with a variety of tunables and features and the API can be viewed for here

Once a CSPC is created, cspc-operator provision CSPI CR and pool-manager deployment on each node where cStor pool should be created. The pool-manager deployment watches for its corresponding CSPI on the node and finally executes commands to perform pool operations e.g pool provisioning.

More info on cStor Pool CRs can be found here.

Note: It is not recommended to modify the CSPI CR and pool-manager in the running cluster unless you know what you are trying to do. CSPC should be the only point of interaction.

Once the CStor pool(s) get provisioned successfully after creating CSPC, admin/user can create PVC to provision csi CStor volumes. When a user creates PVC, CStor CSI driver creates CStorVolumeConfig(CVC) resource, managed and reconciled by the cvc-controller which creates different volume-specific resources for each persistent volume, later managed by their respective controllers, more info can be found here.

The cStor operators work in conjunction with the cStor CSI driver to provide cStor volumes for stateful workloads.

Minimum Supported Versions

K8S : 1.21+

Usage

Raising Issues And PRs

If you want to raise any issue for cstor-operators please do that at openebs/openebs.

Contributing

OpenEBS welcomes your feedback and contributions in any form possible.

Code of conduct

Please read the community code of conduct here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].