Giter Club home page Giter Club logo

jiva's Introduction

Jiva

Build Status Go Report Card Codacy Badge GoDoc FOSSA Status CII Best Practices

Jiva provides highly available iSCSI block storage Persistent Volumes for Kubernetes Stateful Applications, by making use of the host filesystem.

Jiva comprises of two components:

  • A Target ( or a Storage Controller) that exposes iSCSI, while synchronously replicating the data to one or more Replicas.
  • A set of Replicas that a Target uses to read/write data. Each of the replica will be on a different node to ensure high availabiliby against node or network failures. The Replicas save the data into sparse files on the host filesystem directories.

Jiva is containerized storage controller. The docker images are available at:

The docker container can be used directly to spin up volume. OpenEBS Control Plane makes it easy to manage Jiva Volumes.

When using Jiva volumes with OpenEBS, the Jiva volumes is composed of the following Kubernetes native objects.

  • A Kubernetes Service pointing to Jiva iSCSI Target
  • A Kubernetes Deployment for Jiva Target with Replicas=1
  • A Kubernetes Deployment for Jiva Replicas with Replica=n and Pod Anti-affinity set to have each Replica pod on different node

The Jiva Replica Pods are provided with Jiva iSCSI Target Service - Cluster IP and can auto-connect/register with the Targets. The Jiva Target helps in determining the consistency of data across the replicas, by taking care of rebuilding the replicas when required. A Volume will be marked as online for Read and Write - if at least more than 51% of the Replicas are online.

The number of replicas and other attributes of the Jiva volumes can be configured via Storage Class - OpenEBS annotations.

For further info, checkout OpenEBS Documentation or join the slack#

Inspiration and Credit

Rancher Longhorn, which helped with the significant portion of the code in this repo, helped us to validate that Storage controllers can be run as microservices and they can be coded in Go. The iSCSI functionality is derived from gostor/gotgt.

License

FOSSA Status

jiva's People

Contributors

aerostitch avatar ajkumar01 avatar alicewonderland avatar ashishknitcs avatar baotran91 avatar circa10a avatar codegagan avatar dargasudarshan avatar gfleury avatar ibuildthecloud avatar imikushin avatar kmova avatar kp6 avatar miyurz avatar nexweb avatar nsathyaseelan avatar pawanpraka1 avatar payes avatar prateekpandey14 avatar rajatvaryani avatar sanket0896 avatar scorphus avatar utkarshmani1997 avatar valerianpereira avatar vharsh avatar vishnuitta avatar wangzihao3 avatar yasker avatar yudaykiran avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.