Avi Multi-Cloud Support for Multiple OpenShift/Kubernetes Clusters

As of release 17.2.5, a single Avi Controller cluster can support multiple OpenShift/K8S clusters. [Here we’ve used the word “cluster” used in two different senses.] This is achieved by setting the case-sensistive cluster_tag parameter in the Avi cloud configuration for each OpenShift/Kubernetes cluster. This permits tenants and/or objects to be similarly named, but nonetheless are isolated to avoid any overlap in the configuration. This feature can only be accessed via the Avi REST API or Avi CLI as of the writing of this article.

CLI Example

In the below command-line sequence, three distinct OS/K8S clusters are tagged SantaClara, SanJose, and PaloAlto) and associated with individual Avi cloud names (avi-cloud-santaclara, avi-cloud-sanjose, and avi-cloud-paloalto, respectively).


[controller]> configure cloud avi-cloud-santaclara
oshiftk8s_configuration
cluster_tag SantaClara
save
save

[controller]> configure cloud avi-cloud-sanjose
oshiftk8s_configuration
cluster_tag SanJose
save
save

[controller]> configure cloud avi-cloud-paloalto
oshiftk8s_configuration
cluster_tag PaloAlto
save
save

Qualifying Identically Named Tenants

Use of the cluster_tag parameter is essential when OS/K8S tenants are similarly named, as illustrated in figure 1. As for tenants in the first OpenShift/K8S cloud, no qualification is required when first defined, as they are the only OS/K8S tenants in the Avi configuration. Consequently, in the below screenshot of a two-cloud environment, you see unqualified tenant names such as admin, default, kube-public, kube-system, and logging. However, as soon as the second Avi cloud is created for a second Kubernetes cluster, the verbatim same tenant names don’t work. They are formed by appending an at-sign (@) followed by the cluster_tag (Santa Clara) to the names with which they’d otherwise clash.

tenant list
Figure 1. Tenant list

Note” If multiple applications have the same name in identically named tenants, you can disable auto-assigning of FQDNs by the Avi Controller as illustrated below. In addition, ensure the FQDNs provided are unique.


[controller]> configure cloud avi-cloud-santaclara
oshiftk8s_configuration
no auto_assign_fqdn
save
save