Skip to content

Multi-network multicluster configuration

Multi-network multicluster configuration is a deployment pattern used to enable cross-cluster load balancing between clusters residing in different networks.^[400-devops__07-Monitoring-and-Observability__k8s-istio__samples__multicluster__README.md]

To implement this architecture, all clusters must utilize a dedicated East-West Gateway. This component is essential for handling cross-network traffic and prevents east-west traffic from overwhelming the default north-south Ingress gateway^[400-devops__07-Monitoring-and-Observability__k8s-istio__samples__multicluster__README.md].

Prerequisites and Setup

This configuration assumes that Istio has already been deployed to the primary clusters^[400-devops__07-Monitoring-and-Observability__k8s-istio__samples__multicluster__README.md]. The East-West Gateway is deployed using a specific script where environment variables for MESH, CLUSTER, and NETWORK must align with the values used during the control plane deployment^[400-devops__07-Monitoring-and-Observability__k8s-istio__samples__multicluster__README.md].

export MESH=mesh1
export CLUSTER=cluster1
export NETWORK=network1
./samples/multicluster/gen-eastwest-gateway.sh | \
    [istioctl](<./istioctl.md>) manifest generate -f - | \
    [kubectl](<./kubectl.md>) apply -f -

Enabling Cross-Network Services

The defining step for a multi-network setup is exposing services through the East-West Gateway in each cluster^[400-devops__07-Monitoring-and-Observability__k8s-istio__samples__multicluster__README.md]. This allows the mesh to route traffic across network boundaries effectively.

[kubectl](<./kubectl.md>) apply -f samples/multicluster/expose-services.yaml -n istio-system

Sources

^[400-devops__07-Monitoring-and-Observability__k8s-istio__samples__multicluster__README.md]