Giter Site home page Giter Site logo

karthik-us / kubernetes-csi-addons Goto Github PK

View Code? Open in Web Editor NEW

This project forked from csi-addons/kubernetes-csi-addons

0.0 0.0 0.0 33.79 MB

CSI-Addons implementation and APIs for Kubernetes

License: Apache License 2.0

Go 96.19% Makefile 3.61% Dockerfile 0.20%

kubernetes-csi-addons's Introduction

CSI-Addons for Kubernetes

GitHub release Go Report Card TODOs

This repository contains the implementation for the CSI-Addons specification that can be used with Kubernetes. As such, this project is part of the Container Storage Interface Addons community.

The CSI API is tightly integrated with Kubernetes. In order to extend the interface, a new CSI-Addons Controller is needed. The CSI-Addons Controller will watch for Kubernetes events (CRs) and relay operation initiated by the user to the CSI-driver.

.------.   CR  .------------.
| User |-------| CSI-Addons |
'------'       | Controller |
               '------------'
                      |
                      | gRPC
                      |
            .---------+------------------------------.
            |         |                              |
            |  .------------.        .------------.  |
            |  | CSI-Addons |  gRPC  |    CSI     |  |
            |  |  side-car  |--------| Controller |  |
            |  '------------'        | NodePlugin |  |
            |                        '------------'  |
            | CSI-driver Pod                         |
            '----------------------------------------'

A CSI-Addons side-car will be running in the CSI-driver (provisioner and node-plugin) Pods. The side-car calls gRPC procedures for CSI-Addons operations.

CSI-driver side-car

The CSI-driver side-car is located with the CSI-Controller (provisioner) and the CSI-nodeplugin containers. The side-car registers itself by creating a CSIAddonsNode CR that the CSI-Addons Controller can use to connect to the side-car and execute operations.

csi-addons executable

The csi-addons executable can be used to call CSI-Addons operations against a CSI-driver. It is included in the side-car container image, so that manual execution by admins and (automated) testing can easily be done.

See the csi-addons tool documentation for more details.

Controller

The CSI-Addons Controller handles the requests from users to initiate an operation. Users create a CR that the controller inspects, and forwards a request to one or more CSI-Addons side-cars for execution.

By listing the CSIAddonsNode CRs, the CSI-Addons Controller knows how to connect to the side-cars. By checking the supported capabilities of the side-cars, it can decide where to execute operations that the user requested.

Installation

Refer to the installation guide for more details.

Contributing

The Contribution Guidelines contain details on the process to contribute to this project. For feature enhancements, or questions about particular features or design choices, there is a mailinglist. All regular contributors are encouraged to subscribe to the list, and participate in the discussions.

Subscribing can be done through the mailman web interface or by sending an email to [email protected] with subject subscribe.

kubernetes-csi-addons's People

Contributors

dependabot[bot] avatar karthik-us avatar madhu-1 avatar matancarmeli7 avatar nixpanic avatar raghavendrabhat avatar rakshith-r avatar riya-singhal31 avatar saranyareddy24 avatar subhamkrai avatar yati1998 avatar yuggupta27 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.