Hallo Zen Masters, dieser Artikel beschreibt, wie Sie eine L4-Farm (Layer 4), einige Backends (Webserver) und den Farm-Guardian über unsere Zen-Load-Balancer-API (ZAPI) erstellen und konfigurieren.
L4xNAT-Profil
Mit dem L4xNAT-Farmprofil können Sie eine L4-Farm mit sehr hoher Leistung und viel mehr gleichzeitigen Verbindungen als Lastverteilungskerne in Layer 7 erstellen, z. B. TCP-, UDP- oder HTTP-Farmprofilen. Diese 4-Leistungsverbesserung auf Layer wirkt der erweiterten Verarbeitung von Inhalten entgegen, die die 7-Layer-Profile verwalten könnten.
Darüber hinaus können L4xNAT-Farmen eine Reihe von Ports binden, nicht nur einen virtuellen Port, wie er bei anderen Layer 7-Profilen verwendet wird. Um einen Bereich von virtuellen Ports oder einen bestimmten virtuellen Port in L4xNAT-Farmen auswählen zu können, muss ein Protokolltyp ausgewählt werden. In einem anderen Fall überwacht die Farm alle Ports von der virtuellen IP.
ZAPI initialisieren
Wie im letzten Artikel beschrieben, müssen Sie den zapi-Benutzer aktivieren und einen Schlüssel und ein Kennwort festlegen, um mit der Verwendung unserer ZAPI zu beginnen.
Für die folgenden Beispiele werden diese Parameter verwendet:
Key: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5 Password: admin Zen Load Balancer IP: 192.168.101.25 Zen Web Port: 444
Sobald ZAPI konfiguriert ist, können Sie loslegen!
So erstellen Sie eine L4xNAT-Farm mit ZAPI
Zunächst müssen Sie eine L4xNAT-Profilfarm mit dem entsprechenden Befehl erstellen:
curl --tlsv1 -k -X POST -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"interface":"eth0","vip":"192.168.101.25","profile":"L4xNAT"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP-Verb: POST, zum Erstellen von Farmen, Backends, Diensten usw.
JSON-Parameter: Schnittstelle, vip und Profil (vport ist im L4xNAT-Profil nicht erforderlich).
URI-Parameter: Farmname -> L4FARM, dies ist der für die Farm ausgewählte Name.
Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:
{ "description" : "New farm L4FARM", "params" : [ { "interface" : "eth0", "name" : "L4FARM", "profile" : "L4xNAT", "vip" : "192.168.101.25", "vport" : 0 } ] }
Diese Antwort zeigt die wichtigsten Farmparameter. Was bedeutet vport: 0? Wenn eine L4xNAT-Farm erstellt wird, überwacht sie standardmäßig alle Ports von der virtuellen IP. Dies wird als 0 oder * angezeigt.
So konfigurieren Sie eine L4xNAT-Farm mit ZAPI
Sobald die L4xNAT-Farm erstellt wurde, können Sie die Farmparameter ändern. Es ist möglich, alle Parameter zu ändern, einige oder nur einen.
Lassen Sie uns zuerst die Farmparameter mit einer GET-Anforderung abrufen:
curl --tlsv1 -k -X GET -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP-Verb: GET, um Parameter von Farmen, Backends, Services abzurufen
JSON-Parameter: Keine.
URI-Parameter: Farmname -> L4FARM.
Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:
{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "dnat", "persistence" : "none", "protocol" : "all", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 0 } ] }
Diese Antwort zeigt die erweiterten Farmparameter. Diese Parameter können mit ZAPI geändert werden. Lassen Sie uns einige Parameter ändern:
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"protocol":"tcp","nattype":"nat" ,"port":"80"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP-Verb: PUT, wird zum Ändern von Parametern von Farmen, Backends, Services usw. verwendet.
JSON-Parameter: Protokoll, Nattyp und Port.
URI-Parameter: Farmname -> L4FARM.
Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:
{ "description" : "Modify farm L4FARM", "params" : [ { "protocol" : "tcp" }, { "port" : "80" }, { "nattype" : "nat" } ] }
Wenn wir eine weitere GET-Anfrage starten, werden in der Antwort alle Parameter mit neuen Änderungen angezeigt:
{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }
Die Parameter für Nattype, Port und Protokoll wurden erfolgreich geändert.
So erstellen und ändern Sie ein Backend
Wie können wir über ZAPI ein Backend der L4xNAT-Farm erstellen und konfigurieren? Sie müssen nur die gleichen Schritte ausführen, indem Sie mehrere Befehle mit curl verwenden:
curl --tlsv1 -k -X POST -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.34.160","port":"80","priority":"1","weight":"1"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends
HTTP-Verb: POST, zum Erstellen von Farmen, Backends, Diensten usw.
JSON-Parameter: IP, Port, Priorität und Gewichtung (alle Parameter sind erforderlich).
URI-Parameter: Farmname -> L4FARM, dies ist der für die Farm ausgewählte Name.
Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:
{ "description" : "New backend 0", "params" : [ { "id" : 0, "ip" : "46.120.34.160", "port" : 80, "priority" : 1, "weight" : 1 } ] }
Diese Antwort zeigt die Backend-Parameter und ihre ID.
Wie können wir ein Backend der L4xNAT-Farm ändern? Verwenden des PUT-HTTP-Verbs mit curl:
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.101.65","port":"25","priority":"2","weight":"3"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends/0
HTTP-Verb: PUT, wird zum Ändern von Parametern von Farmen, Backends, Services usw. verwendet.
JSON-Parameter: ip. Port, Priorität und Gewicht.
URI-Parameter:
Farmname -> L4FARM.
Backend-ID -> 0.
Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:
{ "description" : "Modify backend 0 in farm L4FARM", "params" : [ { "ip" : "46.120.101.65" }, { "weight" : "3" }, { "priority" : "2" }, { "port" : "25" } ] }
Wenn wir eine andere GET-Anfrage starten, werden in der Antwort alle Parameter mit neuen Änderungen angezeigt:
{ "backends" : [ { "id" : 0, "ip" : "46.120.101.65", "port" : 25, "priority" : 2, "weight" : 3 } ], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }
Gewicht, Priorität und Port-Parameter haben sich erfolgreich geändert!
So konfigurieren Sie den Farm Guardian
Zum Schließen konfigurieren wir den Farmwächter der L4xNAT-Farm. Wir müssen die folgende Anfrage mit Curl verwenden:
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"fgenabled":"true","fgscript":"check_tcp -w 10 -c 10 -H HOST -p PORT","fgtimecheck":"15","fglog":"false"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/fg
HTTP-Verb: PUT, wird zum Ändern von Parametern von Farmen, Backends, Services usw. verwendet.
JSON-Parameter: fgenabled, fgscript, fgtimecheck und fglog.
URI-Parameter: Farmname -> L4FARM.
Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:
{ "description" : "Modify farm L4FARM", "params" : [ { "fglog" : "false" }, { "fgenabled" : "true" }, { "fgscript" : "check_tcp -w 10 -c 10 -H HOST -p PORT" }, { "fgtimecheck" : "15" } ] }
Was machen diese Parameter? Der Parameter 'fgenabled' aktiviert den Farm Guardian, der Parameter 'fgtimecheck' ist die Zeit zwischen den Überprüfungen (in Sekunden), der Parameter 'fglog' aktiviert die Protokolle des Farm Guardians und der Befehl 'fgscript' ist der zu überprüfende Befehl.
Im Namen des Zen-Teams hoffen wir wirklich, dass Ihnen dieser Artikel gefallen hat. Wir sehen uns im nächsten!