All Projects → openebs → cstor-csi

openebs / cstor-csi

Licence: Apache-2.0 license
cStor CSI Driver

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to cstor-csi

aranya
Control all kinds of devices with Kubernetes
Stars: ✭ 16 (-33.33%)
Mutual labels:  csi
k8s-csi-lvm
Kubernetes CSI drivers for LVM
Stars: ✭ 25 (+4.17%)
Mutual labels:  csi
jiva-operator
Kubernetes Operator for managing Jiva Volumes via custom resource.
Stars: ✭ 31 (+29.17%)
Mutual labels:  openebs
azurefile-csi-driver
Azure File CSI Driver
Stars: ✭ 83 (+245.83%)
Mutual labels:  csi
vsphere-csi-driver
vSphere storage Container Storage Interface (CSI) plugin
Stars: ✭ 176 (+633.33%)
Mutual labels:  csi
csi-driver-nfs
This driver allows Kubernetes to access NFS server on Linux node.
Stars: ✭ 227 (+845.83%)
Mutual labels:  csi
lvm-localpv
CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using LVM.
Stars: ✭ 86 (+258.33%)
Mutual labels:  csi
Openebs
Leading Open Source Container Attached Storage, built using Cloud Native Architecture, simplifies running Stateful Applications on Kubernetes.
Stars: ✭ 7,277 (+30220.83%)
Mutual labels:  openebs
CsiGAN
An implementation for our paper: CsiGAN: Robust Channel State Information-based Activity Recognition with GANs (IEEE Internet of Things Journal, 2019), which is the semi-supervised Generative Adversarial Network (GAN) for Channel State Information (CSI) -based activity recognition.
Stars: ✭ 23 (-4.17%)
Mutual labels:  csi
cstor-operators
Collection of OpenEBS cStor Data Engine Operators
Stars: ✭ 77 (+220.83%)
Mutual labels:  openebs
ESP32-CSI-Tool
Extract Channel State Information from WiFi-enabled ESP32 Microcontroller. Active and Passive modes available. (https://stevenmhernandez.github.io/ESP32-CSI-Tool/)
Stars: ✭ 100 (+316.67%)
Mutual labels:  csi
vsphere-kubernetes-drivers-operator
vSphere Kubernetes Driver Operator to simplify and automate the lifecycle management of CSI and CPI for Kubernetes cluster running on vSphere
Stars: ✭ 21 (-12.5%)
Mutual labels:  csi
Dotnet Script
Run C# scripts from the .NET CLI.
Stars: ✭ 1,881 (+7737.5%)
Mutual labels:  csi
isaac ros argus camera
ROS2 packages based on NVIDIA libArgus library for hardware-accelerated CSI camera support.
Stars: ✭ 21 (-12.5%)
Mutual labels:  csi
openebsctl
`openebsctl` is a kubectl plugin to manage OpenEBS storage components.
Stars: ✭ 23 (-4.17%)
Mutual labels:  openebs
simple-targets-csx
⊙ A minimalist target runner for C# scripts.
Stars: ✭ 17 (-29.17%)
Mutual labels:  csi
carina
Carina: an high performance and ops-free local storage for kubernetes
Stars: ✭ 256 (+966.67%)
Mutual labels:  csi
cstor
CAS Data Engine - User Space implementation of a popular COW Data Engine - ZFS
Stars: ✭ 47 (+95.83%)
Mutual labels:  openebs
jiva
CAS Data Engine - iSCSI Distributed Block Storage Controller built-in Go
Stars: ✭ 121 (+404.17%)
Mutual labels:  openebs
openebs-docs
OpenEBS Documentation
Stars: ✭ 37 (+54.17%)
Mutual labels:  openebs

OpenEBS cStor CSI Driver

FOSSA Status Build Status Go Report Slack Community Meetings

CSI driver implementation for OpenEBS cStor storage engine.

Project Status: Beta

The current implementation supports the following for cStor Volumes:

  1. Provisioning and De-provisioning with ext4,xfs filesystems
  2. Snapshots and clones
  3. Volume Expansion
  4. Volume Metrics

Setup OpenEBS cStor CSI Driver

OpenEBS cStor CSI driver components can be installed by using the helm chart or operator yaml. Refer to cstor-operators for detailed usage instructions.

How does it work?

OpenEBS cStor CSI driver comprises of 2 components:

  • A controller component launched as a StatefulSet, implementing the CSI controller services. The Control Plane services are responsible for creating/deleting the required OpenEBS Volume.
  • A node component that runs as a DaemonSet,implementing the CSI node services. The node component is responsible for performing the iSCSI connection management and connecting to the OpenEBS Volume.

The following steps indicate the PV provisioning workflow as it passes through various components.

  1. Create PVC with Storage Class referring to OpenEBS cStor CSI Driver.

  2. Kubernetes will pass the PV creation request to the OpenEBS CSI Controller service via CreateVolume(), as this controller registered with Kubernetes for receiving any requests related to cstor.csi.openebs.io

  3. OpenEBS CSI Controller will create a custom resource called CStorVolumeConfig(CVC) and returns the details of the newly created object back to Kubernetes. The CVCs will be monitored by the cvc-operator. The cvc-operator watches the CVC resources and creates the respected volume specific resources like CStorVolume(CV), Target deployement, CStorVolumeReplicas and K8s service.

    Once the cStor Volume is created, the CVC is updated with the reference to the cStor Volume and change the status on CVC to bound.

  4. Node Component which was waiting on the CVC status to be Bound will proceed to connect to the cStor volume.

Note: While the asynchronous handling of the Volume provisioning is in progress, the application pod may throw some errors like:

  • Waiting for CVC to be bound: Implies volume components are still being created
  • Volume is not ready: Replicas yet to connect to controller: Implies volume components are already created but yet to interact with each other.

On successful completion of the above steps the application pod can be seen in running state.

Contributing

OpenEBS welcomes your feedback and contributions in any form possible.

License

FOSSA Status

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].