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><!-- <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:
Package | Version | Description |
---|---|---|
rook-operator | v1.10.13 | Rook provides a way to run a highly available, durable Ceph storage in your Kubernetes cluster. |
rook-hostcluster | NA | Rook CRDs to run a production ready Ceph cluster providing Block and File storage. |
nfs-subdir-external-provisioner | v4.0.2 | Dynamic sub-dir volume provisioner on a remote NFS server. |
Click on each package to see its full documentation.
Compatibility
Kubernetes Version | Compatibility | Notes |
---|---|---|
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
Tool | Version | Description |
---|---|---|
furyctl | >=0.6.0 | The recommended tool to download and manage KFD modules and their packages. To learn more about furyctl read the official documentation. |
kustomize | 3.5.3 | Packages are customized using kustomize . To learn how to create your customization layer with kustomize , please refer to the repository. |
cert-manager | >=1.13.1 | cert-manager is needed by Rook in order to install a Validating Webhook to asses that Rook CRs are correctly configured. |
prometheus-opeator | >=2.0.1 | prometheus-operator is needed by Rook in order to install the ServiceMonitor needed to monitor the Ceph cluster. |
Deployment
- 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 aboutFuryfile.yml
format.
-
Execute
furyctl vendor -H
to download the packages -
Inspect the download packages under
./vendor/katalog/storage
. -
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
- 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> -->