2016-09-30 1 views
5

При запуске кластера Kubernetes на Google Cloud Platform можно каким-то образом иметь IP-адрес из конечных точек службы, автоматически назначенных для записи Google CloudDNS? Если это так, это можно сделать декларативно в определении YAML службы?Kubernetes - Автоматическое заполнение записей CloudDNS из конечных точек обслуживания

Проще говоря, я не верю, что IP-адрес моего type: LoadBalancer службы.

ответ

1

Один из вариантов заключается в том, чтобы перед вашими услугами использовать входной ресурс (балансировщик нагрузки) и присоединить его к статическому IP, который вы ранее зарезервировали.

Я не смог найти это документально либо в документации Kubernetes или GKE, но я нашел его здесь:

https://github.com/kelseyhightower/ingress-with-static-ip

Имейте в виду, что значение, которое вы установите для kubernetes.io/ingress.global-static-ip-name аннотации имя зарезервированного ресурса IP, а не самого IP.

К тому же, чтобы быть доступным, вам необходимо создать глобальный IP-адрес, привязать его к балансировщику нагрузки GCE, который имел глобальное таргетирование правил перенаправления в узлах вашего кластера самостоятельно.

Я не верю, что есть способ сделать эту работу автоматически, сегодня, если вы не хотите предоставлять свои услуги с помощью балансировщика нагрузки Ingress или GCP. Тем не менее, Ingress довольно прост, поэтому я бы порекомендовал вам пойти по этому маршруту, если сможете.

Существует также проект Kubernetes Инкубатор называется «внешним DNS», который выглядит надстройка, которая поддерживает это в более общем плане, и полностью внутри самого кластера:

https://github.com/kubernetes-incubator/external-dns

У меня есть еще не пробовал этот подход, но упоминал, что он слышит как-то, что вы, возможно, захотите следовать.

1

GKE использует deployment manager для вращения новых кластеров, а также других ресурсов, таких как Load Balancers. В настоящий момент менеджер развертывания не позволяет интегрировать функции облачного DNS. Тем не менее есть feature request to support that. В будущем Если эта функция реализована, она может позволить дальнейшую интеграцию между облачным DNS, Kubernetes и GKE.

Смежные вопросы