Install Istio in a primary-remote multi-network topology on two clusters.
In this procedure, CLUSTER1
is the East cluster and CLUSTER2
is the West cluster. The East cluster is the primary cluster and the West cluster is the remote cluster.
You can adapt these instructions for a mesh spanning more than two clusters.
Topology
Service workloads across cluster boundaries communicate indirectly, via dedicated gateways for east-west traffic. The gateway in each cluster must be reachable from the other cluster.
Services in cluster2
will reach the control plane in cluster1
via the same east-west gateway.
Prerequisites
istioctl
installed locally so that you can use to run these instructions.ISTIO_VERSION
environment variable that defines the Istio version to installSet the default network for the East cluster by running the following command:
Create an Istio
resource on the East cluster by running the following command:
Save the following Istio
resource to istio-external.yaml
:
Using kubectl
to apply the Istio
resource:
Wait for the control plane to return the "Ready" status condition by running the following command:
Create an East-West gateway on the East cluster by running the following command:
Expose the control plane through the gateway so that services in the West cluster can access the control plane by running the following command:
Expose the application services through the gateway by running the following command:
Save the IP address of the East-West gateway running in the East cluster by running the following command:
Create an Istio
resource on the West cluster by running the following command:
Annotate the istio-system
namespace in the West cluster so that it is managed by the control plane in the East cluster by running the following command:
Set the default network for the West cluster by running the following command:
Install a remote secret on the East cluster that provides access to the API server on the West cluster by running the following command:
Wait for the Istio
resource to return the "Ready" status condition by running the following command:
Create an East-West gateway on the West cluster by running the following command:
Since the West cluster is installed with a remote profile, exposing the application services on the East cluster exposes them on the East-West gateways of both clusters.