CKA — Ingress & DNS
Chapter Overview
Welcome to Chapter 10 — Ingress & DNS, part of the Services & Networking domain that carries 20% of your CKA exam score.
This is one of the most practical and heavily tested areas. If you’ve been exposing Services with NodePort or LoadBalancer, you already know they work — but they don’t scale well when you need to route traffic to dozens of microservices. That’s where Ingress comes in.
In this chapter, you’ll learn how to:
- Define Ingress resources that route HTTP/HTTPS traffic based on paths and hostnames
- Deploy and configure an Ingress Controller (the engine behind Ingress)
- Terminate TLS at the Ingress layer for HTTPS
- Understand CoreDNS — the cluster’s built-in DNS server
- Lock down Pod-to-Pod communication with NetworkPolicies
By the end of this chapter, you’ll be comfortable creating Ingress rules, troubleshooting DNS, and writing NetworkPolicies under exam pressure.
What You’ll Learn
| # | Topic | What’s Covered |
|---|---|---|
| 1 | Ingress Resources | Ingress spec, path-based and host-based routing |
| 2 | Ingress Controllers | NGINX Ingress Controller setup, annotations |
| 3 | TLS Termination | TLS Secrets, HTTPS configuration |
| 4 | CoreDNS | Architecture, Corefile, custom entries, troubleshooting |
| 5 | NetworkPolicies | Ingress/egress rules, default deny, selectors |
| 6 | Hands-On Lab | Deploy Ingress, configure TLS, create NetworkPolicies |
CKA Exam Relevance
The Services & Networking domain accounts for 20% of the CKA exam. Within this domain, Ingress and NetworkPolicies are among the most frequently tested topics.
Expect exam tasks like:
- “Create an Ingress resource that routes
/appto serviceapp-svcon port 80” - “Configure TLS termination for an Ingress using a given certificate”
- “Create a NetworkPolicy that allows only Pods with label
role=apito access the database Pod” - “Troubleshoot DNS resolution failures within a Pod”
You’ll need to write these resources from scratch using kubectl and YAML — no copy-paste from documentation. Practice until the patterns feel automatic.
Prerequisites
Before starting this chapter, make sure you’re comfortable with:
- Services — ClusterIP, NodePort, LoadBalancer (covered in earlier chapters)
- Labels and Selectors — used heavily in NetworkPolicies
- Namespaces — NetworkPolicies are namespace-scoped
- kubectl basics — creating, describing, and debugging resources
- YAML syntax — you’ll be writing a lot of it