From 6e74b3b6af4aafe38b8d07d08ed6b2ffdb848bc0 Mon Sep 17 00:00:00 2001 From: Prachi Damle Date: Mon, 2 May 2016 15:06:20 -0700 Subject: [PATCH] Catalog entry for the f5 external-LB service Using the uppercase F5 in Readme Changed category to Load Balancing More friendlier labels --- templates/f5/0/README.md | 26 ++++++++++++++ templates/f5/0/docker-compose.yml | 10 ++++++ templates/f5/0/rancher-compose.yml | 34 ++++++++++++++++++ templates/f5/catalogIcon-f5.svg | 56 ++++++++++++++++++++++++++++++ templates/f5/config.yml | 5 +++ 5 files changed, 131 insertions(+) create mode 100644 templates/f5/0/README.md create mode 100644 templates/f5/0/docker-compose.yml create mode 100644 templates/f5/0/rancher-compose.yml create mode 100644 templates/f5/catalogIcon-f5.svg create mode 100644 templates/f5/config.yml diff --git a/templates/f5/0/README.md b/templates/f5/0/README.md new file mode 100644 index 0000000..87a1dd2 --- /dev/null +++ b/templates/f5/0/README.md @@ -0,0 +1,26 @@ +external-lb +========== +Rancher service facilitating integration of rancher with F5 BIG-IP - external load balancer. This service updates F5 with services created in Rancher that ask to be load balanced using F5. +Initial version comes with support for an unpartitioned F5 BIG-IP installation + +Design +========== +* The F5 service gets deployed as a Rancher service containerized app. + +* It enables any other service to be registered to external F5 if the service has exposed a public port and has the label 'io.rancher.service.external_lb_endpoint' + +* Value of this label should be equal to the VirtualServer Name on F5 BIG-IP + +* The VirtualServer should be pre-configured on F5 + +* The rancher hosts on which the containers of the service are running, will be added to the F5 setup as nodes + +* A new F5 pool will be created for the service, having the Rancher host_ip:port as pool members + +* This F5 pool created will have a name of the pattern of"service.Name"_"environment_uuid"_"rancher.internal" - The suffix "rancher.internal" is configurable while launching the catalog template. + +* This pool will be assigned to the F5 virtual server provided to Rancher via the above label + +* After the F5 configuration is complete, the service on Rancher can be reached using the F5 vip:port + +* Rancher’s F5 service will keep on synching new services to F5 and remove/scale up-scale down as changes are made on Rancher. diff --git a/templates/f5/0/docker-compose.yml b/templates/f5/0/docker-compose.yml new file mode 100644 index 0000000..3de356b --- /dev/null +++ b/templates/f5/0/docker-compose.yml @@ -0,0 +1,10 @@ +external-lb: + image: rancher/external-lb:v0.1.1 + command: -provider=f5_BigIP + expose: + - 1000 + environment: + F5_BIGIP_HOST: ${F5_BIGIP_HOST} + F5_BIGIP_USER: ${F5_BIGIP_USER} + F5_BIGIP_PWD: ${F5_BIGIP_PWD} + LB_TARGET_RANCHER_SUFFIX: ${LB_TARGET_RANCHER_SUFFIX} diff --git a/templates/f5/0/rancher-compose.yml b/templates/f5/0/rancher-compose.yml new file mode 100644 index 0000000..e42639d --- /dev/null +++ b/templates/f5/0/rancher-compose.yml @@ -0,0 +1,34 @@ +.catalog: + name: "F5 LB" + version: "v0.1.1-rancher1" + description: "Rancher External LB service powered by F5 BIG-IP." + questions: + - variable: "F5_BIGIP_HOST" + label: "Host Address" + description: "IP Address of the F5 BIG-IP Device" + type: "string" + required: true + - variable: "F5_BIGIP_USER" + label: "Username" + description: "Username of the F5 admin" + type: "string" + required: true + - variable: "F5_BIGIP_PWD" + label: "Password" + description: "Password of the F5 admin" + type: "string" + required: true + - variable: "LB_TARGET_RANCHER_SUFFIX" + label: "Suffix for F5 pool names" + description: "A suffix added to the Pool names on F5 BIG-IP to identify the pools added by Rancher" + type: "string" + required: true + default: rancher.internal +external-lb: + health_check: + port: 1000 + interval: 2000 + unhealthy_threshold: 3 + request_line: GET / HTTP/1.0 + healthy_threshold: 2 + response_timeout: 2000 diff --git a/templates/f5/catalogIcon-f5.svg b/templates/f5/catalogIcon-f5.svg new file mode 100644 index 0000000..7932697 --- /dev/null +++ b/templates/f5/catalogIcon-f5.svg @@ -0,0 +1,56 @@ + + + diff --git a/templates/f5/config.yml b/templates/f5/config.yml new file mode 100644 index 0000000..708c681 --- /dev/null +++ b/templates/f5/config.yml @@ -0,0 +1,5 @@ +name: F5 BIG-IP Balancer +description: | + Rancher External LB service powered by F5 BIG-IP +version: v0.1.1-rancher1 +category: Load Balancing