Reputation: 363
ytong@controller-4135505:~/cka$ cat 14.15-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: busy33
labels:
app: 14-15
spec:
dnsPolicy: ClusterFirstWithHostNet
hostname: 14-15
subdomain: ytong82
containers:
- name: busybox-container
image: busybox
command: ['sleep', '3600']
ytong@controller-4135505:~/cka$ kubectl get pods -o wide | grep busy33
busy33 1/1 Running 0 91s 10.36.0.1 worker3-4135521 <none> <none>
I try to resolve its pod DNS records like below
ytong@controller-4135505:~/cka$ kubectl exec -it busy33 -- nslookup -type=a 10-36-0-1.default.svc.cluster.local
Server: 10.96.0.10
Address: 10.96.0.10:53
** server can't find 10-36-0-1.default.svc.cluster.local: NXDOMAIN
command terminated with exit code 1
ytong@controller-4135505:~/cka$ kubectl exec -it busy33 -- nslookup -type=a 14-15.ytong82.default.svc.cluster.local
Server: 10.96.0.10
Address: 10.96.0.10:53
** server can't find 14-15.ytong82.default.svc.cluster.local: NXDOMAIN
command terminated with exit code 1
Neither of above commands work.
Upvotes: 2
Views: 408
Reputation: 363
Replace svc.cluster.local with pod.cluster.local and it works for resolve pod DNS name by ip address
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: 10-36-0-1.default.pod.cluster.local
Address 1: 10.36.0.1 busy33
Upvotes: -1
Reputation: 44549
Use image busybox:1.28
instead of other images as those images has got DNS resolution issue.
When you are trying to do DNS resolution using pod you need to use below command which has pod
instead of svc
kubectl exec -it busy33 -- nslookup 10-36-0-1.default.pod.cluster.local
Upvotes: 2