Put Your Kubernetes App on the Internet
It runs in the cluster. Now give the world a URL that reaches it.
Your app is deployed and healthy — but only you can reach it, through kubectl and port-forwards. This pathway covers everything between your Service and a stranger's browser: how DNS finds you, how TLS earns the padlock, and the Gateway API front door that ties it all together.
Deploying an app and exposing an app are different skills, and the second one crosses domains most Kubernetes tutorials skip entirely. The payoff for walking the route in order: when you wire it up for real, you'll know exactly what every piece between your Service and the internet is doing — not just which YAML to copy.
13 steps live · 4 sites
What you'll be able to do
- →Trace the full journey from a domain name to your Pod: DNS resolution, load balancing, TLS termination, and routing.
- →Explain what a certificate actually asserts — and why public-key cryptography makes strangers trustable.
- →Expose an app the current-standard way: a Gateway and
HTTPRoutewith Traefik, and know whattype: LoadBalancerreally provisions. - →Automate certificates with cert-manager and wire your real domain to the cluster end to end.
Between the browser and your cluster
From URL to Endpoint
Networking · EssentialsThe journey a request makes — name, port, binding — before your app ever hears it.
A URL hides four real stages before it ever reaches your code: DNS resolving the name, a port acting as the door, a bind decision deciding who can reach it, and a path routing to a handler. This route follows one request through all four.
How DNS Actually Works
Networking · EssentialsResolution, records, and TTLs — how a name you own becomes an address that answers.
DNS is a tree of delegations with caches at every layer — records don't 'propagate,' caches simply expire on their TTL. Four questions explain every DNS mystery you'll meet: who answers, with what, for how long, and who controls it.
Load Balancer Basics
Networking · EssentialsThe machine in front of your machines — the first thing a public IP usually hits.
A load balancer makes two decisions, repeated forever: who's healthy (via probes) and who's next (via an algorithm), while an L4/L7 split decides what it can even see about the traffic. That frame travels — a cloud console's load balancer and Kubernetes' are the same two decisions.
Earn the padlock
Public-Key Cryptography: The Theory Under TLS
Computer Science · EfficiencyWhy key exchange is the hard problem, and what a certificate actually asserts.
Two machines that have never met can agree on a secret while an attacker reads every packet — the answer is one-way functions, public key exchange, and digital signatures, and it's less math-heavy than its reputation. This is the theory a certificate is actually built on.
TLS Basics: How HTTPS Actually Works
Networking · EssentialsThe handshake that turns that theory into a padlock in the browser.
The TLS handshake turns the previous step's cryptography into a padlock: a certificate asserts identity, a key exchange creates a shared secret in public, and a chain of trust decides whether any of it is believable. Nearly every TLS failure you'll meet is one specific verification step saying no.
Open the front door
Services — Stable Networking for Pods
Kubernetes · EssentialsInside the cluster first: the stable address your Pods hide behind.
Pod IPs are unreliable by design — they die and get replaced constantly — so a Service gives a stable name and address to a group of them instead. This is the cluster-internal version of the load balancing already covered outside it.
LoadBalancer Services: From Cloud to Bare Metal
Kubernetes · Essentialstype: LoadBalancer looks like magic — see what actually gets provisioned.
type: LoadBalancer is a request, not a built-in feature — Kubernetes ships nothing that fulfills it. On managed cloud, a controller provisions a real load balancer automatically; on bare metal, MetalLB (or you) has to become the fulfiller.
Gateway API: Gateways and HTTPRoutes with Traefik
Kubernetes · EfficiencyThe current-standard front door: one Gateway, an HTTPRoute per app.
Gateway API splits the front door into two objects, two owners: a Gateway the platform team manages, and an HTTPRoute each app team claims for itself. This replaces one Ingress-per-app with a single Gateway serving every app, and is the current standard.
Kubernetes Ingress: Reading the Front Door You Inherit
Kubernetes · EssentialsThe legacy front door you will inherit — read it, route with it, migrate from it.
Ingress is the front door you'll inherit in existing clusters, not the one to build new — ingress-nginx's maintenance is winding down, and the migration path runs straight through Gateway API. Reading it fluently still matters, because it's everywhere.
Make it real
Automating TLS Certificates: ACME and Let's Encrypt
Networking · EfficiencyHow a machine proves it owns your domain — the protocol that ended certificate expiry.
ACME is the protocol that solved certificate expiry: a machine proves domain ownership automatically (HTTP-01 or DNS-01) and Let's Encrypt issues a certificate with no human in the loop. Every ACME client you'll ever meet, from a cron job to a cluster controller, is this same protocol in different packaging.
cert-manager: Certificates as Cluster Resources
Kubernetes · EfficiencyOne annotation on the Gateway, and its certificates issue and renew themselves.
cert-manager brings the ACME protocol from the last step inside the cluster as a native resource — one annotation on a Gateway, and its certificates issue and renew themselves. Issuers, Certificates, and a debug chain are the entire operational surface.
Pointing Your Domain at the Cluster with external-dns
Kubernetes · EfficiencyClose the loop: the name you own points at the Gateway you built — automatically.
external-dns closes the last manual step: it watches your Gateway and keeps your real DNS provider's records pointed at it automatically, using a TXT ownership record so it never fights other tools for the same name.
Deploying Platform Services with Flux and OCI Artifacts
GitOps · EssentialsShip the whole edge stack the production way: one versioned artifact, zero manual commands.
The entire edge stack from this pathway — Traefik, cert-manager, external-dns — ships as one versioned OCI artifact that Flux reconciles, with zero manual kubectl commands. The rule underneath everything here: if it is not in the artifact, it does not exist.
Go deeper
Hardening the Public Edge
coming soonKubernetes · MasteryRate limits, WAFs, and what changes once real strangers can reach you.
Rate limits, WAFs, and what changes operationally once real strangers — not just your team — can reach this address. Reserved for the paid Mastery tier — coming soon.