Bird
Raised Fist0
Kubernetesdevops~5 mins

DNS in Kubernetes (CoreDNS) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is CoreDNS in Kubernetes?
CoreDNS is the default DNS server in Kubernetes. It helps services and pods find each other by translating service names into IP addresses.
Click to reveal answer
beginner
How does CoreDNS help pods communicate in Kubernetes?
CoreDNS resolves service names to IP addresses, so pods can use simple names instead of IPs to connect to other services.
Click to reveal answer
intermediate
Where is CoreDNS configured in a Kubernetes cluster?
CoreDNS runs as a Deployment in the kube-system namespace and is configured via a ConfigMap named 'coredns'.
Click to reveal answer
intermediate
What file does CoreDNS use to define DNS rules and behavior?
CoreDNS uses a ConfigMap that contains a Corefile. The Corefile defines how DNS queries are handled.
Click to reveal answer
beginner
What happens if CoreDNS is not running in a Kubernetes cluster?
Pods will not be able to resolve service names to IPs, causing communication failures between services.
Click to reveal answer
What is the main role of CoreDNS in Kubernetes?
AManage pod scheduling
BTranslate service names to IP addresses
CStore container images
DMonitor cluster health
Where does CoreDNS run inside a Kubernetes cluster?
AInside each pod
BOn the master node only
CAs a DaemonSet on all nodes
DIn the kube-system namespace as a Deployment
What is the name of the file that configures CoreDNS behavior?
ACorefile
BConfig.yaml
CDNS.conf
DServicefile
If CoreDNS stops working, what is the likely impact?
APods cannot resolve service names
BPods will stop running
CCluster nodes will reboot
DStorage volumes will be lost
How can you check the CoreDNS pods status?
Akubectl get nodes
Bkubectl get pods -n default
Ckubectl get pods -n kube-system -l k8s-app=kube-dns
Dkubectl describe service
Explain how CoreDNS helps pods find each other in Kubernetes.
Think about how computers use DNS to find websites.
You got /4 concepts.
    Describe what happens if CoreDNS is not functioning in a Kubernetes cluster.
    Consider what happens if you can't look up phone numbers.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main role of CoreDNS in a Kubernetes cluster?
      easy
      A. To manage container images in the cluster
      B. To provide DNS resolution for services and pods inside the cluster
      C. To schedule pods on nodes
      D. To monitor cluster resource usage

      Solution

      1. Step 1: Understand CoreDNS function

        CoreDNS acts as the DNS server inside Kubernetes, resolving names of services and pods.
      2. Step 2: Compare with other options

        Managing images, scheduling pods, and monitoring are done by other components like container registries, kube-scheduler, and metrics servers.
      3. Final Answer:

        To provide DNS resolution for services and pods inside the cluster -> Option B
      4. Quick Check:

        CoreDNS = DNS resolution inside Kubernetes [OK]
      Hint: CoreDNS is Kubernetes' internal DNS server [OK]
      Common Mistakes:
      • Confusing CoreDNS with pod scheduling
      • Thinking CoreDNS manages container images
      • Assuming CoreDNS monitors resources
      2. Which Kubernetes resource holds the CoreDNS configuration?
      easy
      A. Secret named coredns in default namespace
      B. Deployment in kube-system namespace
      C. ConfigMap named coredns in kube-system namespace
      D. ServiceAccount named coredns in kube-system namespace

      Solution

      1. Step 1: Identify CoreDNS configuration storage

        The CoreDNS configuration is stored in a ConfigMap named 'coredns' inside the 'kube-system' namespace.
      2. Step 2: Eliminate other options

        Deployment runs CoreDNS pods but does not hold config; Secrets store sensitive data; ServiceAccounts manage permissions.
      3. Final Answer:

        ConfigMap named coredns in kube-system namespace -> Option C
      4. Quick Check:

        CoreDNS config = ConfigMap coredns in kube-system [OK]
      Hint: CoreDNS config is a ConfigMap in kube-system [OK]
      Common Mistakes:
      • Confusing ConfigMap with Secret
      • Looking in default namespace instead of kube-system
      • Thinking Deployment holds config data
      3. Inside a pod, you run nslookup kubernetes.default.svc.cluster.local. What is the expected result?
      medium
      A. An IP address of the Kubernetes API service
      B. An error saying domain not found
      C. The pod's own IP address
      D. The IP address of the CoreDNS pod

      Solution

      1. Step 1: Understand the DNS query

        The domain 'kubernetes.default.svc.cluster.local' is the default Kubernetes API service DNS name inside the cluster.
      2. Step 2: Determine expected DNS resolution

        CoreDNS resolves this to the IP address of the Kubernetes API service, not the pod or CoreDNS pod IP.
      3. Final Answer:

        An IP address of the Kubernetes API service -> Option A
      4. Quick Check:

        Default service DNS resolves to API server IP [OK]
      Hint: Default service DNS resolves to API server IP [OK]
      Common Mistakes:
      • Expecting pod IP instead of service IP
      • Assuming CoreDNS pod IP is returned
      • Thinking query fails inside pod
      4. You modified the CoreDNS ConfigMap but DNS queries inside pods still fail. What is the most likely fix?
      medium
      A. Restart the CoreDNS pods to reload the new config
      B. Delete all pods in the default namespace
      C. Reinstall Kubernetes cluster
      D. Change pod DNSPolicy to Default

      Solution

      1. Step 1: Recognize CoreDNS config reload behavior

        CoreDNS pods need to reload the ConfigMap changes, which usually requires restarting the pods.
      2. Step 2: Evaluate other options

        Deleting unrelated pods or reinstalling the cluster is unnecessary; changing DNSPolicy may break cluster DNS.
      3. Final Answer:

        Restart the CoreDNS pods to reload the new config -> Option A
      4. Quick Check:

        CoreDNS pods restart reloads ConfigMap changes [OK]
      Hint: Restart CoreDNS pods after ConfigMap changes [OK]
      Common Mistakes:
      • Deleting unrelated pods expecting DNS fix
      • Reinstalling cluster unnecessarily
      • Changing pod DNSPolicy incorrectly
      5. You want to add a custom DNS entry for myapp.local inside your Kubernetes cluster using CoreDNS. Which step is required?
      hard
      A. Deploy a pod named myapp.local with a static IP
      B. Create a new Service named myapp.local in default namespace
      C. Modify the kubelet to add myapp.local to /etc/hosts on all nodes
      D. Add a hosts plugin entry in the CoreDNS ConfigMap with myapp.local mapping

      Solution

      1. Step 1: Understand how to add custom DNS entries in CoreDNS

        CoreDNS supports a hosts plugin where you can add static hostname-to-IP mappings in its ConfigMap.
      2. Step 2: Evaluate other options

        Creating a Service named myapp.local won't create a DNS entry for that domain; modifying kubelet hosts is manual and not scalable; pod names don't create DNS entries.
      3. Final Answer:

        Add a hosts plugin entry in the CoreDNS ConfigMap with myapp.local mapping -> Option D
      4. Quick Check:

        Custom DNS via hosts plugin in CoreDNS ConfigMap [OK]
      Hint: Use hosts plugin in CoreDNS ConfigMap for custom DNS [OK]
      Common Mistakes:
      • Thinking Service name creates arbitrary DNS names
      • Modifying node hosts files manually
      • Assuming pod names create DNS entries
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard