Skip to content

Piraeus Datastore - High-Availability Datastore for Kubernetes

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 StatefulSets
  • 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.

Getting started

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.

Community

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 ...

Reference

Comments