On OpenShift see https://access.redhat.com/solutions/7070905
We are going to be adding a host alias for example.com in this example by adding the following to the coredns configmap:
hosts custom.hosts example.com {
1.2.3.4 example.com
fallthrough
} |
For multiple hosts
hosts custom.hosts example.com test.com {
1.2.3.4 example.com
6.6.6.6 test.com
fallthrough
} |
Start by editing the coredns configmap:
kubectl -n kube-system edit configmap/coredns |
apiVersion: v1
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . /etc/resolv.conf {
max_concurrent 1000
}
cache 30
loop
reload
loadbalance
hosts custom.hosts example.com test.com {
1.2.3.4 example.com
6.6.6.6 test.com
fallthrough
}
} |
Force CoreDNS to reload the ConfigMap by entering:
kubectl delete pod --namespace kube-system -l k8s-app=kube-dns |
Performing an nslookup from a pod should show the new IP address for example.com
root@ssh-server-5bd5774cf7-fgvt4:/# nslookup example.com Server: 10.96.0.10 Address: 10.96.0.10#53 Name: example.com Address: 1.2.3.4 |
| Reference | URL |
|---|---|
| ** Add a Custom Host to Kubernetes | https://hjrocha.medium.com/add-a-custom-host-to-kubernetes-a06472cedccb |
| Coredns Host Plugin | https://coredns.io/plugins/hosts/ |
| Customizing DNS Service | https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/ |
| Debugging DNS Resolution | https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/ |
| Custom DNS Entries For Kubernetes | https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/ |
| CoreDNS: How to add custom A records in OpenShift 4 | https://access.redhat.com/solutions/7070905 |