Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oracle/zfssa-csi-driver
Kubernetes Container Storage Interface (CSI) plug-in for Oracle ZFS Storage Appliance.
https://github.com/oracle/zfssa-csi-driver
csi-driver csi-plugin kubernetes oracle zfssa
Last synced: 3 months ago
JSON representation
Kubernetes Container Storage Interface (CSI) plug-in for Oracle ZFS Storage Appliance.
- Host: GitHub
- URL: https://github.com/oracle/zfssa-csi-driver
- Owner: oracle
- License: upl-1.0
- Created: 2021-08-24T01:29:31.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T09:41:24.000Z (10 months ago)
- Last Synced: 2024-05-05T10:35:44.200Z (10 months ago)
- Topics: csi-driver, csi-plugin, kubernetes, oracle, zfssa
- Language: Go
- Homepage:
- Size: 230 KB
- Stars: 11
- Watchers: 4
- Forks: 6
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Security: SECURITY.md
Awesome Lists containing this project
- k8s_awesome_document - zfssa-csi-driver - --Kubernetes容器存储接口(CSI)插件用于Oracle ZFS存储设备。 (🏗相关开源项目 / Oracle)
README
# About zfssa-csi-driver
This plugin supports Oracle ZFS Storage Appliance
as a backend for block storage (iSCSI volumes) and file storage (NFS).| CSI Plugin Version | Supported CSI Versions | Supported Kubernetes Versions | Persistence | Supported Access Modes | Dynamic Provisioning | Raw Block Support |
|--------------------|------------------------|-------------------------------| --- | --- | --- | --- |
| v1.0.0 | v1.0+ | v1.17.X+ | Persistent | Read/Write Once (for Block), ReadWriteMany (for File) | Yes | Yes |
| v1.1.0 | v1.6.0 | v1.27.3+ | Persistent | Read/Write Once (for Block), ReadWriteMany (for File) | Yes | Yes |## Requirements
* Kubernetes v1.27 or above (version may work on prior Kubernetes versions)
* A Container runtime implementing the Kubernetes Container Runtime Interface.
* An Oracle ZFS Storage Appliance running Appliance Kit Version 8.8 or above. This plugin may work with previous
versions but it is not tested with them. It is possible to use this
driver with the [Oracle ZFS Storage Marketplace Image on OCI](https://cloudmarketplace.oracle.com/marketplace/en_US/listing/122033460)
* Access to both a management path and a data path for the target Oracle
ZFS Storage Appliance (or simulator). The management and data path
can be the same address.
* A suitable container image build environment (podman or docker are accounted
for in the makefile)## Unsupported Functionality
Oracle ZFS Storage Constainer Storage Interface (CSI) driver does not support the following functionality:
* Volume Cloning## Building
Use and enhance the Makefile in the root directory and release-tools/build.make.
Build the driver:
```
make build
```
Depending on the golang installation, there may be dependencies identified by the build, install
these and retry the build.The parent image for the container is container-registry.oracle.com/os/oraclelinux:7-slim, refer
to [container-registry.oracle.com](https://container-registry.oracle.com/) for more information.
The parent image can also be obtained from ghcr.io/oracle/oraclelinux and docker.io/library/oraclelinux.The container build can use the "CONTAINER_PROXY" environment variable if the build
is being done from behind a firewall:
```
export DOCKER_PROXY=
make container
```
Tag and push the resulting container image to a container registry available to the
Kubernetes cluster where it will be deployed or use the 'make push' option.The push target depends on the branch or tag name:
* the branch must be prefixed with 'zfssa-' and can be pushed once
* a branch with a suffix of '-canary' will be a canary image and can be pushed
repeatedlySpecify the REPOSITORY_NAME on the make command (login prior to pushing):
```
make push REGISTRY_NAME=
```## Installation
See [INSTALLATION](./INSTALLATION.md) for details.
## Testing
For information about testing the driver, see [TEST](./TEST.md).
## Examples
Example usage of this driver can be found in the ./examples
directory.The examples below use the image _container-registry.oracle.com/os/oraclelinux:7-slim_
when they create a container where a persistent volume(s) is attached and mounted.This set uses dynamic volume creation.
* [NFS](./examples/nfs/README.md) - illustrates NFS volume usage
from a simple container.
* [Block](./examples/block/README.md) - illustrates block volume
usage from a simple container.
* [NFS multi deployment](./examples/nfs-multi) - illustrates the use
of Helm to build several volumes and optionally build a pod to consume them.This next set uses existing shares on the target appliance:
* [Existing NFS](./examples/nfs-pv/README.md) - illustrates NFS volume usage
from a simple container of an existing NFS filesystem share.
* [Existing Block](./examples/block-pv/README.md) - illustrates block volume
usage from a simple container of an existing iSCSI LUN.This set exercises dynamic volume creation followed by expanding the volume capacity.
* [NFS Volume Expansion](./examples/nfs-exp/README.md) - illustrates an expansion of an NFS volume.This set exercises dynamic volume creation (restoring from a volume snapshot) followed by creating a snapshot of the volume.
* [NFS Volume Snapshot](./examples/nfs-vsc/README.md) - illustrates a snapshot creation of an NFS volume.
* [Block Volume Snapshot](./examples/block-vsc/README.md) - illustrates a snapshot creation of a block volume.## Help
Refer to the documentation links and examples for more information on
this driver.## Security
Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process
## Contributing
See [CONTRIBUTING](./CONTRIBUTING.md) for details.
## License
Copyright (c) 2021 Oracle and/or its affiliates.
Released under the Universal Permissive License v1.0 as shown at
.