get-istio-multicluster icon indicating copy to clipboard operation
get-istio-multicluster copied to clipboard

Get Istio multicluster in action ✨ Guide with various options, including GitOps installation

Get Istio Multicluster

Istio Multicluster is by no means simple. There are many features Istio provides, and many moving pieces for the setup. This repository tries to showcase some of Istio's capability with the following in mind:

  • Simple configurations
  • Simple processes / containers
  • Simple steps to reproduce

But as this repository aims to provide practical use cases, you will also find:

  • Involved cluster / mesh setup
  • Detailed description on each step

This should allow you to have a quick deep-dive into the Istio offerings. Many of the useful features are backed by real configurations that could be used with minor tweaks.

📍 NOTE 📍

This repository does not aim to be exhaustive by any means. The examples here set out the foundation for multicluster communication, and use some features such as fault injections. You are expected to be somewhat familiar with Istio's features.
Also, it is worth noting that most of the examples focus on traffic management features as of Oct 2020. You can find more in the official documentation of Istio concepts.

🌅 Contents

⚙️ Prerequisites

For most of the setup, you will need the following tools installed:

📚 Setup Steps

Simple KinD based Setup

Description: This setup is the easiest to follow, and takes imperative setup steps.

# of Clusters Istio Installation Method Cluster Setup
2 Istio Operator KinD

Additional Tools involved: MetalLB

Simple k3d based Setup

Description: To be confirmed

# of Clusters Istio Installation Method Cluster Setup
2 TBC k3d

Additional Tools involved: MetalLB

Argo CD based GitOps Multicluster

Description: Uses Argo CD to wire up all the necessary tools. This allows simple enough installation steps, while providing breadth of other tools useful to have alongside with Istio.

# of Clusters Istio Installation Method Cluster Setup
2 Manifest Generation KinD

Additional Tools involved: MetalLB, Argo CD, Prometheus, Grafana, Kiali

🌍 Clusters

The clusters used in this repository are given easily identifiable names. They don't convey any special meaning.

For some cluster, there are some peculiarities over the others.

Name Status Description
armadillo ✅ Ready Simple cluster with Isito Control Plane, almost identical to bison.
bison ✅ Ready Simple cluster with Isito Control Plane, almost identical to armadillo.
cow ⚠️ WIP Cluster without Isito components. Used for Remote Control Plane.
dolphin ⚠️ WIP TBD