Docker to BIG-IP: Map container names to pool/node
Problem this snippet solves:
The associated iRule is used in the DevCentral article:
https://devcentral.f5.com/articles/connecting-docker-to-big-ip
This is a variation of https://devcentral.f5.com/articles/routing-http-by-request-headers
How to use this snippet:
Attach to virtual server. Expects two data groups exist: dg_docker_container and dg_docker_pool
Code :
when HTTP_REQUEST { set host_hdr [getfield [HTTP::host] ":" 1] set host_short [getfield $host_hdr "." 1] set node_addr [class match -value [string tolower $host_short] equals dg_docker_container] if { $node_addr ne "" } { node $node_addr } else { set pool_name [class match -value [string tolower $host_short] equals dg_docker_pool] if { $pool_name ne "" } { pool $pool_name } else { reject } } }
Tested this on version:
11.5Published Sep 01, 2015
Version 1.0Eric_Chen
Employee
Joined May 16, 2013
Eric_Chen
Employee
Joined May 16, 2013
No CommentsBe the first to comment