Everyone can contribute! Learn DevOps and Cloud Native in our cafe ☕
Technology is moving fast in the DevOps and Cloud Native community.
Join the conversation and add your thoughts, tips, experiences, stories.
"Everyone Can Contribute" is inspired by GitLab's mission.
17. Cafe: Kubernetes deployments to Hetzner Cloud, step 4: Ingress controller for load balancer cost savings
Highlights
Max Rosin kindly prepared a series of workshops to learn how to deploy Kubernetes in Hetzner Cloud. Hetzner generously sponsored cloud minutes for our sessions, thank you!
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 :)
Insights
- 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
Recording
Enjoy the session! 🦊