Piraeus is a high performance, highly-available, simple, secure, and cloud agnostic storage solution for Kubernetes.
The Piraeus Project consists of:
- A Kubernetes Operator to create, configure and maintain all components of Piraeus.
- A CSI Driver to provision persistent volumes and snapshots on the storage cluster maintained by Piraeus.
- A High Availability Controller to speed up the failover process of stateful workloads
- A Volume Affinity Controller, keeping Kubernetes Persistent Volumes reported affinity in sync with the cluster.
- Container images for the open source components Piraeus is built on:
- DRBD is used as the underlying storage replication mechanism between cluster nodes. Documentation is provided by LINBIT.
- LINSTOR creates and manages volumes on request of the CSI Driver, sets up replication using DRBD and prepares the backing storage devices. Documentation is provided by LINBIT.
Piraeus is a CNCF Sandbox Project.
Installing Piraeus can be as easy as:
$ kubectl apply --server-side -k "https://github.com/piraeusdatastore/piraeus-operator//config/default?ref=v2"
namespace/piraeus-datastore configured
...
$ kubectl wait pod --for=condition=Ready -n piraeus-datastore -l app.kubernetes.io/component=piraeus-operator
pod/piraeus-operator-controller-manager-dd898f48c-bhbtv condition met
$ kubectl apply -f - <<EOF
apiVersion: piraeus.io/v1
kind: LinstorCluster
metadata:
name: linstorcluster
spec: {}
EOF
Head on over to the Piraeus Operator docs to learn more. It contains detailed instructions on how to get started using Piraeus.
It also contains a basic Helm chart. See here.
You are welcome to contribute on Piraeus. See CONTRIBUTING.md for how to get started.
Active communication channels:
Piraeus Datastore is licensed under the Apache License, Version 2.0. See LICENSE.