All Projects → bmcustodio → kind-cilium-mesh

bmcustodio / kind-cilium-mesh

Licence: Apache-2.0 License
A Cilium cluster mesh between two kind clusters for testing purposes.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to kind-cilium-mesh

admission-webhook-example-with-openfaas
Use OpenFaaS functions as Kubernetes Validating Admission Webhook
Stars: ✭ 24 (+4.35%)
Mutual labels:  kind
cilium-cli
CLI to install, manage & troubleshoot Kubernetes clusters running Cilium
Stars: ✭ 162 (+604.35%)
Mutual labels:  cilium
gke-ip-address-management
An application to help with IP Address Management (IPAM) for Google Kubernetes Engine (GKE) clusters. Easily allows the calculation of the subnets required to spin up GKE clusters in VPC-native mode. See it at: https://googlecloudplatform.github.io/gke-ip-address-management/
Stars: ✭ 45 (+95.65%)
Mutual labels:  kubernetes-networking
dontsteal
Python 3 script to compare two osu! replays for similarities. (Kind of anti-cheat for replay stealing)
Stars: ✭ 13 (-43.48%)
Mutual labels:  kind
hubble-ui
Observability & Troubleshooting for Kubernetes Services
Stars: ✭ 210 (+813.04%)
Mutual labels:  cilium
pytest-kind
Mirror of pytest-kind: Test your Python Kubernetes app/operator end-to-end with kind and pytest
Stars: ✭ 16 (-30.43%)
Mutual labels:  kind
kink
KinK is a helper CLI that facilitates to manage KinD clusters as Kubernetes pods. Designed to ease clusters up for fast testing with batteries included in mind.
Stars: ✭ 364 (+1482.61%)
Mutual labels:  kind
k3d-action
A GitHub Action to run lightweight ephemeral Kubernetes clusters during workflow. Fundamental advantage of this action is a full customization of embedded k3s clusters. In addition, it provides a private image registry and multi-cluster support.
Stars: ✭ 137 (+495.65%)
Mutual labels:  kind
hybridnet
A CNI plugin, provides networking environment where overlay and underlay containers can run on the same node and have cluster-wide bidirectional network connectivity.
Stars: ✭ 188 (+717.39%)
Mutual labels:  kubernetes-networking
ovs-cni
Open vSwitch CNI plugin
Stars: ✭ 176 (+665.22%)
Mutual labels:  kubernetes-networking
Kube Router
Kube-router, a turnkey solution for Kubernetes networking.
Stars: ✭ 1,814 (+7786.96%)
Mutual labels:  kubernetes-networking
Cilium
eBPF-based Networking, Security, and Observability
Stars: ✭ 10,256 (+44491.3%)
Mutual labels:  kubernetes-networking
Kubeasz
使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响
Stars: ✭ 7,629 (+33069.57%)
Mutual labels:  cilium

kind-cilium-mesh

A Cilium cluster mesh between two kind clusters for testing purposes.

License

Prerequisites

Introduction

This project bootstraps a cluster mesh between two kind clusters using Cilium which can be used for demo or testing purposes.

Bootstrapping

To bootstrap the cluster mesh, run

$ ./kind-cilium-mesh-up.sh

This will...

  • ... create two kind clusters with one control-plane node and two worker nodes each;
  • ... install Cilium in each cluster;
  • ... establish a cluster mesh between the two clusters using a service of type NodePort;
  • ... deploy an example HTTP application and configure it to be load-balanced across both clusters.

It may take some time for the cluster mesh to be fully operational, but the Cilium CLI will keep you posted during the whole process.

Testing

To test the cluster mesh and cross-cluster load-balancing, you can run the following command:

$ kubectl run --restart Never --rm -it --image giantswarm/tiny-tools tiny-tools -- /bin/sh -c 'for i in $(seq 1 10); do curl http://rebel-base/; done'
{"Galaxy": "Alderaan", "Cluster": "Cluster-2"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-1"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-2"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-2"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-2"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-1"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-2"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-1"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-2"}
{"Galaxy": "Alderaan", "Cluster": "Cluster-2"}
pod "tiny-tools" deleted

You'll be able to observe responses from both clusters (Cluster-1 / kind-cilium-mesh-1 and Cluster-2 / kind-cilium-mesh-2).

Tearing down

To tear down the kind clusters, run

$ kind delete cluster --name kind-cilium-mesh-1
$ kind delete cluster --name kind-cilium-mesh-2

License

Copyright 2021 bmcustodio

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].