Skip to content

Latest commit

 

History

History
87 lines (58 loc) · 2.4 KB

15-dns-addon.md

File metadata and controls

87 lines (58 loc) · 2.4 KB

Deploying the DNS Cluster Add-on

In this lab you will deploy the DNS add-on which provides DNS based service discovery, backed by CoreDNS, to applications running inside the Kubernetes cluster.

The DNS Cluster Add-on

Deploy the coredns cluster add-on:

Note that if you have changed the service CIDR range and thus this file, you will need to save your copy onto controlplane01 (paste to vi, then save) and apply that.

kubectl apply -f https://raw.githubusercontent.com/mmumshad/kubernetes-the-hard-way/master/deployments/coredns.yaml

output

serviceaccount/coredns created
clusterrole.rbac.authorization.k8s.io/system:coredns created
clusterrolebinding.rbac.authorization.k8s.io/system:coredns created
configmap/coredns created
deployment.extensions/coredns created
service/kube-dns created

List the pods created by the kube-dns deployment:

kubectl get pods -l k8s-app=kube-dns -n kube-system

output

NAME                       READY   STATUS    RESTARTS   AGE
coredns-699f8ddd77-94qv9   1/1     Running   0          20s
coredns-699f8ddd77-gtcgb   1/1     Running   0          20s

Reference: https://kubernetes.io/docs/tasks/administer-cluster/coredns/#installing-coredns

Verification

Create a busybox pod:

kubectl run busybox -n default --image=busybox:1.28 --restart Never --command -- sleep 180

List the pod created by the busybox pod:

kubectl get pods -n default -l run=busybox

output

NAME                      READY   STATUS    RESTARTS   AGE
busybox-bd8fb7cbd-vflm9   1/1     Running   0          10s

Execute a DNS lookup for the kubernetes service inside the busybox pod:

kubectl exec -ti -n default busybox -- nslookup kubernetes

output

Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      kubernetes
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local

Next: Smoke Test
Prev: Kube API Server to Kubelet Connectivity