Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/olix0r/l2-k3d-multi
Example Linkerd multicluster with k3d
https://github.com/olix0r/l2-k3d-multi
Last synced: 18 days ago
JSON representation
Example Linkerd multicluster with k3d
- Host: GitHub
- URL: https://github.com/olix0r/l2-k3d-multi
- Owner: olix0r
- Created: 2020-05-20T00:20:12.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-09-02T14:57:27.000Z (about 2 years ago)
- Last Synced: 2024-10-14T18:45:48.433Z (about 1 month ago)
- Language: Shell
- Size: 37.1 KB
- Stars: 40
- Watchers: 6
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Linkerd2 Multi-Cluster Demo
This demo uses Linkerd's new multicluster functionality to demonstrate
failover & traffic-splitting in a multi-cluster mesh of Kubernetes clusters.- [`k3d:v5`](https://github.com/rancher/k3d/releases/tag/v5.4.4)
- [`smallstep/cli`](https://github.com/smallstep/cli/releases)
- [`linkerd:stable-2.12.0`+](https://github.com/linkerd/linkerd2/releases)
- A [devcontainer](https://code.visualstudio.com/docs/remote/containers) is
included with the needed tools.[`./create.sh`](./create.sh) initializes a set of clusters in `k3d`: _dev_,
_east_, and _west_.[`./install.sh`](./install.sh) creates a temporary CA and installs Linkerd
into these clusters.We can then deploy the [app](https://github.com/BuoyantIO/emojivoto/) into
the _east_ and _west_ clusters:```sh
:; kubectl --context=k3d-east apply -k east
:; kubectl --context=k3d-west apply -k west
```These clusters operate independently by default.
[`./link.sh`](./link.sh) configures linkerd-multicluster gateways & service
mirrors on each cluster. _east_ and _west_ are configured to discover
services from each other. _dev_ is only configured run the _web_ and
_vote-bot_ components, and it discovers other services from both _east_ and
_west_.At this point, we can start our _dev_ setup which uses the voting and emoji
services in the _east_ and _west_ clusters:```sh
:; kubectl --context=k3d-dev apply -k dev
```We can also route traffic between the _east_ and _west_ clusters.
See the commented sections in
[`./east/kustomization.yml`](./east/kustomization.yml) and
[`./west/kustomization.yml`](./west/kustomization.yml). These configurations
can be modified to reroute traffic between clusters!