https://github.com/anexia/csi-driver
CSI driver for Anexia cloud
https://github.com/anexia/csi-driver
containers csi-driver kubernetes
Last synced: about 2 months ago
JSON representation
CSI driver for Anexia cloud
- Host: GitHub
- URL: https://github.com/anexia/csi-driver
- Owner: anexia
- License: apache-2.0
- Created: 2022-11-30T11:09:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-01T12:05:02.000Z (5 months ago)
- Last Synced: 2026-01-09T04:02:06.269Z (5 months ago)
- Topics: containers, csi-driver, kubernetes
- Language: Go
- Homepage:
- Size: 334 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# csi-driver for Anexia
[](https://github.com/anexia/csi-driver/actions/workflows/push.yml)
[](https://codeclimate.com/github/anexia/csi-driver)
[](https://codeclimate.com/github/anexia/csi-driver/test_coverage)
This is a csi-driver for Anexia!
## Prerequirements
1. Anexia Engine account with `Dynamic Volume` (ADV) module enabled
2. ADV Storage Server Interface created in a IPAM prefix with role `SCND unrouted unique`
3. K8s nodes with network access to the Storage Server Interface
4. Anexia Engine service-account token with:
- full ADV permissions
- IP Space - View All
5. `rpc-statd` service running on hosts (included in `nfs-common` package)
* alternatively add the 'nolock' option to `mountOptions` on `StorageClass` or `PersistentVolume.spec` if global file locking is not needed
## Installation
> [!NOTE]
> If you create a K8s cluster using Anexias Kubernetes Engine (AKE) with a `SCND unrouted unique` IPAM prefix configured and have an ADV enabled Engine account,
> the CSI driver will automatically be deployed and configured with a default `StorageClass` using ENT2 storage called `anexia-ent2`.
To install the CSI driver and configure a StorageClass in a K8s cluster not managed by Anexia, you can apply the following steps to get it running:
> [!IMPORTANT]
> Make sure to set both `$ANEXIA_TOKEN` and `$STORAGE_SERVER_INTERFACE_ID` with the data from the prerequirements.
> We recommend to execute the following steps in an empty directory as it creates a new file (`kustomization.yaml`) in the current working directory.
```bash
# Create secret from Anexia Engine service-account token
$ kubectl create secret generic csi-driver-anexia --from-literal=token=$ANEXIA_TOKEN -n kube-system
# Create a deployment kustomization using the id of the storage-server-interface
# Note: you can also apply deploy/kubernetes/{rbac,driver}.yaml individualy if you don't want to use kustomize
$ cat < ./kustomization.yaml
resources:
- github.com/anexia/csi-driver/deploy/kubernetes
patches:
- patch: |-
- op: replace
path: /parameters/csi.anx.io~1storage-server-identifier
value: "$STORAGE_SERVER_INTERFACE_ID"
target:
kind: StorageClass
name: anexia-ent2
EOT
# Apply the deployment kustomization
$ kubectl apply -k .
```
## Configuration
### StorageClass
> [!IMPORTANT]
> Make sure to set the `$STORAGE_SERVER_INTERFACE_ID` environment variable with the ADV Storage Server Interface identifier set as value.
```bash
kubectl apply -f - <