$ run as a normal user# run as root (or with sudo)
Skills in this chapter
- Traffic and service mesh — 5
nginx — web server and reverse proxy
nginx serves files, proxies to apps, ends TLS and caches.
HAProxy — fast load balancing
haproxy balances TCP and HTTP traffic with health checks and a stats page.
Traefik — the proxy that reads Docker and Kubernetes
traefik finds services by itself (labels, Ingress, IngressRoute) and gets Let's Encrypt certificates.
Istio — a service mesh
istioctl installs and checks Istio: mTLS between pods, retries, and canary traffic splits.
Certbot — free TLS certificates
certbot gets and renews Let's Encrypt certificates for servers outside Kubernetes (in Kubernetes: cert-manager).
Release with less risk
Three ways to put a new version in front of users.
| Way | How | Tool |
|---|---|---|
| Rolling update | Replace pods one by one | Kubernetes Deployment (default) |
| Blue/green | Run the new version beside the old, switch all traffic at once | Two Services, a switch in the Ingress or LB |
| Canary | Send 5–10 % of traffic to the new version, watch, then more | Istio VirtualService weights, Argo Rollouts, nginx canary annotations |
Remember
A release strategy only works with good health checks and dashboards that show errors per version.