diff --git a/templates/avi/3/README.md b/templates/avi/3/README.md new file mode 100644 index 0000000..5f11ed2 --- /dev/null +++ b/templates/avi/3/README.md @@ -0,0 +1,29 @@ +Avi Vantage Platform Load Balancer Provider +======== + +## About Avi Vantage Platform +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. + +## Usage + +1. Deploy the stack for this provider from Rancher Community Catalog. + While deploying, you need to give the username, password, + Avi Controller IP address, Avi Controller Port, the Cloud name + where Virtual Services and Pools are created. +2. Create services in Rancher with public host port mapping and corresponding + Virtual services are created in Avi. All CRUD operations on services get + reflected in Avi Controller and Service Engine. +3. You can scale out/in the service and the changes will get reflected on + Avi Controller and Service Engine. + +### 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/3/docker-compose.yml b/templates/avi/3/docker-compose.yml new file mode 100644 index 0000000..785d9aa --- /dev/null +++ b/templates/avi/3/docker-compose.yml @@ -0,0 +1,13 @@ +avi: + image: avinetworks/avi-rancher-controller:2018-01-24T04-59-04.487263875Z + 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} + AVI_DNS_SUBDOMAIN: ${AVI_DNS_SUBDOMAIN} + AVI_TENANT: ${AVI_TENANT} diff --git a/templates/avi/3/rancher-compose.yml b/templates/avi/3/rancher-compose.yml new file mode 100644 index 0000000..e08fb73 --- /dev/null +++ b/templates/avi/3/rancher-compose.yml @@ -0,0 +1,57 @@ +.catalog: + name: Avi Vantange Platform Load Balancer + version: "v2-Avi" + 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: "password" + 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: "AVI_DNS_SUBDOMAIN" + label: "Avi VS subdomain" + description: "Avi Virtual services are created with the subdomain config" + type: "string" + required: false + - variable: "AVI_TENANT" + label: "Avi tenant name" + description: "Avi Virtual service created in tenant" + type: "string" + required: false + default: admin + +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/config.yml b/templates/avi/config.yml index c8641fd..e9ad6dc 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: v1-Avi +version: v2-Avi category: Load Balancing