From 9618d0f4e461cdf11cef6783dc136228e58be2bd Mon Sep 17 00:00:00 2001 From: Nick Adam Date: Wed, 14 Jan 2026 11:40:27 +0100 Subject: [PATCH] modified: infrastructure/rook-ceph-operator-app.yaml modified: infrastructure/rook-ceph/cluster.yaml modified: infrastructure/rook-ceph/objectstore.yaml new file: infrastructure/rook-ceph/toolbox.yaml --- infrastructure/rook-ceph-operator-app.yaml | 2 +- infrastructure/rook-ceph/cluster.yaml | 120 +++++++++++++++------ infrastructure/rook-ceph/objectstore.yaml | 4 +- infrastructure/rook-ceph/toolbox.yaml | 45 ++++++++ 4 files changed, 138 insertions(+), 33 deletions(-) create mode 100644 infrastructure/rook-ceph/toolbox.yaml diff --git a/infrastructure/rook-ceph-operator-app.yaml b/infrastructure/rook-ceph-operator-app.yaml index 4c77a60..7648c37 100644 --- a/infrastructure/rook-ceph-operator-app.yaml +++ b/infrastructure/rook-ceph-operator-app.yaml @@ -10,7 +10,7 @@ spec: source: chart: rook-ceph repoURL: https://charts.rook.io/release - targetRevision: v1.13.3 # Nutze eine feste Version für Stabilität + targetRevision: v1.14.8 # Nutze eine feste Version für Stabilität helm: values: | crds: diff --git a/infrastructure/rook-ceph/cluster.yaml b/infrastructure/rook-ceph/cluster.yaml index d6c37f6..9d6039f 100644 --- a/infrastructure/rook-ceph/cluster.yaml +++ b/infrastructure/rook-ceph/cluster.yaml @@ -5,40 +5,100 @@ metadata: namespace: rook-ceph spec: cephVersion: - image: quay.io/ceph/ceph:v18.2.1 + image: quay.io/ceph/ceph:v18.2.2 allowUnsupported: false dataDirHostPath: /var/lib/rook + skipUpgradeChecks: false + continueUpgradeAfterChecksEvenIfNotHealthy: false + waitTimeoutForHealthyOSDInMinutes: 10 + upgradeOSDRequiresHealthyPGs: false mon: - count: 1 - allowMultiplePerNode: true + count: 3 + allowMultiplePerNode: false mgr: - count: 1 - allowMultiplePerNode: true + count: 2 + allowMultiplePerNode: false + modules: + - name: rook + enabled: true dashboard: enabled: true - ssl: false - resources: - mgr: - limits: - cpu: "1000m" - memory: "1Gi" - requests: - cpu: "100m" - memory: "512Mi" - mon: - limits: - cpu: "1000m" - memory: "2Gi" - requests: - cpu: "100m" - memory: "512Mi" - osd: - limits: - cpu: "1000m" - memory: "2Gi" - requests: - cpu: "100m" - memory: "1Gi" + port: 8443 + ssl: true + monitoring: + enabled: false + metricsDisabled: false + network: + connections: + encryption: + enabled: false + compression: + enabled: false + requireMsgr2: false + crashCollector: + disable: false + logCollector: + enabled: true + periodicity: daily + maxLogSize: 500M + cleanupPolicy: + confirmation: "" + sanitizeDisks: + method: quick + dataSource: zero + iteration: 1 + allowUninstallWithVolumes: false + removeOSDsIfOutAndSafeToRemove: false + priorityClassNames: + mon: system-node-critical + osd: system-node-critical + mgr: system-cluster-critical storage: - useAllNodes: true - useAllDevices: true + useAllNodes: false + useAllDevices: false # Set to true if you want to use all available raw devices on these nodes + config: + databaseSizeMB: "1024" + nodes: + - name: "vm-k3s-master-400.stabify.de" + devices: + - name: "sdb" + # - name: "sdc" + - name: "vm-k3s-master-401.stabify.de" + devices: + - name: "sdb" + - name: "vm-k3s-master-402.stabify.de" + devices: + - name: "sdb" + onlyApplyOSDPlacement: false + disruptionManagement: + managePodBudgets: true + osdMaintenanceTimeout: 30 + pgHealthCheckTimeout: 0 + csi: + readAffinity: + enabled: false + healthCheck: + daemonHealth: + mon: + disabled: false + interval: 45s + osd: + disabled: false + interval: 60s + status: + disabled: false + interval: 60s + livenessProbe: + mon: + disabled: false + mgr: + disabled: false + osd: + disabled: false + startupProbe: + mon: + disabled: false + mgr: + disabled: false + osd: + disabled: false diff --git a/infrastructure/rook-ceph/objectstore.yaml b/infrastructure/rook-ceph/objectstore.yaml index f3b084f..cd75f73 100644 --- a/infrastructure/rook-ceph/objectstore.yaml +++ b/infrastructure/rook-ceph/objectstore.yaml @@ -7,11 +7,11 @@ spec: metadataPool: failureDomain: host replicated: - size: 1 + size: 3 dataPool: failureDomain: host replicated: - size: 1 + size: 3 preservePoolsOnDelete: true gateway: type: s3 diff --git a/infrastructure/rook-ceph/toolbox.yaml b/infrastructure/rook-ceph/toolbox.yaml new file mode 100644 index 0000000..6600228 --- /dev/null +++ b/infrastructure/rook-ceph/toolbox.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rook-ceph-tools + namespace: rook-ceph + labels: + app: rook-ceph-tools +spec: + replicas: 1 + selector: + matchLabels: + app: rook-ceph-tools + template: + metadata: + labels: + app: rook-ceph-tools + spec: + dnsPolicy: ClusterFirstWithHostNet + containers: + - name: rook-ceph-tools + image: quay.io/ceph/ceph:v18.2.2 + command: ["/bin/bash"] + args: ["-c", "while true; do sleep 10; done"] + securityContext: + runAsUser: 0 + runAsNonRoot: false + volumeMounts: + - mountPath: /etc/ceph + name: mon-endpoint-volume + - mountPath: /var/lib/rook + name: rook-config + volumes: + - name: mon-endpoint-volume + configMap: + name: rook-ceph-mon-endpoints + items: + - key: data + path: mon-endpoints + - name: rook-config + emptyDir: {} + tolerations: + - key: "node.kubernetes.io/unreachable" + operator: "Exists" + effect: "NoExecute" + tolerationSeconds: 5