https://github.com/philippechepy/vagrant-kubernetes
A local Kubernetes cluster using Packer, Vagrant and Kubeadm
https://github.com/philippechepy/vagrant-kubernetes
cilium containerd kubeadm kubernetes packer vagrant
Last synced: 3 months ago
JSON representation
A local Kubernetes cluster using Packer, Vagrant and Kubeadm
- Host: GitHub
- URL: https://github.com/philippechepy/vagrant-kubernetes
- Owner: PhilippeChepy
- Created: 2021-02-05T18:32:44.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-28T16:18:34.000Z (over 4 years ago)
- Last Synced: 2025-03-09T16:06:18.737Z (7 months ago)
- Topics: cilium, containerd, kubeadm, kubernetes, packer, vagrant
- Language: HCL
- Homepage:
- Size: 20.5 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TL;DR
The goal of this repository is to set up a Kubernetes (1.20) cluster in vagrant.
You need to have `packer`, `virtualbox` and `vagrant` installed on your workstation.Start:
```bash
make start
```Cleanup:
```bash
make clean
```# Forward local ports to cluster Ingress Controller
Traefik is set up as default Ingress Controller.
It is possible to forward all queries from the host ports 80 and 443 to cluster's Ingress Controller, running the `extra/local-lb.sh` script.In order for this script to work, you need to have docker installed on your host, as it creates a `vagrant-kubernetes-haproxy` container.
# Components
- Kubernetes 1.20
- containerd as container runtime (CRI plugin)
- Cilium as CNI- Traefik as Ingress Controller
- Longhorn as (optional) volume provisioner
To enable longhorn deployment, set `storage_volume_snapshost_controller` and `storage_longhorn` to `true` in Vagrantfile# Networking
- VMs are in a shared network in the `10.80.0.0/16` subnet
- Kubernetes Services are in the `10.96.0.0/12` subnet
- Kubernetes Pods are in the `10.112.0.0/12` subnet# References
* Kubernetes
* [Website](https://kubernetes.io)
* [Documentation](https://kubernetes.io/docs/home/)
* containerd
* [Website](https://containerd.io)
* Cilium
* [Website](https://cilium.io)
* Packer
* [Website](https://www.packer.io)
* [Documentation](https://www.packer.io/docs)
* [Creating Custom Templates Using Packer](https://www.exoscale.com/syslog/creating-custom-templates-using-packer/)
* Vagrant
* [Website](https://www.vagrantup.com)
* [Documentation](https://www.vagrantup.com/docs)# Author
Philippe Chepy
* Github: [@PhilippeChepy](https://github.com/PhilippeChepy)
* LinkedIn: [@philippe-chepy](https://www.linkedin.com/in/philippe-chepy/)
* Website [EasyAdmin](https://easyadmin.tech)