Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/add blog rook only #1026

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3347ad4
add personal information
boekhorstb1 Aug 26, 2024
05de616
feat: add initial blog entries for german and english translations
boekhorstb1 Aug 26, 2024
aab8297
feat: blog for ceph with rook
boekhorstb1 Aug 27, 2024
b6c418b
blog update on rookify: adding a section to use testbed for testing r…
boekhorstb1 Aug 27, 2024
3021fa4
add info about using rookify with testbed
boekhorstb1 Aug 27, 2024
41084cb
add more information about tested and cloud-in-a-box, also add missin…
boekhorstb1 Aug 29, 2024
4025e3e
update: add explanation of rooks workflow
boekhorstb1 Aug 29, 2024
d271193
blog: statemachine design update
boekhorstb1 Sep 2, 2024
56175a9
blog: update work flow description
boekhorstb1 Sep 2, 2024
11b3cc2
blog: update test instructions and clearify text
boekhorstb1 Sep 2, 2024
27d6044
blog: mv englisch blogs to en directory
boekhorstb1 Sep 2, 2024
f108402
blog: udpates to en version and first translations of german version
boekhorstb1 Sep 2, 2024
9828868
Blog: erste De übersetzung, small adaptions to English text
boekhorstb1 Sep 2, 2024
7397c75
blog: changes to english version
boekhorstb1 Sep 2, 2024
35592c6
blog: add german translation
boekhorstb1 Sep 2, 2024
c6c9f18
blog: update testbed tutorial with more examples and some cli output,…
boekhorstb1 Sep 3, 2024
58f3cba
blog rookify: cli output
boekhorstb1 Sep 4, 2024
db05d3a
rookify blog: add german translation
boekhorstb1 Sep 4, 2024
87ec241
blog rook deployment: small spelling error
boekhorstb1 Sep 4, 2024
9072ce1
set to slug
fkr Sep 4, 2024
424ba56
fix: avatar jpg name
boekhorstb1 Sep 4, 2024
9b43269
fix: update to bio
boekhorstb1 Sep 4, 2024
78e1dbc
blogs: update, members: path update
boekhorstb1 Sep 4, 2024
d4309b1
fix: typos, naming, links
boekhorstb1 Sep 4, 2024
9fbe2cb
Update _i18n/de/_posts/blog/2024-08-27-rookify.md
boekhorstb1 Sep 25, 2024
54de24f
Update _i18n/de/_posts/blog/2024-08-26-ceph-rook.md
boekhorstb1 Sep 25, 2024
6364b32
Update _i18n/de/_posts/blog/2024-08-27-rookify.md
boekhorstb1 Sep 25, 2024
7488861
Update _i18n/en/_posts/blog/2024-08-26-ceph-rook.md
boekhorstb1 Sep 25, 2024
5982be2
fix: add rookify posts to other pr
boekhorstb1 Sep 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added _assets/images/rboekhorst.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
78 changes: 78 additions & 0 deletions _i18n/de/_posts/blog/2024-08-26-ceph-rook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
layout: post
title: "Ceph-Bereitstellung mit Rook"
category: tech
author:
- "Rafael te Boekhorst"
avatar:
- "rboekhorst.jpg"
about:
- "boekhorst"
---

## Ceph-Bereitstellung mit Rook

Da ceph-ansible nun [veraltet](https://github.com/ceph/ceph-ansible/commit/a9d1ec844d24fcc3ddea7c030eff4cd6c414d23d) ist, unterstützt die SCS Referenzimplementierung jetzt die Bereitstellung von Ceph mithilfe von [Rook](https://rook.io/docs/rook/latest-release/Getting-Started/intro/), einem ["graduated-level cloud-native project"](https://www.cncf.io/announcements/2020/10/07/cloud-native-computing-foundation-announces-rook-graduation/).

## OSISM-Referenzimplementierung

In OSISM wird Rook mit den offiziell empfohlenen [Helm Charts](https://rook.io/docs/rook/latest-release/Helm-Charts/helm-charts/). bereitgestellt. Ansible wird verwendet, um die Helm-Charts sowohl für den [Rook Operator](https://github.com/osism/ansible-collection-services/tree/main/roles/rook_operator) als auch für die [Rook Custom Resoruce Definitions (CRD's)](https://github.com/osism/ansible-collection-services/tree/main/roles/rook) zu installieren.

Die Rook-Bereitstellung wurde auch in das [OSISM-Testbed](https://osism.tech/docs/guides/other-guides/testbed) integriert. Wenn Sie ein laufendes Testbed haben, können Sie sich mit `make login` einloggen und die verschiedenen OSISM-Befehle im Zusammenhang mit Rook anzeigen, indem Sie `osism apply` eingeben:

```
dragon@testbed-manager:/opt/configuration/scripts/deploy$ osism apply | grep rook
| rook | rook |
| rook-cleanup | rook |
| rook-crd | rook |
| rook-fetch-keys | rook |
| rook-helm | rook |
| rook-operator | rook |
```

Um ein minimal funktionsfähiges Rook-Cluster auf das Testbed zu installieren, können Sie das Hilfsskript unter `/opt/configuration/scripts/deploy/100-rook-services.sh`, verwenden. Dieses Skript automatisiert die Installation von [k3s](https://docs.scs.community/docs/operating-scs/components/monitoring/docs/k3s/) und führt dann die folgenden Befehle aus:

```
osism apply rook-operator
osism apply rook
osism apply rook-fetch-keys

# Dies informiert die cephclient-Rolle, welcher Clienttyp installiert werden soll.
echo "cephclient_install_type: rook" >> /opt/configuration/environments/infrastructure/configuration.yml
osism apply cephclient
```

_Hinweis_: Der Ceph-Client in OSISM ist speziell für Rook konfiguriert. Es handelt sich um eine kleine Rolle, die sicherstellt, dass nur der Rook-Client eingerichtet wird.

## Configuration

Rook kann durch Bearbeiten der Variablen für das Helm-Chart in der Datei `environments/rook/configuration.yml` konfiguriert werden. Weitere Informationen zu den verschiedenen Konfigurationsoptionen finden Sie in der[SCS-Konfigurationsdokumentation](https://docs.scs.community/docs/iaas/guides/configuration-guide/rook).

Das OSISM-Testbed stellt auf dem Manager-Knoten die folgende Standardkonfigurationsdatei unter `/opt/configuration/environments/rook/config.yml` bereit:

```
---
rook_network_public: "192.168.16.0/20"
rook_storage_devicefilter: "^sd[b-c]"
rook_storage_nodes:
- name: "testbed-node-0"
- name: "testbed-node-1"
- name: "testbed-node-2"
## reduce resources to fit into testbed
rook_resources_cephfilesystem:
limits:
memory: "4Gi"
requests:
cpu: "500m"
memory: "4Gi"
rook_resources_cephobjecstore:
limits:
memory: "2Gi"
requests:
cpu: "500m"
memory: "1Gi"
## set to true to enable monitoring
# rook_monitoring_enabled: true
## set to true to enable cleanup
# rook_cleanup: true
```
78 changes: 78 additions & 0 deletions _i18n/en/_posts/blog/2024-08-26-ceph-rook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
layout: post
title: "Ceph deployment with Rook"
category: tech
author:
- "Rafael te Boekhorst"
avatar:
- "rboekhorst.jpg"
about:
- "boekhorst"
---

## Ceph Deployment with Rook

With the [depreceation](https://github.com/ceph/ceph-ansible/commit/a9d1ec844d24fcc3ddea7c030eff4cd6c414d23d) of ceph-ansible, the SCS reference implementation now supports Ceph deployment with [Rook](https://rook.io/docs/rook/latest-release/Getting-Started/intro/), a [graduated-level cloud-native project](https://www.cncf.io/announcements/2020/10/07/cloud-native-computing-foundation-announces-rook-graduation/).

## OSISM Reference Implementation

In OSISM, Rook is can be deployed using the officially recommended [Helm Charts](https://rook.io/docs/rook/latest-release/Helm-Charts/helm-charts/). Ansible is used to deploy the Helm charts for both the [Rook Operator](https://github.com/osism/ansible-collection-services/tree/main/roles/rook_operator) and the [Rook Custom Resoruce Definitions](https://github.com/osism/ansible-collection-services/tree/main/roles/rook).

Rook deployment has also been integrated into the [OSISM testbed](https://osism.tech/docs/guides/other-guides/testbed). If you have a running testbed, you can login with `make login` and view the various OSISM commands related to rook by simply typing `osism apply` and grepping for 'rook':

```
dragon@testbed-manager:/opt/configuration/scripts/deploy$ osism apply | grep rook
| rook | rook |
| rook-cleanup | rook |
| rook-crd | rook |
| rook-fetch-keys | rook |
| rook-helm | rook |
| rook-operator | rook |
```

To install a minimal working rook you can use the helper script located in `/opt/configuration/scripts/deploy/100-rook-services.sh`, which automates the installation of [k3s](https://docs.scs.community/docs/operating-scs/components/monitoring/docs/k3s/) and then runs the following commands:

```
osism apply rook-operator
osism apply rook
osism apply rook-fetch-keys

# the role for the cephclient is informed which type of client should be installed.
echo "cephclient_install_type: rook" >> /opt/configuration/environments/infrastructure/configuration.yml
osism apply cephclient
```

Note: the cephclient for OSISM is configured specifically for rook. It is a small role that ensures only the Rook client is setup.

## Configuration

Rook can be configured by editing the variables for the Helm chart in the file `environments/rook/configuration.yml`. For more information on the various configuration options, see the [SCS configration guide](https://docs.scs.community/docs/iaas/guides/configuration-guide/rook).

The OSISM testbed provides the following default configuration at `/opt/configuration/environments/rook/config.yml` on the manager node:

```
---
rook_network_public: "192.168.16.0/20"
rook_storage_devicefilter: "^sd[b-c]"
rook_storage_nodes:
- name: "testbed-node-0"
- name: "testbed-node-1"
- name: "testbed-node-2"
## reduce resources to fit into testbed
rook_resources_cephfilesystem:
limits:
memory: "4Gi"
requests:
cpu: "500m"
memory: "4Gi"
rook_resources_cephobjecstore:
limits:
memory: "2Gi"
requests:
cpu: "500m"
memory: "1Gi"
## set to true to enable monitoring
# rook_monitoring_enabled: true
## set to true to enable cleanup
# rook_cleanup: true
```
16 changes: 16 additions & 0 deletions _members/boekhorst.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
author_slug: boekhorst
title: Rafael te Boekhorst
layout: community
lastname: Boekhorst
firstname: Rafael
role: Junior Software Developer
company: B1 Systems GmbH
companylink: https://osism.tech/
github: https://github.com/boekhorstb1
matrix: https://matrix.to/#/@boekhorstb1:matrix.org
mail: [email protected]
avatar: rboekhorst.jpg
bio: |
Rafael is a Junior Software Developer with an interest in Open Source Software Development and Linux.
---