![So weisen Sie in F5 einem einzelnen virtuellen Server [VIP] mehrere Pools zu](https://rvso.com/image/747847/So%20weisen%20Sie%20in%20F5%20einem%20einzelnen%20virtuellen%20Server%20%5BVIP%5D%20mehrere%20Pools%20zu.png)
Ich habe eine Anforderung in F5, bei der ich mehrere Pools konfigurieren muss und alle Pools einen einzelnen virtuellen Server [1 VIP] verwenden, um Datenverkehr von außen zu empfangen. Ich versuche herauszufinden, welche spezielle Konfiguration erforderlich ist und welche mir fehlt, um dieses Ziel zu erreichen. Bis jetzt funktioniert meine F5-Konfiguration, wenn ich dem virtuellen Server den Standardpool zuweise, da ich 1 VIP mit mehreren darauf gehosteten Clients verwenden muss, stecke ich an diesem Punkt fest. Kann mir hier jemand helfen?
Antwort1
Sie müssen iRules verwenden, um mehrere Pools auf einem einzigen VIP zu haben. Siehe entsprechende DokumentationHier
Jetzt müssen Sie sich überlegen, welchen Pool Sie auswählen. Sie können die Host- oder URI-Werte wie folgt überprüfen:
when HTTP_REQUEST {
if { [HTTP::uri] contains "blabla"} {
pool "Your pool name here"
}
}
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Ich bin mit F5 iRules gut vertraut ;)
Antwort2
Dexirian hat oben Recht, aber ich denke, dies ist die richtigere Antwort auf Ihren Bedarf an mehreren Pools aufgrund mehrerer Clients:
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::uri]] {
"/123*" {
HTTP::uri "/"
pool pool_123
}
"/456*" {
HTTP::uri "/"
pool pool_456
}
"/789*" {
HTTP::uri "/"
pool pool_789
}
}
}
Antwort3
Angenommen, Sie wechseln den Pool nach Anwendungsnamen (sprich: FQDN), dann könnten Sie Ihre Pools entsprechend benennen und die iRule könnte generisch sein:
when HTTP_REQUEST {
if { [catch {pool [HTTP::host]}] } {
log local0. "error - pool [HTTP::host] does not exist"
# Set pool to default since HTTP::host did not match existing pool
pool [LB::server pool]
}
}