Доступ к EKS DNS из рабочих узлов и других экземпляров EC2 в одном и том же VPC - PullRequest
0 голосов
/ 06 мая 2019

Я создал кластер EKS, следуя руководству по началу работы с AWS с версией k1s 1.11. Я не менял никаких конфигов как таковых для kube-dns. Если я создаю сервис, скажем, myservice, я хотел бы получить к нему доступ из другого экземпляра ec2, который не является частью этого кластера eks, но находится в том же VPC. По сути, я хочу, чтобы этот DNS работал в качестве моего DNS-сервера для экземпляров вне кластера. Как я смогу это сделать?

Я видел, что служба kube-dns получает IP-адрес кластера, но не получает внешний IP-адрес, это необходимо для того, чтобы я мог получить к нему доступ из-за пределов кластера?

Это текущий ответ:

[ec2-user@ip-10-0-0-149 ~]$ kubectl get svc -n kube-system
NAME       TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)         AGE
kube-dns   ClusterIP   172.20.0.10   <none>        53/UDP,53/TCP   4d

Моя подсеть VPC - 10.0.0.0/16

.

Я пытаюсь достичь этого IP-адреса 172.20.0.10 из других экземпляров моего VPC, и я не могу этого сделать, что, как мне кажется, ожидается, поскольку мой VPC не знает ни о каком диапазоне подсети, равном 172.20.0.10. Но тогда как сделать эту службу DNS доступной для всех моих экземпляров в VPC?

1 Ответ

2 голосов
/ 06 мая 2019

Проблема, с которой вы сталкиваетесь, в основном не связана с DNS. Как вы сказали, вы не можете связаться с ClusterIP из других ваших экземпляров, потому что это внутренняя кластерная сеть и она недоступна извне Kubernetes.

Вместо того, чтобы идти в неправильном направлении, я рекомендую вам использовать Nginx Ingress , который позволяет вам создавать Nginx на основе AWS Load Balancer и предоставлять свои сервисы на этом Nginx.

Вы можете дополнительно интегрировать свои Ingresses с External-DNS аддоном, который позволит вам динамически создавать DNS-записи в Route 53.

Это займет некоторое время для настройки, но это путь Kubernetes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...