You can configure Cloud Native Runtimes for Tanzu to integrate with Avi Vantage. Avi Vantage is a multi-cloud platform that delivers features such as load balancing, security, and container ingress services. The Avi Controller provides a control plane. Avi Service Engines provides a data plane. The Avi Service Engines forward incoming traffic to your Kubernetes cluster’s Envoy pods, which are created and managed by Contour.
For information about Avi Vantage, see Avi Documentation.
This procedure assumes that you have already installed Cloud Native Runtimes. See Installing Cloud Native Runtimes. If you have not already installed Cloud Native Runtimes, you need to create a cluster, run the install script, and set up Contour in addition to the steps below. For more information about installing with Contour, see Installing Cloud Native Runtimes with an Existing Contour Installation.
To configure Cloud Native Runtimes with Avi Vantage, do the following:
Deploy the Avi Controller on any Avi supported infrastructure providers. For a list of Avi supported providers, see Avi Installation Guides. For more information about deploying an Avi Controller, see Install Avi Kubernetes Operator in the Avi Vantage documentation.
Deploy the Avi Kubernetes Operator to your Kubernetes cluster where Cloud Native Runtimes is hosted. See Install AKO for Kubernetes in the Avi Vantage documentation.
Connect to a test app and verify that it is reachable. Run:
"curl -H KNATIVE-SERVICE-DOMAIN" ENVOY-IP
KNATIVE-SERVICE-DOMAINis the name of your domain.
ENVOY-IPis the IP address of your Envoy instance.
For more information about deploy a sample application and connect to the application, see Test Knative Serving.
(Optional) Create a DNS record that will configure your KService URL to point to the Avi Service Engines, and resolve to the external IP of the Envoy. You can create a DNS record on any platform that supports DNS services. Refer to the documentation for your DNS service platform for more information.
To get the KService URL, run:
kn route describe APP-NAME | grep "URL"
To get Envoy’s external IP, follow step 3 in Test Knative Serving in Verifying your Serving Installation.
The following diagram shows how Avi Vantage integrates with Cloud Native Runtimes:
When Contour creates a Kubernetes LoadBalancer service for Envoy, the Avi Kubernetes Operator (AKO) sees the new LoadBalancer service. Then Avi Controller creates a Virtual Service. For information about LoadBalancer services, see Type LoadBalancer in the Kubernetes documentation.
For each Envoy service, Avi Controller creates a corresponding Virtual Service. See Virtual Services in the Avi Vantage documentation.
After Avi Controller creates a Virtual Service, the Controller configures the Avi Service Engines to forward traffic to the Envoy pods. The Envoy pods route traffic based on incoming requests, including traffic splitting and path based routing.
The Avi Controller provides Envoy with an external IP address so that apps are reachable by the app developer.
Note: Avi does not interact directly with any Cloud Native Runtimes resources. Avi Vantage forwards all incoming traffic to Envoy.