Ingress & TLS Termination
An Ingress is an API object that manages external HTTP and HTTPS traffic routing to services inside a Kubernetes cluster.
1. Why Use Ingress Instead of LoadBalancer?
Creating a separate type: LoadBalancer for every service provisions an expensive cloud load balancer ($20-$50/mo each). An Ingress allows you to run a single Ingress Controller (like Nginx) that routes hundreds of subdomains and paths over a single IP!
2. Production Ingress Manifest (Host & Path Routing)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: main-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
tls:
- hosts:
- api.mycompany.com
secretName: api-tls-cert
rules:
- host: api.mycompany.com
http:
paths:
- path: /v1
pathType: Prefix
backend:
service:
name: api-v1-service
port:
number: 80Next Up
Learn ConfigMaps: decoupling configuration settings from containers, environment variables, and volume mounts.
Next Lesson: ConfigMaps & App Config →