joviandss-kubernetescsi

module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: Apache-2.0

README

Open-E JovianDSS Kubernetes CSI plugin

Go Report Card

This repo provide plugin source code along side with the resource deffinitions and instructions on how to use Jovian Data Storage Solution as a storage for containers running in Kubernetes cluster.

Supported platforms

JovianDSS CSI plugin been tested on following platforms: Talos OS 1.6

Plugin installation

Here is a guide on how user can install plugin using kubectl.

Helm charts are comming...

Plugin configuration

General plugin configuration gets done by passing config file in form of kubernetes secret. You can check for example on how to expose config file to plugin in installation guide. Check configuration document to learn about configurational options.

Deploy example applications

Once plugin installation is completed user can deploy applications that use volumes from JovianDSS as persistent volumes

Here is examples of volumes and snapshots:

NGINX app with PVC

Keep in mind that PVC volumes will get automatically created and deleted with container creation and deletion.

kubectl apply -f ./deploy/example/nginx-pvc.yaml
NGINX app with PV

In order to deploy application with pre provisioned volume administrator first have to create volume. It can be done with the help of csc tool. Or it can be done manually with JovianDSS user interface or cli tool, keep in mind that for existing volume to be used it name have to start with vp_ prefix.

For instance if you have existing zvol on JovianDSS named pv-test and you want to attach it to nginx application running inside kubernetes:

  1. Rename volume pv-test to vp_pv-test.
  2. Create persistent volume User can find example of persistent volumes at deploy/example/pv-test.yaml. In order to set your volume user is expected to change spec: csi: volumeHandle to exact name that volume have on JovianDSS pool. Once it it done pv can be created by calling:
kubectl apply -f ./deploy/example/pv-test.yaml
  1. Create persistent volume claim Once you obtain Id of the volume you can create pvc based on specific pv:
kubectl apply -f ./deploy/example/pv-test-pvc.yaml
  1. Deploy application
kubectl apply -f ./deploy/example/pv-test-pvc-nginx.yaml
Making snapshot

Snapshot of volume associated with pvc pv-test-pvc provided in previous example can be created by:

kubectl apply -f ./deploy/example/pv-test-pvc-snapshot.yaml

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL