From e3885025797e7610bec7d87bd48570123d4767c1 Mon Sep 17 00:00:00 2001 From: Anant Patil Date: Tue, 25 Jul 2017 12:22:25 +0530 Subject: [PATCH 1/7] Avi Vantage Platform LB template --- templates/avi/0/README.md | 45 ++++++++++++++++++++++++ templates/avi/0/docker-compose.yml | 13 +++++++ templates/avi/0/rancher-compose.yml | 52 ++++++++++++++++++++++++++++ templates/avi/catalogIcon-avi.png | Bin 0 -> 155067 bytes templates/avi/config.yml | 5 +++ 5 files changed, 115 insertions(+) create mode 100644 templates/avi/0/README.md create mode 100644 templates/avi/0/docker-compose.yml create mode 100644 templates/avi/0/rancher-compose.yml create mode 100644 templates/avi/catalogIcon-avi.png create mode 100644 templates/avi/config.yml diff --git a/templates/avi/0/README.md b/templates/avi/0/README.md new file mode 100644 index 0000000..913ba06 --- /dev/null +++ b/templates/avi/0/README.md @@ -0,0 +1,45 @@ +Avi Vantage Platform Load Balancer Provider +======== + +#### About Avi Vantage Platform +The Avi Vantage Platform is built on software-defined architectural principles to create a centrally managed pool of distributed load balancers to deliver application services close to the applications. + + +#### About this provider +This provider load balances Rancher services using Avi Vantage Platform Load Balancer. It uses REST API to update the Avi controller which enables the Avi Service Engines to load balance the Rancher Services. + +#### Usage + +1. Deploy the stack for this provider from Rancher Community Catalog. + While deploying, you need to give the username, password (optional, + read below), Avi Controller IP address, Avi Controller Port, the + Cloud name where Virtual Services and Pools are created. +2. Create Virtual Services using Avi Controller console. Make sure you + create VS in given cloud in Avi. Leave the Virtual Service pool as + empty. Configure any policies or rules for Virtual Service. +3. Create services in Rancher with public host port mapping and adding + label `io.rancher.service.external_lb.endpoint` with value as Virtual + Service name created in previous step. You can scale out/in the + service or stop the service and the changes will get reflected on Avi + Controller and Service Engine. + +Environment Variables +======== +| Variable Name | Description | Default Value | Optional | +|--------------------------|-----------------------------------------------------------------------------------------------|--------------------|-----------------------------------| +| AVI_USER | User name to log into Avi Controller | | No | +| AVI_PASSWORD | Password for Avi user. This is optional if you are using Rancher Secrets to provide password. | | Yes (if using Rancher Secrets) | +| AVI_CONTROLLER_ADDR | IP Address of Avi Controller. | | No | +| AVI_CONTROLLER_PORT | Port to connect to Avi Controller. | 443 | Yes | +| AVI_SSL_VERIFY | Enable or Disable SSL certificate validation while connecting to Avi Controller | False | Yes | +| AVI_CLOUD_NAME | Name of Avi Cloud in which Virtual Services are created. | Default-Cloud | Yes | +| LB_TARGET_RANCHER_SUFFIX | Pool names in Avi will have this suffix. | "rancher.internal" | Yes | + +Using Rancher Secrets for Avi Password +---- +Optionally, you can use the Rancher Secrets to pass the Avi controller +password instead of using environment variable. +1. Run the Rancher Secrets service before deploying this provider stack. +2. Create a secret named "avi-creds". +3. While deploying the Avi provider stack, use the "avi-creds" secret + for Avi Provider service. diff --git a/templates/avi/0/docker-compose.yml b/templates/avi/0/docker-compose.yml new file mode 100644 index 0000000..c888a39 --- /dev/null +++ b/templates/avi/0/docker-compose.yml @@ -0,0 +1,13 @@ +avi: + image: rancher/external-lb:v0.3.0 + command: -provider=Avi + expose: + - 1000 + environment: + AVI_USER: ${AVI_USER} + AVI_PASSWORD: ${AVI_PASSWORD} + AVI_CONTROLLER_ADDR: ${AVI_CONTROLLER_ADDR} + AVI_CONTROLLER_PORT: ${AVI_CONTROLLER_PORT} + AVI_SSL_VERIFY: ${AVI_SSL_VERIFY} + AVI_CLOUD_NAME: ${AVI_CLOUD_NAME} + LB_TARGET_RANCHER_SUFFIX: ${LB_TARGET_RANCHER_SUFFIX} diff --git a/templates/avi/0/rancher-compose.yml b/templates/avi/0/rancher-compose.yml new file mode 100644 index 0000000..08fad19 --- /dev/null +++ b/templates/avi/0/rancher-compose.yml @@ -0,0 +1,52 @@ +.catalog: + name: Avi Vantange Platform Load Balancer + version: "v0.3.0-rancher1" + description: "External LB service powered by Avi Vantage Platform" + minimum_rancher_version: v1.1.0 + questions: + - variable: "AVI_USER" + label: "Avi account username" + description: "User name for your account on Avi Controller" + type: "string" + required: true + - variable: "AVI_PASSWORD" + label: "Avi user account password" + description: "Password for your account on Avi Controller" + type: "string" + required: false + - variable: "AVI_CONTROLLER_ADDR" + label: "Avi Controller IP Address" + description: "IP Address of the Avi Controller" + type: "string" + required: true + - variable: "AVI_CONTROLLER_PORT" + label: "Avi Controller Port (Optional)" + description: "Port on which Avi Controller is listening for API requests" + type: "string" + required: false + - variable: "AVI_CLOUD_NAME" + label: "Avi Cloud Name (Optional)" + description: "Name of Avi Cloud in which Virtual Services are created" + required: false + type: "string" + - variable: "AVI_SSL_VERIFY" + label: "Avi SSL Verify (Optional)" + description: "SSL certificate validation while connecting to Avi Controller" + required: false + type: "boolean" + default: false + - variable: "LB_TARGET_RANCHER_SUFFIX" + label: "Avi pool name suffix" + description: "Pool names in Avi created/updated by Rancher will have this suffix" + type: "string" + required: true + default: rancher.internal + +avi: + health_check: + port: 1000 + interval: 5000 + unhealthy_threshold: 2 + request_line: GET / HTTP/1.0 + healthy_threshold: 2 + response_timeout: 2000 diff --git a/templates/avi/catalogIcon-avi.png b/templates/avi/catalogIcon-avi.png new file mode 100644 index 0000000000000000000000000000000000000000..69c3cdeebe87f4a86edff1a6ef958429362513be GIT binary patch literal 155067 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 literal 0 HcmV?d00001 diff --git a/templates/avi/config.yml b/templates/avi/config.yml new file mode 100644 index 0000000..abe8bb4 --- /dev/null +++ b/templates/avi/config.yml @@ -0,0 +1,5 @@ +name: Avi Vantage Platform +description: | + External LB service powered by Avi Vantage Platform +version: v0.3.0-rancher1 +category: Load Balancing From 85f11d1f11824aaa7e87a055cdfa339775b50dd5 Mon Sep 17 00:00:00 2001 From: Anant Patil Date: Tue, 12 Sep 2017 15:34:12 +0530 Subject: [PATCH 2/7] Updated README.md --- templates/avi/0/README.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/templates/avi/0/README.md b/templates/avi/0/README.md index 913ba06..62b2f13 100644 --- a/templates/avi/0/README.md +++ b/templates/avi/0/README.md @@ -4,7 +4,6 @@ Avi Vantage Platform Load Balancer Provider #### About Avi Vantage Platform The Avi Vantage Platform is built on software-defined architectural principles to create a centrally managed pool of distributed load balancers to deliver application services close to the applications. - #### About this provider This provider load balances Rancher services using Avi Vantage Platform Load Balancer. It uses REST API to update the Avi controller which enables the Avi Service Engines to load balance the Rancher Services. @@ -23,18 +22,6 @@ This provider load balances Rancher services using Avi Vantage Platform Load Bal service or stop the service and the changes will get reflected on Avi Controller and Service Engine. -Environment Variables -======== -| Variable Name | Description | Default Value | Optional | -|--------------------------|-----------------------------------------------------------------------------------------------|--------------------|-----------------------------------| -| AVI_USER | User name to log into Avi Controller | | No | -| AVI_PASSWORD | Password for Avi user. This is optional if you are using Rancher Secrets to provide password. | | Yes (if using Rancher Secrets) | -| AVI_CONTROLLER_ADDR | IP Address of Avi Controller. | | No | -| AVI_CONTROLLER_PORT | Port to connect to Avi Controller. | 443 | Yes | -| AVI_SSL_VERIFY | Enable or Disable SSL certificate validation while connecting to Avi Controller | False | Yes | -| AVI_CLOUD_NAME | Name of Avi Cloud in which Virtual Services are created. | Default-Cloud | Yes | -| LB_TARGET_RANCHER_SUFFIX | Pool names in Avi will have this suffix. | "rancher.internal" | Yes | - Using Rancher Secrets for Avi Password ---- Optionally, you can use the Rancher Secrets to pass the Avi controller From 1f734cbf6adca73a79950e6b312c780c8cd7c8ca Mon Sep 17 00:00:00 2001 From: Anant Patil Date: Tue, 12 Sep 2017 15:39:06 +0530 Subject: [PATCH 3/7] Updated README.md --- templates/avi/0/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/avi/0/README.md b/templates/avi/0/README.md index 62b2f13..b70e5dd 100644 --- a/templates/avi/0/README.md +++ b/templates/avi/0/README.md @@ -22,8 +22,8 @@ This provider load balances Rancher services using Avi Vantage Platform Load Bal service or stop the service and the changes will get reflected on Avi Controller and Service Engine. -Using Rancher Secrets for Avi Password ----- +###### Using Rancher Secrets for Avi Password + Optionally, you can use the Rancher Secrets to pass the Avi controller password instead of using environment variable. 1. Run the Rancher Secrets service before deploying this provider stack. From 13ec15d50528b532069117f27cb1de3fcb38505d Mon Sep 17 00:00:00 2001 From: Anant Patil Date: Tue, 12 Sep 2017 15:41:13 +0530 Subject: [PATCH 4/7] Updated README.md --- templates/avi/0/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/avi/0/README.md b/templates/avi/0/README.md index b70e5dd..98e6322 100644 --- a/templates/avi/0/README.md +++ b/templates/avi/0/README.md @@ -1,13 +1,13 @@ Avi Vantage Platform Load Balancer Provider ======== -#### About Avi Vantage Platform +## About Avi Vantage Platform The Avi Vantage Platform is built on software-defined architectural principles to create a centrally managed pool of distributed load balancers to deliver application services close to the applications. -#### About this provider +## About this provider This provider load balances Rancher services using Avi Vantage Platform Load Balancer. It uses REST API to update the Avi controller which enables the Avi Service Engines to load balance the Rancher Services. -#### Usage +## Usage 1. Deploy the stack for this provider from Rancher Community Catalog. While deploying, you need to give the username, password (optional, @@ -22,7 +22,7 @@ This provider load balances Rancher services using Avi Vantage Platform Load Bal service or stop the service and the changes will get reflected on Avi Controller and Service Engine. -###### Using Rancher Secrets for Avi Password +### Using Rancher Secrets for Avi Password Optionally, you can use the Rancher Secrets to pass the Avi controller password instead of using environment variable. From f0ccffec887c3dcf84236dad5aaf310efc2b5955 Mon Sep 17 00:00:00 2001 From: Anant Patil Date: Tue, 12 Sep 2017 15:44:52 +0530 Subject: [PATCH 5/7] Updated README.md --- templates/avi/0/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/avi/0/README.md b/templates/avi/0/README.md index 98e6322..907b75e 100644 --- a/templates/avi/0/README.md +++ b/templates/avi/0/README.md @@ -2,7 +2,7 @@ Avi Vantage Platform Load Balancer Provider ======== ## About Avi Vantage Platform -The Avi Vantage Platform is built on software-defined architectural principles to create a centrally managed pool of distributed load balancers to deliver application services close to the applications. +The [Avi Vantage Platform](https://avinetworks.com/software-load-balancer-for-any-cloud/) is built on software-defined architectural principles to create a centrally managed pool of distributed load balancers to deliver application services close to the applications. ## About this provider This provider load balances Rancher services using Avi Vantage Platform Load Balancer. It uses REST API to update the Avi controller which enables the Avi Service Engines to load balance the Rancher Services. From a7ce394f73bb6d781b4660fcfaf9c7104ebaf381 Mon Sep 17 00:00:00 2001 From: Anant Patil Date: Tue, 12 Sep 2017 16:09:40 +0530 Subject: [PATCH 6/7] Update Rancher external-lb version Udate the Rancher external-lb docker image version to 0.3.2 as the Avi LB plugin is available from that version. --- templates/avi/0/docker-compose.yml | 2 +- templates/avi/0/rancher-compose.yml | 2 +- templates/avi/config.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/avi/0/docker-compose.yml b/templates/avi/0/docker-compose.yml index c888a39..c59a3e7 100644 --- a/templates/avi/0/docker-compose.yml +++ b/templates/avi/0/docker-compose.yml @@ -1,5 +1,5 @@ avi: - image: rancher/external-lb:v0.3.0 + image: rancher/external-lb:v0.3.2 command: -provider=Avi expose: - 1000 diff --git a/templates/avi/0/rancher-compose.yml b/templates/avi/0/rancher-compose.yml index 08fad19..1916234 100644 --- a/templates/avi/0/rancher-compose.yml +++ b/templates/avi/0/rancher-compose.yml @@ -1,6 +1,6 @@ .catalog: name: Avi Vantange Platform Load Balancer - version: "v0.3.0-rancher1" + version: "v0.3.2-rancher1" description: "External LB service powered by Avi Vantage Platform" minimum_rancher_version: v1.1.0 questions: diff --git a/templates/avi/config.yml b/templates/avi/config.yml index abe8bb4..562d7c0 100644 --- a/templates/avi/config.yml +++ b/templates/avi/config.yml @@ -1,5 +1,5 @@ name: Avi Vantage Platform description: | External LB service powered by Avi Vantage Platform -version: v0.3.0-rancher1 +version: v0.3.2-rancher1 category: Load Balancing From 95240477628d0caf84f24815a04bdf21d625c9c3 Mon Sep 17 00:00:00 2001 From: Anant Patil Date: Tue, 12 Sep 2017 21:09:12 +0530 Subject: [PATCH 7/7] Added labels to Avi external-lb container --- templates/avi/0/docker-compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/avi/0/docker-compose.yml b/templates/avi/0/docker-compose.yml index c59a3e7..83469d9 100644 --- a/templates/avi/0/docker-compose.yml +++ b/templates/avi/0/docker-compose.yml @@ -11,3 +11,6 @@ avi: AVI_SSL_VERIFY: ${AVI_SSL_VERIFY} AVI_CLOUD_NAME: ${AVI_CLOUD_NAME} LB_TARGET_RANCHER_SUFFIX: ${LB_TARGET_RANCHER_SUFFIX} + labels: + io.rancher.container.create_agent: "true" + io.rancher.container.agent.role: "external-lb"