Kubernetes’de CoreDNS servisi iç dns olarak gayet güzel olarak çalışsa da bazen kullandığımız dış servis ve bileşenlere göre Kubernetes içerisinden DNS ile erişim sağlamamız gerekebiliyor. Farklı çözümlerde olsa özellikle dev kısmında CoreDNS’e yeni kayıt eklemek basit ve hızlı bir çözüm sağlıyor. Bunun içinde CoreDNS’in configmap’ında değişiklik yapmamız gerekiyor.
kubectl ile CoreDNS configmas’i açıyoruz;
kubectl edit cm coredns -n kube-system
Kubernetes ve CoreDNS sürümüne göre ufak farklılıklar olsa da koyu belirtilen yeri kendi configmas’ımıza ekliyoruz.
apiVersion: v1
kind: ConfigMap
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
hosts {
10.10.1.1 1.example.org
10.10.1.2 2.example.org
10.10.1.3 3.example.org
10.10.1.4 4.example.org
fallthrough
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . "/etc/resolv.conf"
cache 30
loop
reload
loadbalance
}
CoreDNS’i yeni kayıtlarımızı tanıması için yeniden başlatıyoruz.
kubectl rollout restart -n kube-system deployment/coredns