{"id":34774259,"url":"https://github.com/codeformuenster/clustersetup","last_synced_at":"2026-04-21T18:38:32.305Z","repository":{"id":43858149,"uuid":"304448636","full_name":"codeformuenster/clustersetup","owner":"codeformuenster","description":"ansible setup for a kubeadm based kubernetes cluster with high availability","archived":false,"fork":false,"pushed_at":"2022-02-15T21:41:11.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-26T19:46:07.706Z","etag":null,"topics":["ansible","cilium","high-availability","kubeadm","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeformuenster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-15T21:09:09.000Z","updated_at":"2024-04-15T05:03:14.000Z","dependencies_parsed_at":"2022-09-09T20:12:27.172Z","dependency_job_id":null,"html_url":"https://github.com/codeformuenster/clustersetup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codeformuenster/clustersetup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformuenster%2Fclustersetup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformuenster%2Fclustersetup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformuenster%2Fclustersetup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformuenster%2Fclustersetup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeformuenster","download_url":"https://codeload.github.com/codeformuenster/clustersetup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeformuenster%2Fclustersetup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32105351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["ansible","cilium","high-availability","kubeadm","kubernetes"],"created_at":"2025-12-25T08:12:20.716Z","updated_at":"2026-04-21T18:38:32.292Z","avatar_url":"https://github.com/codeformuenster.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# clustersetup\n\nHobbyist bare metal kubernetes cluster setup using ansible. Used for serving some of our applications.\n\n## Requirements\n\nDirectory `keys` should contain a ssh key for accessing your nodes through ssh.\n\nYou'll also need a `keys/known_hosts` file populated by `ssh-keyscan -t ed25519 \u003cinventory-hostname-1\u003e [... inventory-hostname-2 ... inventory-host-name-n] | tee keys/known_hosts`\n\nYou also should have the `vault-id` password for encrypted values in the root directory of this repository.\n\nFor nodes, Ubuntu 20.04 LTS is used\n\nCheck out [VM-setup.md](docs/VM-setup.md) for a detailed description and a preseed file.\n\nAlso check out [Network.md](docs/Network.md) for some hints regarding DNS.\n\nFinally, we're using [Flux v2](https://github.com/fluxcd/flux2) to install (almost) all components and applications. Check [GitOps.md](docs/GitOps.md) for a detailed description of our setup.\n\n## With local python \u0026 ansible installion\n\nInstall dependencies\n\n    ansible-galaxy install -r requirements.yaml\n\nOnly do this the very first time (for a new host add `--limit \"NAME-OF-NEW-HOST-FROM-INVENTORY\"`)\n\n    ansible-playbook --tags initial-setup --ask-become-pass clustersetup.yaml\n\nIt is recommended to shut down (`sudo shutdown -h now` via ssh) your server to activate the `qemu-guest-agent` integration in Proxmox.\n\nAfter starting your server again, do a full upgrade (`sudo apt update \u0026\u0026 sudo apt upgrade -y`).\n\nRun playbooks\n\n    ansible-playbook clustersetup.yaml\n\nThen, bootstrap your nodes\n\n**Attention**: It is strongly advised to reboot your VMs before bootstrapping. Otherwise cgroup driver of docker and kubelet won't match. At least restart the docker service.\n\n**Attention #2**: The `bootstrap-nodes` should be used only once for your cluster or after manually running `kubeadm reset --force \u0026\u0026 rm -rf /etc/cni/net.d` on all of the nodes.\n\n    ansible-playbook --tags bootstrap-nodes clustersetup.yaml\n\n### References\n\n- https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/\n- https://github.com/kubernetes/kubeadm/blob/d4b2a53/docs/ha-considerations.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeformuenster%2Fclustersetup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeformuenster%2Fclustersetup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeformuenster%2Fclustersetup/lists"}