Skip to content

Kubernetes volume provisioner that binds PV to PVC without actually provisioning storage. Useful for testing.

Notifications You must be signed in to change notification settings

adriansuarez/noop-provisioner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

noop-provisioner

This is a trivial volume provisioner that is intended to be used to simulate scheduling of stateful workloads, to enable testing with tools like KWOK. This is based on hostpath-provisioner example of the external-provisioner controller.

Example usage in kwok cluster:

# Create K8s cluster and add worker nodes
export KWOK_WORKDIR=/tmp
export KUBECONFIG=/tmp/kubeconfig.yaml
kwokctl create cluster --wait 1m
kwokctl scale node --replicas 4

# Start noop volume provisioner that immediately binds PVCs
docker run -d --name noop-provisioner \
    -v /tmp/clusters/kwok/kubeconfig:/kubeconfig \
    -v /tmp/clusters/kwok/pki:/etc/kubernetes/pki \
    --network kwok-kwok \
    ghcr.io/adriansuarez/noop-provisioner:latest -kubeconfig /kubeconfig

# Create storage class for noop provisioner
kubectl apply -f - <<EOF
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  name: noop
provisioner: nuodb.github.io/noop-provisioner
EOF

# Create stateful workloads (NuoDB domain and database)
helm install nuodb-admin --repo https://nuodb.github.io/nuodb-helm-charts admin
helm install nuodb-database --repo https://nuodb.github.io/nuodb-helm-charts database

About

Kubernetes volume provisioner that binds PV to PVC without actually provisioning storage. Useful for testing.

Resources

Stars

Watchers

Forks

Packages