Deploy Kubernetes on AWS manually using Terraform and Ansible. Setup a monitoring solution using Prometheus and Grafana to gain oversight of the deployment.
Deploying Kubernetes the 'hard way' using Terraform and Ansible allows the developer to exercise more control over their cluster(s). It is also significantly cheaper than using a managed service such as Amazon EKS.
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Configuration files describe to Terraform the components needed to run an application. Terraform generates an execution plan to reach the desired state, and then executes it to build the described infrastructure.
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates.
A monitoring solution comprised of Prometheus and Grafana provides the developer with more insight into their cluster's performance.
Setup documentation can be found in setup.md
Project icon^ from flaticon.com (edited by me)
Systems diagram^ made with draw.io