Open
6 of 7 issues completedDescription
Experimental 4-Node Kubernetes Deployment
Requirements
- A physical 4-node deployment:
- 1 main (control plane) node
- 3 worker nodes
- Each node is equipped with local storage
- Deployment is not required to have optimized performance but must work within the specs of the components used.
- Make use, as far as possible, of hardware that we already have.
- Kubernetes deployed
- Documented and reproducible setup ( Infrastructure as Code / IaC )
Definition of Done
-
Hardware and Software Selection
-
Physical Infrastructure Preparation
- Install local storage on each node #22
- Physically mount servers in racks
- Configure and test network interconnects #23
-
Software Deployment
- Select and install the base operating system
- Cluster role into Ansible #24
- Deploy k3s #25
- Validate node functionality
-
Observability
-
Documentation (project wiki) #26
- Create a setup procedure
- Include troubleshooting guide
- Document network and hardware configuration
Key Decision Points to Discuss
-
Interconnect Technology
- Evaluate options (e.g., Ethernet, InfiniBand)
-
Operating System Selection
- Compare RedHat Enterprise Linux vs. Ubuntu Server
- Evaluate support, stability, and Kubernetes compatibility
-
Configuration Management
- Assess Ansible for automated deployment
- Compare with alternative configuration management tools
-
Kubernetes Distribution
- https://blog.cloudowski.com/articles/which-kubernetes-for-on-prem/
- Rancher, k3s, OpenShift, OKD, Tanzu, ...
-
Observability/LMA
- https://github.com/prometheus-operator/kube-prometheus
- kube-prometheus, VictoriaMetrics, Vector, InfluxDB
Artifacts
- Fully functional 4-node Kubernetes deployment
- Comprehensive setup documentation / Infra as Code (IaC)
- Architectural decision record (ADR)
Additional Considerations
- Ensure scalability for future expansion
- Plan for potential future performance optimizations
- Consider security best practices during setup
Success Criteria
- Deployment must be:
- Fully operational
- Reproducible
- Documented
- Capable of basic Kubernetes workload deployment