Регистрация Zuul на Eureka в кластере Kubernetes

У меня есть кластер Kubernetes в Linux с одним главным и двумя подчиненными узлами. Я установил и создал сервисы для eureka-server и Zuul с несколькими репликами, доступными для NodePorts. Чтобы включить балансировку нагрузки, нам необходимо зарегистрировать сервис Zuul в Eureka.

Кто-нибудь может сообщить мне, как мы можем зарегистрировать Zuul на сервере eureka?


person Aditya Datta    schedule 17.10.2018    source источник


Ответы (1)


Если вы посмотрите конфигурацию для Zuul Service Discovery, вы можете вижу, что есть вариант:

eureka.serviceUrl.default=http://${region}.${eureka.eurekaServer.domainName}:7001/${eureka.eurekaServer.context}

Вам нужно будет указать эту опцию на Kubernetes Service на вашем сервере eureka. Основываясь на соглашении DNS Kubernetes, это будет что-то вроде это:

eureka-server-service.<k8s-namespace>.svc.cluster.local:<port-of-service-you-exposed>
person Rico    schedule 18.10.2018
comment
Привет, Рико, я полагаю, что предложенная вами команда должна включать DNS. Я не включил DNS для моей службы. Я создал сервис с помощью команд kubectl. Предположим, я создал службу для модуля nginx, доступную через порт 31220. Я обращаюсь к ней с помощью curl ‹node1›: 31220 и curl node2: 31220, тогда как мы можем указать 'eureka.serviceUrl.default' в этом случае? - person Aditya Datta; 23.10.2018
comment
Каждая служба в Kubernetes получает DNS (при условии, что ваш кластер настроен правильно). Формат похож на этот <service-name>.<namespace>.svc.cluster.local, поэтому он зависит от имени вашей службы eureka-server. - person Rico; 23.10.2018
comment
Привет, Рико, спасибо за ответ. Я проверил службу zuul, которую я развернул с netflix. Есть файл zuul-test.properties. Я внес изменения в соответствии с вашим предложением. Но я думаю, чтобы эти изменения вступили в силу, нужно перезапустить zuul. Я искал, но не смог найти для этого подходящего решения. Подскажите, как можно перезапустить службу zuul в этом кластере? - person Aditya Datta; 30.10.2018