Skip to content

Latest commit

 

History

History
75 lines (58 loc) · 2.59 KB

README.md

File metadata and controls

75 lines (58 loc) · 2.59 KB

Pattern - Multi-Cluster Layer 4 Load Balancer with Azure Fleet Manager

This repository contains scripts to deploy a multi-cluster layer 4 load balancer across Azure Kubernetes Service (AKS) clusters in different regions using Azure Fleet Manager.

Topology

+-----------------------+          +-----------------------+
|    AKS Cluster (East) |          |    AKS Cluster (West) |
|  Region: East US      |          |  Region: West US      |
|                       |          |                       |
| +-------------------+ |          | +-------------------+ |
| |   Application     | |          | |   Application     | |
| +-------------------+ |          | +-------------------+ |
|                       |          |                       |
+-----------------------+          +-----------------------+
          |                                      |
          +--------------------------------------+
                        VNet Peering

             +-----------------------------------+
             |    Fleet Manager (Hub Region)     |
             +-----------------------------------+
  • AKS Cluster (East): A Kubernetes cluster deployed in the East US region.
  • AKS Cluster (West): A Kubernetes cluster deployed in the West US region.
  • VNet Peering: Virtual Network peering between the AKS clusters to enable communication.
  • Fleet Manager: Azure Fleet Manager deployed in the hub region, managing the application across both AKS clusters.

Prerequisites

  • Azure CLI
  • Azure CLI fleet extension: Install it using the following command:
    az extension add --name fleet

Steps to run this demo

To deploy the AKS clusters and set up Fleet Manager, follow these steps:

Clone this repository:

git clone https://github.com/appdevgbb/fleet-manager-demo.git
cd fleet-manager-demo

Deploy the AKS clusters and configure Fleet Manager:

./run.sh deploy

Monitor the progress of the deployment in the terminal.

To remove the entire deployment:

Run the following command:

./run.sh cleanup

Usage:

./run.sh 
Usage: ./run.sh {deploy|cleanup}

This script automates the deployment of two AKS clusters in East and West US regions,
configures them with Azure Fleet Manager, deploys a demo application across both clusters,
and peers the virtual networks between the clusters.

Commands:
  deploy     Set up AKS clusters, peer the VNets, configure Fleet Manager, and deploy the demo application.
  cleanup    Tear down the AKS clusters, VNet peering, and Fleet Manager resources.