Я не понимаю, как правильно настроить мой проект spring-cloud-kubernetes, чтобы использовать собственное обнаружение kubernetes и использовать discoveryclient, когда фронт службы kuberbetes mult
Я могу заставить все работать, используя discoveryClient и ссылаясь только на службу по имени. Все идет нормально. Однако затем мне нужно выбрать один из экземпляров службы (который выглядит как фактический IP-адрес + порт модуля), что я явно не хочу делать, поскольку я хочу полагаться на собственное обнаружение службы. Не следует ли мне использовать discoveryClient при использовании службы обнаружения kubernetes?
Я также могу подключиться к остальной службе с помощью restTemplate, используя http://{service-name}.{namespace}.svc.{cluster}.local:{service-port}. Насколько я могу судить, restTemplate также будет использовать discoveryClient и выбирать serviceInstance (особенно при использовании аннотации @LoadBalanced). Однако, судя по описанному выше поведению, это предполагает, что выбран один экземпляр службы, а не фактическая служба kubernetes.
Я чувствую, что не понимаю, что такое семантика клиента обнаружения при работе с собственным обнаружением kubernetes. Я также не понимаю, почему мне нужно ссылаться на службу в моем restTemplate, используя {service-name}.{namespace}.svc.{cluster}.local:{service-port}, а не просто {service-name) ( учитывая, что этого кажется достаточно при использовании балансировки нагрузки на стороне клиента)?
Спасибо за разъяснения.
spring.cloud.kubernetes.ribbon.mode={POD|SERVICE}
. Если вы не используете ленту и используете весенний облачный балансировщик нагрузки, используйтеspring.cloud.kubernetes.loadbalancer.mode=SERVICE
- person spencergibb   schedule 02.09.2020