Когда модули на GKE k8s развернуты, они имеют возможность подключаться к другим экземплярам GCE (вычислительный движок Google) по IP-адресу или имени DNS-сервера метаданных Google.
Я использую внутреннюю привязку, установленную на 2 (главный / подчиненный) экземплярах GCE для разрешения. Допустим, example.local - это внутреннее имя зоны, и все экземпляры используют его для разрешения имен. Я использую настраиваемые DNS, потому что мне нужно разрешать локальные записи DNS, а внутренними DNS в облаке Google нельзя управлять.
Модули GKE kubernetes используют kube-dns и IP-адреса преобразователя /etc/resolv.conf, которые используют настройки Google по умолчанию для экземпляра, и я не могу разрешить свою внутреннюю зону.
Я действительно не знаю, как решить эту проблему. Например, с помощью Docker можно передавать DNS при загрузке контейнера с помощью «docker -d -p …… --dns = 8.8.8.8…».
Можно ли настроить skydns таким образом, чтобы, например, был определен перенаправитель зоны .local? просто догадываюсь.
Эта функция появится в Kubernetes v1.6:
https://github.com/kubernetes/kubernetes/pull/41826
Это позволит вам вводить частные зоны в конфигурацию kube-DNS.