This project results in creating a "demo-in-a-box" of the Avi Vantage platform. This demo setup will deploy clients, servers and virtual services all within a single host resulting in an up and running demo system within minutes.
- Linux Server
- RHEL
- Centos
- Ubuntu
**CPU** | **Memory** | **Storage** | |
---|---|---|---|
Recommended | 16+ | 64+ GB | 96+ GB |
Minimum | 12 | 32 GB | 72 GB |
curl -sSL https://raw.githubusercontent.com/avinetworks/demo-in-a-box/master/demo-install.sh | sudo bash
The default setup will deploy the Avi Default Demo using version 17.2.15.
There are optional arguments that can be provided. Every argument provided is proceeded with a -s.
**Argument** | **Required** | **Default** | |
---|---|---|---|
version | provides option to select a version | no, optional | 17.2.15 |
controller-memory | provides option to override controller memory in GB | no, optional | 24 |
kubernetes | will deploy Avi with Kubernetes integration instead of the Default Demo | no, optional | default value is to deploy the Default Demo Setup |
grafana | will deploy an implementation of grafana displaying Avi Metrics | no, optional | none |
The command below demonstrates using multiple arguments. The version argument will present you with a list of Avi versions to select from. The kubernetes argument will deploy a demo of Avi with Kubernetes deployment instead of the Default Demo Setup and the grafana argument will deploy Grafana to display Avi performance metrics.
curl -sSL https://raw.githubusercontent.com/avinetworks/demo-in-a-box/master/demo-install.sh | sudo bash -s version -s kubernetes -s grafana
Utilizing docker containers, the Default "demo-in-a-box" setup is completely self contained within a single host.
A bridged network (avinet : 169.254.0.0/17) has been created for the internal docker networking.
The table below lists the containers that will be created and amongst other information the roles they serve for the demo.
CONTAINER NAME | CONTAINER ROLE | INTERNAL IP | EXPOSED PORTS |
---|---|---|---|
avicontroller | Avi Vantage controller | 169.254.0.100 | tcp:80, tcp:443, tcp:5054, tcp:5098(ssh), tcp:8443, udp:161 |
avise1 | Avi Service Engine | 169.254.0.101 | none |
avise2 | Avi Service Engine | 169.254.0.102 | none |
democlient1 | Client running scripted traffic against avi-demo-vs and waf-vs virtual services | 169.254.63.1 | none |
democlient2 | Client running scripted traffic against avi-demo-vs and waf-vs virtual services | 169.254.63.2 | none |
scaleoutclient1 | Client running scripted traffic against avi-scaleout-vs virtual service | 169.254.63.3 | none |
demoserver1 | Server used for avi-demo-vs and avi-scaleout-vs virtual services | 169.254.127.200 | none |
demoserver2 | Server used for avi-demo-vs and avi-scaleout-vs virtual services | 169.254.127.201 | none |
demoserver3 | Server used for avi-demo-vs and avi-scaleout-vs virtual services | 169.254.127.203 | none |
wafserver1 | Server used for waf-vs virtual service | 169.254.127.100 | none |
wafserver2 | Server used for waf-vs virtual service | 169.254.127.101 | none |
rdpserver | An rdp server to be used to access virtual services | 169.254.63.0 | tcp:3389 |
There are two containers that are exposing services externally on the host; the Avi Controller and the RDP Server
The Avi Vantage Controller can be accessed through the GUI or SSH. To access the GUI point a browser to https://<host_ip>. To access the cli, ssh to the host ip on port 5098. Login credentials for the Avi controller are:
- u: admin
- p: AviDemo1!
Because this demo setup is isolated within the host an RDP server is provided to allow for manual access to the virtual services. To login to the RDP server, using an RDP client connect to the host IP on port 3389. Login credentials for the RDP server are:
- u: admin
- p: AviDemo1!
Utilizing docker containers, the kubernetes "demo-in-a-box" setup is completely self contained within a single host.
A bridged network (avinet : 169.254.0.0/17) has been created for the internal docker networking to host the Avi Controller and Traffic Client.
The table below lists the containers that will be created and amongst other information the roles they serve for the demo.
CONTAINER NAME | CONTAINER ROLE | INTERNAL IP | EXPOSED PORTS |
---|---|---|---|
avicontroller | Avi Vantage controller | 169.254.0.100 | tcp:80, tcp:443(GUI), tcp:5054, tcp:5098(ssh), tcp:8444, udp:161 |
k8_(various) | Kubernetes VM | various | tcp:30000(GUI), tcp:8443 |
kubeclient1 | Client used for traffic generation | 169.254.8.8 | none |
There are two containers that are exposing services externally on the host; the Avi Controller and the RDP Server
The Avi Vantage Controller can be accessed through the GUI or SSH. To access the GUI point a browser to https://<host_ip>. To access the cli, ssh to the host ip on port 5098. Login credentials for the Avi controller are:
- u: admin
- p: AviDemo1!
To access the Kubernetes GUI point a browser to http://<host_ip>:30000
CONTAINER NAME | CONTAINER ROLE | INTERNAL IP | EXPOSED PORTS |
---|---|---|---|
avimetrics | Pulls metrics from Avi Controller API and pushes into Influxdb | 169.254.100.102 | none |
influxdb | Time series database to store the Avi metrics | 169.254.100.100 | none |
grafana | UI for displaying metrics charts | 169.254.100.101 | tcp:3000(gui) |
To access the Grafana GUI point a browser to https://<host_ip>:3000
- u: admin
- p: AviDemo1!