All Projects → scaleway → scaleway-csi

scaleway / scaleway-csi

Licence: Apache-2.0 license
Container Storage Interface (CSI) Driver for https://www.scaleway.com/block-storage/

Programming Languages

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

Projects that are alternatives of or similar to scaleway-csi

ibm-spectrum-scale-csi
The IBM Spectrum Scale Container Storage Interface (CSI) project enables container orchestrators, such as Kubernetes and OpenShift, to manage the life-cycle of persistent storage.
Stars: ✭ 41 (-21.15%)
Mutual labels:  container, csi
docker-cyberchef
GCHQ CyberChef in a container
Stars: ✭ 81 (+55.77%)
Mutual labels:  container
northstar-dedicated
Docker image for the Northstar dedicated server.
Stars: ✭ 89 (+71.15%)
Mutual labels:  container
edap
No description or website provided.
Stars: ✭ 22 (-57.69%)
Mutual labels:  container
scif
scientific filesystem: a filesystem organization for scientific software and metadata
Stars: ✭ 30 (-42.31%)
Mutual labels:  container
Unity-SerializeReferenceExtensions
Provide popup to specify the type of the field serialized by the [SerializeReference] attribute in the inspector.
Stars: ✭ 255 (+390.38%)
Mutual labels:  interface
kapsule
Kapsule - A closure based Web Component library
Stars: ✭ 43 (-17.31%)
Mutual labels:  kapsule
runiac
Run IaC Anywhere With Ease
Stars: ✭ 18 (-65.38%)
Mutual labels:  container
waiter
Dependency injection, Inversion of control container for rust with compile time binding.
Stars: ✭ 71 (+36.54%)
Mutual labels:  container
dualFace
dualFace: Two-Stage Drawing Guidance for Freehand Portrait Sketching (CVMJ)
Stars: ✭ 46 (-11.54%)
Mutual labels:  interface
typescript-container-action-template
🐙 Template repository to create a GitHub container action in Node.js with TypeScript
Stars: ✭ 25 (-51.92%)
Mutual labels:  container
cache
Simple and easy go cache micro framework
Stars: ✭ 12 (-76.92%)
Mutual labels:  interface
gtcdk8s
Courseware for a Docker + Kubernetes workshop
Stars: ✭ 15 (-71.15%)
Mutual labels:  container
soulseek-docker
🐳 Soulseek Over noVNC Docker Container
Stars: ✭ 149 (+186.54%)
Mutual labels:  container
akk-stack
Containerized EverQuest Emulator Server Environment
Stars: ✭ 36 (-30.77%)
Mutual labels:  container
aws-fsx-csi-driver
CSI Driver of Amazon FSx for Lustre https://aws.amazon.com/fsx/lustre/
Stars: ✭ 102 (+96.15%)
Mutual labels:  csi
sassy-css
Learn UI Design, CSS, SASS by completing interesting tasks.
Stars: ✭ 16 (-69.23%)
Mutual labels:  interface
s2i-ruby-container
Ruby container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running Ruby applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 55 (+5.77%)
Mutual labels:  container
docker-metasploit
Metasploit framework with steroids
Stars: ✭ 49 (-5.77%)
Mutual labels:  container
plf queue
A C++ data container replicating std::queue functionality but with better performance.
Stars: ✭ 20 (-61.54%)
Mutual labels:  container

Scaleway Block Volume CSI driver

The Scaleway Block Volume Container Storage Interface (CSI) driver is an implementation of the CSI interface to provide a way to manage Scaleway Block Volumes through a container orchestration system, like Kubernetes.

WARNING: this project is under active development and should be considered alpha.

CSI Specification Compability Matrix

Scaleway CSI Driver \ CSI Version v1.2.0 v1.6.0
master branch yes yes
v0.1.x yes no
v0.2.x yes yes

Features

Here is a list of functionality implemented by the Scaleway CSI driver.

Block device resizing

The Scaleway CSI driver implements the resize feature (example for Kubernetes). It allows an online resize (without the need to detach the block device). However resizing can only be done upwards, decreasing a volume's size is not supported.

Raw Block Volume

Raw Block Volumes allows the block volume to be exposed directly to the container as a block device, instead of a mounted filesystem. To enable it, the volumeMode needs to be set to Block. For instance, here is a PVC in raw block volume mode:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-raw-pvc
spec:
  volumeMode: Block
  [...]

At-Rest Encryption

Support for volume encryption. see in exemples

Volume Snapshots

Volume Snapshots allows the user to create a snapshot of a specific block volume.

Volume Statistics

The Scaleway CSI driver implements the NodeGetVolumeStats CSI method. It is used to gather statistics about the used block volumes. In Kubernetes, kubelet exposes these metrics.

Kubernetes

This section is Kubernetes specific. Note that Scaleway CSI driver may work for older Kubernetes version than those announced. The CSI driver allows to use Persistent Volumes in Kubernetes.

Kubernetes Version Compability Matrix

Scaleway CSI Driver \ Kubernetes Version Min K8s Version Max K8s Version
master branch v1.20 -
v0.1.x v1.17 -
v0.2.x v1.20 -

Examples

Some examples are available here.

Installation

These steps will cover how to install the Scaleway CSI driver in your Kubernetes cluster.

Requirements

  • A Kubernetes cluster running on Scaleway instances (v1.17+)
  • Scaleway Project or Organization ID, Access and Secret key

Deployment

  1. Configure the Scalewy secrets.

Edit the secret file in order to set your own secrets. Once replaced, you can create the secret:

$ kubectl apply -f ./deploy/kubernetes/scaleway-secret.yaml
  1. Deploy the Scaleway CSI driver and the needed sidecars.

It's recommended to deploy the latest tagged version, but you can also deploy the master version. Here we will deploy the latest version 0.1.4.

$ kubectl create -f ./deploy/kubernetes/scaleway-csi-v0.1.4.yaml

You can now verify that the driver is running:

$ kubectl get pods -n kube-system
[...]
scaleway-csi-controller-76897b577d-b4dgw   5/5     Running   0          3m
scaleway-csi-node-hvkfw                    3/3     Running   0          3m
scaleway-csi-node-jmrz2                    3/3     Running   0          3m
[...]

and you should see the scaleway-csi-controller and the scaleway-csi-node pods.

Development

Build

You can build the Scaleway CSI driver executable using the following commands:

make build

You can build a local docker image named scaleway-csi for your current architecture using the following command:

make docker-build

Test

In order to run the tests:

make test

Contribute

If you are looking for a way to contribute please read the contributing guide

Code of conduct

Participation in the Kubernetes community is governed by the CNCF Code of Conduct.

Reach us

We love feedback. Feel free to reach us on Scaleway Slack community, we are waiting for you on #k8s.

You can also join the official Kubernetes slack on #scaleway-k8s channel

You can also raise an issue if you think you've found a bug.

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