17. Cafe: Kubernetes deployments to Hetzner Cloud, step 4: Ingress controller for load balancer cost savings
This session covers the fourth step, after having provisioned the server and agent VMs with Terraform and Ansible in the first session, deployed k3s last week and learned about pods and the Hetzner load balancer.
This week we’ll use a single load balancer for multiple websites to save costs - with an Ingress Controller.
- Kubernetes Nginx Ingress Controller
- Package in Kubernetes is called a “Helm Chart”, NGINX Ingress Controller values for configuration
- Set the annotations for the Hetzner Cloud Controller load balancer.
- helm diff to show the change before upgrade. Can be installed as Helm plugin.
- ingress-nginx controller can act as a reverse proxy with 2 pods and needs a default service backend
- cert-manager to fetch TLS certificates from Let’s Encrypt, using Custom Resource Definitions to install the ClusterIssue kind.
- hello-kubernetes as a demo application. The LoadBalancer receives the traffic, and the Ingress controller routes it to internal ClusterIP pods.
Next week, we’ll look into:
- Kubernetes user management and RBAC
- Hetzner storage volumes
Future ideas touch monitoring with Prometheus, GitLab CI/CD deployments and much more :)
- Max’s demo repository
- Twitter thread
- Helm diff
- Helm chart templates in Go Sprig
- Kubernetes failure stories
- Specifiy a pod disruption budget for your application - Kubernetes Day 2
- Kubernetes Life of a Packet
- ACME challenge RFC
Enjoy the session! 🦊