{"id":21030952,"url":"https://github.com/philippechepy/vagrant-kubernetes","last_synced_at":"2026-02-02T22:42:14.743Z","repository":{"id":118531408,"uuid":"336356872","full_name":"PhilippeChepy/vagrant-kubernetes","owner":"PhilippeChepy","description":"A local Kubernetes cluster using Packer, Vagrant and Kubeadm","archived":false,"fork":false,"pushed_at":"2021-03-28T16:18:34.000Z","size":21,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-03T13:06:02.742Z","etag":null,"topics":["cilium","containerd","kubeadm","kubernetes","packer","vagrant"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PhilippeChepy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-05T18:32:44.000Z","updated_at":"2025-02-08T09:33:41.000Z","dependencies_parsed_at":"2023-07-03T23:00:55.302Z","dependency_job_id":null,"html_url":"https://github.com/PhilippeChepy/vagrant-kubernetes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PhilippeChepy/vagrant-kubernetes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilippeChepy%2Fvagrant-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilippeChepy%2Fvagrant-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilippeChepy%2Fvagrant-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilippeChepy%2Fvagrant-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PhilippeChepy","download_url":"https://codeload.github.com/PhilippeChepy/vagrant-kubernetes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PhilippeChepy%2Fvagrant-kubernetes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29022175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T22:20:39.141Z","status":"ssl_error","status_checked_at":"2026-02-02T22:20:37.621Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cilium","containerd","kubeadm","kubernetes","packer","vagrant"],"created_at":"2024-11-19T12:22:37.493Z","updated_at":"2026-02-02T22:42:14.717Z","avatar_url":"https://github.com/PhilippeChepy.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TL;DR\n\nThe goal of this repository is to set up a Kubernetes (1.20) cluster in vagrant.\nYou need to have `packer`, `virtualbox` and `vagrant` installed on your workstation.\n\nStart:\n\n```bash\nmake start\n```\n\nCleanup:\n\n```bash\nmake clean\n```\n\n# Forward local ports to cluster Ingress Controller\n\nTraefik is set up as default Ingress Controller.\nIt 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.\n\nIn order for this script to work, you need to have docker installed on your host, as it creates a `vagrant-kubernetes-haproxy` container.\n\n# Components\n\n- Kubernetes 1.20\n- containerd as container runtime (CRI plugin)\n- Cilium as CNI\n\n- Traefik as Ingress Controller\n- Longhorn as (optional) volume provisioner\n    To enable longhorn deployment, set `storage_volume_snapshost_controller` and `storage_longhorn` to `true` in Vagrantfile\n\n# Networking\n\n- VMs are in a shared network in the `10.80.0.0/16` subnet\n- Kubernetes Services are in the `10.96.0.0/12` subnet\n- Kubernetes Pods are in the `10.112.0.0/12` subnet\n\n# References\n\n* Kubernetes\n  * [Website](https://kubernetes.io)\n  * [Documentation](https://kubernetes.io/docs/home/)\n* containerd\n  * [Website](https://containerd.io)\n* Cilium\n  * [Website](https://cilium.io)\n* Packer\n  * [Website](https://www.packer.io)\n  * [Documentation](https://www.packer.io/docs)\n  * [Creating Custom Templates Using Packer](https://www.exoscale.com/syslog/creating-custom-templates-using-packer/)\n* Vagrant\n  * [Website](https://www.vagrantup.com)\n  * [Documentation](https://www.vagrantup.com/docs)\n\n# Author\n\nPhilippe Chepy\n\n* Github: [@PhilippeChepy](https://github.com/PhilippeChepy)\n* LinkedIn: [@philippe-chepy](https://www.linkedin.com/in/philippe-chepy/)\n* Website [EasyAdmin](https://easyadmin.tech)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilippechepy%2Fvagrant-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilippechepy%2Fvagrant-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilippechepy%2Fvagrant-kubernetes/lists"}