Можно ли в Kubernetes использовать частный DNS? Например, приложению необходимо подключиться к внешней БД по имени хоста. Запись DNS, которая разрешает IP, хранится в частном DNS.
Мой AKS (служба Azure Kubernetes) работает на версии 1.17, которая уже использует новый coreDNS.
Моя первая попытка состояла в том, чтобы использовать этот частный DNS, как на виртуальной машине, настроив файл /etc/resolve.conf для модулей:
dnsPolicy: "None"
dnsConfig:
nameservers:
- 10.76.xxx.xxx
- 10.76.xxx.xxx
searches:
- az-q.example.com
options:
- name: ndots
value: "2"
Затем я попытался использовать configmap для настройки coreDNS:
apiVersion: v1
kind: ConfigMap
metadata:
name: kube-dns
namespace: kube-system
data:
upstreamNameservers: |
["10.76.xxx.xxx", "10.76.xxx.xxx"]
Но мой под каждый раз запускается с ошибкой при развертывании:
$ sudo kubectl logs app-homepage-backend-xxxxx -n ingress-nginx
events.js:174
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND az-q.example.com az-q.example.com:636
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
Что мне не хватает?