Skip to content

electrocucaracha/k8s-Ingress-demo

Repository files navigation

Kubernetes Ingress Demo

License GitHub Super-Linter Ruby Style Guide End-to-End status

visitors

Overview

This project is a didactic demonstration of how to configure and use the Kubernetes Ingress resource. It compares two different Ingress Controllers:

The demo runs on a multi-node Kubernetes cluster deployed with KinD (Kubernetes in Docker). Its primary goal is to provide a simple and reproducible environment for learning, testing, and experimenting with Ingress behavior across different providers.The demo runs on a multi-node Kubernetes cluster deployed with KinD (Kubernetes in Docker)

Architecture

Virtual Machines Setup

The project can be executed inside a virtual machine provisioned with Vagrant. An Ubuntu Focal environment is recommended.

To simplify the setup, the setup.sh script from the bootstrap-vagrant project can be used. This script installs all required Vagrant dependencies and plugins automatically.

Supported virtualization providers

The following providers are supported:

  • Libvirt
  • VirtualBox

Select the provider by setting the PROVIDER environment variable. For example:

curl -fsSL http://bit.ly/initVagrant | PROVIDER=libvirt bash

Once the environment is prepared, provision the virtual machine by running:

vagrant up

Note: The provisioning process may take several minutes, as it installs dependencies and deploys the Kubernetes cluster.

Configuration

Environment variables

The behavior of the demo can be customized using the following environment variables:

Name Description
DEBUG Enable verbose output during execution (Boolean).
INGRESS_CONTROLLER Select the Ingress Controller to use (String: nginx or contour).

About

Kubernetes Ingress resource demo

Topics

Resources

Stars

Watchers

Forks

Contributors