Hallo zusammen,
ich bastele aktuell an meinem Keepalived Setup wieder. Die Healthchecks etc. laufen bereits alle selber und alle notwendigen Checks sind in Verwendung.
Leider hab ich ein paar Dinge entdeckt welche ich noch gerne verbessern würde und wollte mal fragen ob jemand mir da evtl. Tipps geben kann
oder man sich zum Setup austauschen kann. Auch für Hinweise in der Dokumenation bin ich dankbar.
Aktuell hab ich folgendes Setup:
- Jede Node hat Healthchecks wie bspw Kubernetes API Erreichbarkeit, Ingress Status, Healthchecks vom Monitoringagent
- Jede Node hat bereit die notwendingen FloatingIPs konfiguriert, da ich Probleme hatte wenn ich diese dynamische von Keepalived verwalten lasse
- Alle Nodes sprechen per CloudVLAN miteinander und einigen sich, wer der Master ist
- Beim Übergang zum Masterstate führe ich dann per Curl den SOAP Request aus welche die Zuweisung der IP auf diese Node dann vornimmt (notwendige Informationen sind automatisiert, dynamisch über System Informationen ausgelesen)
Aktuelle "Nichtigkeiten":
- Curl Befehl wird ausgeführt (/usr/bin/curl -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction:' -d @/etc/keepalived/netcup_failover.xml -X POST https://www.servercontrolpanel.de:443/WSEndUser)
- Dieser gibt innerhalb von 1 Sek bereits einen Statuscode zurück, weswegen aus keepalived sicht der prozess abgeschlossen ist
- Innerhalb der nächsten 10 Sekunden kommt es zu einem erneuten Masterstate wechsel, weswegen die nächste Node den Curl Befehl absetzt
Wie kann ich bspw ein skript formulieren, welches erst wenn die FloatingIP der Node "wirklich" zugewiesen ist terminiert?
Und wie handelt die Netcup SOAP diese Befehle?
- gewinnt automatisch der letzte Befehl?
- werden weitere Anweisungen der IP Zuweisung blockiert wenn der Vorgang noch nicht abgeschlossen ist?
Gruß