Da ceph-ansible nun veraltet ist, unterstützt die SCS Referenzimplementierung jetzt die Bereitstellung von Ceph mithilfe von Rook, einem “graduated-level cloud-native project”.
In OSISM wird Rook mit den offiziell empfohlenen Helm Charts. bereitgestellt. Ansible wird verwendet, um die Helm-Charts sowohl für den Rook Operator als auch für die Rook Custom Resoruce Definitions (CRD’s) zu installieren.
Die Rook-Bereitstellung wurde auch in das OSISM-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ähigen Rook-Cluster auf dem 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 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.
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 derSCS-Konfigurationsdokumentation.
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