https://github.com/thenatureofsoftware/volumizr
Simple kubernetes storage solution using Minio
https://github.com/thenatureofsoftware/volumizr
arm arm64 docker-image kubernetes minio
Last synced: about 1 year ago
JSON representation
Simple kubernetes storage solution using Minio
- Host: GitHub
- URL: https://github.com/thenatureofsoftware/volumizr
- Owner: thenatureofsoftware
- Created: 2017-02-26T21:07:11.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-24T02:43:25.000Z (over 9 years ago)
- Last Synced: 2024-11-05T20:47:04.282Z (over 1 year ago)
- Topics: arm, arm64, docker-image, kubernetes, minio
- Language: Shell
- Homepage:
- Size: 76.2 KB
- Stars: 19
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# volumizr
[](https://travis-ci.org/TheNatureOfSoftware/volumizr)
This is a simple (simplistic or poor but not necessarily bad) solution for solving storage in a Kubernetes cluster. The solution uses `emptyDir` volumes in `StatefulSet` and `init-containers` for setting up volumes before start by mirroring from a [Minio](https://minio.io) server, and after start continuously mirrors changes back.

## Usage
### Mirror in
Docker:
```
$ docker run --rm -it -v $PWD/config.json:/app/config/config.json -v $PWD/mydata:/app/target thenatureofsoftware/volumizr in minio/bucket1 /app/target
```
Init container in Kubernetes:
```
annotations:
pod.beta.kubernetes.io/init-containers:
'[{
"name": "volumizr-in",
"image": "thenatureofsoftware/volumizr:latest",
"args": ["in", "minio/mysql", "/var/lib/mysql"],
"volumeMounts": [{
"mountPath": "/var/lib/mysql",
"name": "persistentdata"
}]
}]
```
### Mirror out
For continuously mirror changes back to minio server.
Docker:
```
$ docker run --rm -it -v $PWD/config.json:/app/config/config.json -v $PWD/mydata:/app/source thenatureofsoftware/volumizr out /app/source minio/bucket1
```
As a sidecar container in Kubernetes:
```
...
- image: thenatureofsoftware/volumizr:latest
imagePullPolicy: Always
name: volumizr-out
args:
- out
- /var/lib/mysql
- minio/mysql
volumeMounts:
- mountPath: "/var/lib/mysql"
name: persistentdata
...
```