![Como atribuir vários pools a um único servidor virtual [VIP] em F5](https://rvso.com/image/747847/Como%20atribuir%20v%C3%A1rios%20pools%20a%20um%20%C3%BAnico%20servidor%20virtual%20%5BVIP%5D%20em%20F5.png)
Eu tenho um requisito em F5 onde preciso configurar vários pools e todos os pools usarão um único servidor virtual [1 VIP] para receber tráfego do mundo externo. Estou tentando descobrir se é necessária alguma configuração específica que esteja faltando para atingir esse objetivo. A partir de agora, minha configuração F5 está funcionando quando atribuo o pool padrão ao servidor virtual, já que tenho que usar 1 VIP com vários clientes hospedados nele, então estou preso neste ponto. Alguém pode me ajudar aqui.
Responder1
Você precisará usar iRules para ter vários pools em um único VIP. Veja a documentação relevanteaqui
A única coisa que você precisa pensar agora é como selecionar qual pool usar. Você pode verificar os valores de host ou URI da seguinte maneira:
when HTTP_REQUEST {
if { [HTTP::uri] contains "blabla"} {
pool "Your pool name here"
}
}
Por favor, deixe-me saber se precisar de mais informações, estou bastante familiarizado com o F5 iRules;)
Responder2
Dexirian está correto acima - mas acho que isso responde mais corretamente com base na sua necessidade de vários pools devido a vários clientes:
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
}
}
}
Responder3
Supondo que você esteja alternando o pool por nome do aplicativo (leia-se: fqdn), você poderá nomear seus pools adequadamente e o iRule poderá ser genérico:
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]
}
}