istio.io/istio@v0.0.0-20240520182934-d79c90f27776/samples/multicluster/README.md (about)

     1  # Multicluster Samples
     2  
     3  The samples in this directory help to support multicluster use cases for the
     4  following configurations:
     5  
     6  * Primary-Remote
     7  * Multinetwork
     8  
     9  All of these instructions here assume that Istio has already been deployed to your primary clusters.
    10  
    11  ## Creating East-West Gateway
    12  
    13  All configurations rely on a separate gateway deployment that is dedicated to
    14  east-west traffic. This is done to avoid having east-west traffic flooding
    15  the default north-south ingress gateway.
    16  
    17  Run the following command to deploy the east-west gateway to a primary cluster:
    18  
    19  ```bash
    20  export MESH=mesh1
    21  export CLUSTER=cluster1
    22  export NETWORK=network1
    23  ./samples/multicluster/gen-eastwest-gateway.sh | \
    24      istioctl manifest generate -f - | \
    25      kubectl apply -f -
    26  ```
    27  
    28  The `CLUSTER` and `NETWORK` environment variables should match the values used to deploy the control plane
    29  in that cluster.
    30  
    31  ## Primary-Remote Configuration
    32  
    33  In order to give a remote cluster access to the control plane (istiod) in a primary cluster,
    34  we need to expose the istiod service through the east-west gateway:
    35  
    36  ```bash
    37  kubectl apply -f samples/multicluster/expose-istiod.yaml -n istio-system
    38  ```
    39  
    40  ## Multi-network Configuration
    41  
    42  In order to enable cross-cluster load balancing between clusters that are in different
    43  networks, we need to expose the services through the east-west gateway in each cluster:
    44  
    45   ```bash
    46   kubectl apply -f samples/multicluster/expose-services.yaml -n istio-system
    47   ```