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 mainly a glue project that connects LINSTOR and DRBD to Kubernetes. Therefore, communication channels for LINSTOR and DRBD are also relevant for people interested in Piraeus Datastore. This is ...
Piraeus Datastore is licensed under the Apache License, Version 2.0. See LICENSE.