https://github.com/mancobian/homelab
Automate the creation of a multi-node Kubernetes cluster in a Proxmox Virtual Environment.
https://github.com/mancobian/homelab
cloud-init k8s proxmox
Last synced: over 1 year ago
JSON representation
Automate the creation of a multi-node Kubernetes cluster in a Proxmox Virtual Environment.
- Host: GitHub
- URL: https://github.com/mancobian/homelab
- Owner: mancobian
- Created: 2020-08-30T14:06:29.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T16:30:30.000Z (almost 6 years ago)
- Last Synced: 2024-11-05T20:47:04.221Z (over 1 year ago)
- Topics: cloud-init, k8s, proxmox
- Language: Shell
- Homepage:
- Size: 37.1 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Overview
Create a multi-node Kubernetes cluster on a single server in a [Proxmox Virtual Environment](https://www.proxmox.com).
# Server Specs
- CPU: 32 x Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz (2 Sockets)
- RAM: 128 GB
- Disk
- local-zfs
- Content: Disk Image, Container
- Type: ZFS, Mirror
- Size: 500 GB (x2)
- data
- Content: Disk Image, Container
- Type: ZFS, Mirror
- Size: 2 TB (x2)
# K8s Cluster Specs
- Master (x1)
- CPU: 4 cores
- RAM: 32 GB
- Worker (x3)
- CPU: 2 cores
- RAM: 8 GB
- Data (x1)
- CPU: 4 cores
- RAM: 16 GB
# Commands
- `make install` - Install `homelab`
- `make uninstall` - Remove `homelab`
- `homelab setup` - Setup `homelab` resources
- `homelab teardown` - Teardown `homelab` resources
- `homelab kubectl` - Execute a `kubectl` command on the K8s cluster master node
# References
- The Engineer's Workshop, ["LVM, Thin Provisioning, and Monitoring Storage Use: A Case Study"](https://engineerworkshop.com/blog/lvm-thin-provisioning-and-monitoring-storage-use-a-case-study/)
- YouTube, ["Creating a template in Proxmox Virtual Environment with cloud-init support"](https://www.youtube.com/watch?v=8qwnXd1yRK4&ab_channel=LearnLinuxTV) - cloud-init networking workaround
- LinkedIn, ["Lost SSH Key? Cloud-init is the answer"](https://www.linkedin.com/pulse/lost-ssh-key-cloud-init-answer-himanshoo-wadhwa/)
- cloudinit.co, ["How to Set Up SSH Keys on Ubuntu 18.04"](https://cloudinit.co/how-to-set-up-ssh-keys-on-ubuntu-18-04/)
- learnk8s.com, ["Architecting Kubernetes clusters — choosing a worker node size"](https://learnk8s.io/kubernetes-node-size)
- yetiops.net, ["Using Terraform and Cloud-Init to deploy and automatically monitor Proxmox instances"](https://yetiops.net/posts/proxmox-terraform-cloudinit-saltstack-prometheus/#creating-a-template)
- freedesktop.org, ["XDG Base Directory Specification"](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)