CSI-Komponenten-Pod-Anti-Affinität
Dieses Dokument beschreibt, wie man die Pod-Anti-Affinität für Longhorn CSI-Komponenten konfiguriert. Die Pod-Anti-Affinität erhöht die Speicherresilienz, insbesondere in kleinen Clustern, indem sichergestellt wird, dass mehrere Replikate einer CSI-Komponente nicht auf demselben Knoten ausgeführt werden.
Für Details zur Pod-Anti-Affinität siehe die Kubernetes-Dokumentation zu inter-pod affinity and anti-affinity.
Konfiguration der Pod-Anti-Affinität für Longhorn CSI-Komponenten
Sie können die Pod-Anti-Affinität für diese Longhorn CSI-Komponenten konfigurieren:
-
csi-attacher -
csi-provisioner -
csi-resizer -
csi-snapshotter
Die podAntiAffinityPreset-Einstellung akzeptiert die folgenden Werte:
-
soft (Standard): Eine Best-Effort-Regel unter Verwendung von
preferredDuringSchedulingIgnoredDuringExecution. Der Scheduler versucht, mehrere CSI-Replikate nicht auf demselben Knoten zu platzieren, aber dies ist nicht garantiert. -
hard: Eine strenge Regel unter Verwendung von
requiredDuringSchedulingIgnoredDuringExecution. Der Scheduler blockiert die Pod-Platzierung auf Knoten, die die Anti-Affinitätsregel verletzen. Pods können imPending-Zustand verbleiben, wenn keine geeigneten Knoten vorhanden sind.
Konfiguration während der SUSE Storage-Installation
Sie können die Pod-Anti-Affinität während der initialen Installation mit einer der folgenden Methoden festlegen.
Verwendung von Rancher
Beim Installieren von SUSE Storage über die Rancher-Benutzeroberfläche wählen Sie Edit as YAML und fügen Sie die folgenden Parameter zur YAML-Datei hinzu:
csi:
podAntiAffinityPreset: "hard"
Konfiguration nach der SUSE Storage-Installation
|
Das Bearbeiten der Implementierung setzt |
Um eine vorhandene Installation zu aktualisieren, bearbeiten Sie manuell die longhorn-driver-deployer-Implementierung und fügen Sie die folgende Umgebungsvariable zur Containerspezifikation hinzu:
- name: CSI_POD_ANTIAFFINITY_PRESET
value: hard