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)
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.
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 bashOnce the environment is prepared, provision the virtual machine by running:
vagrant upNote: The provisioning process may take several minutes, as it installs dependencies and deploys the Kubernetes cluster.
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). |
