Home

Awesome

<h1> <img src="https://github.com/sighupio/fury-distribution/blob/main/docs/assets/fury-epta-white.png?raw=true" align="left" width="90" style="margin-right: 15px"/> Kubernetes Fury Storage </h1>

Release License Slack

<!-- <KFD-DOCS> -->

Kubernetes Fury Storage provides the Rook Kubernetes Operator for Ceph add-on for Kubernetes Fury Distribution (KFD).

If you are new to KFD please refer to the official documentation on how to get started with KFD.

Overview

Kubernetes Fury Storage uses the Rook operator to install and manage Ceph clusters in a Kubernetes environment.

All the components are deployed in the rook-ceph namespace of the cluster.

Packages

The following packages are included in the Fury Kubernetes Storage katalog:

PackageVersionDescription
rook-operatorv1.10.13Rook provides a way to run a highly available, durable Ceph storage in your Kubernetes cluster.
rook-hostclusterNARook CRDs to run a production ready Ceph cluster providing Block and File storage.
nfs-subdir-external-provisionerv4.0.2Dynamic sub-dir volume provisioner on a remote NFS server.

Click on each package to see its full documentation.

Compatibility

Kubernetes VersionCompatibilityNotes
1.22.x:white_check_mark:No known issues
1.23.x:white_check_mark:No known issues
1.24.x:white_check_mark:No known issues
1.25.x:white_check_mark:No known issues

Check the compatibility matrix for additional information about previous releases of the modules.

The module is still in version 0.X.X but can be used in production.

Usage

Prerequisites

ToolVersionDescription
furyctl>=0.6.0The recommended tool to download and manage KFD modules and their packages. To learn more about furyctl read the official documentation.
kustomize3.5.3Packages are customized using kustomize. To learn how to create your customization layer with kustomize, please refer to the repository.
cert-manager>=1.13.1cert-manager is needed by Rook in order to install a Validating Webhook to asses that Rook CRs are correctly configured.
prometheus-opeator>=2.0.1prometheus-operator is needed by Rook in order to install the ServiceMonitor needed to monitor the Ceph cluster.

Deployment

  1. List the packages you want to deploy and their version in a Furyfile.yml
bases:
  - name: ingress/cert-manager
    version: "v1.13.1"
  - name: monitoring/promtheus-operator
    version: "v2.0.1"
  - name: storage/rook-operator
    version: "v0.2.0"
  - name: storage/rook-hostcluster
    version: "v0.2.0"

See furyctl documentation for additional details about Furyfile.yml format.

  1. Execute furyctl vendor -H to download the packages

  2. Inspect the download packages under ./vendor/katalog/storage.

  3. Define a kustomization.yaml that includes the ./vendor/katalog/storage directory as resource.

resources:
  - ./vendor/katalog/ingress/cert-manager
  - ./vendor/katalog/monitoring/prometheus-operator
  - ./vendor/katalog/storage/rook-operator
  - ./vendor/katalog/storage/rook-hostcluster
  1. To deploy the packages to your cluster, execute:
kustomize build . | kubectl apply -f - --server-side
<!-- Links --> <!-- </KFD-DOCS> --> <!-- <FOOTER> -->

Contributing

Before contributing, please read first the Contributing Guidelines.

Reporting Issues

In case you experience any problem with the module, please open a new issue.

License

This module is open-source and it's released under the following LICENSE

<!-- </FOOTER> -->