У меня есть приложение весеннего ботинка/весеннего облака (архитектура микросервиса MS), построенное с помощью инструментов netflix и которое я хочу развернуть на кластере кубернетов (один мастер и 2 миньона), чтобы получить преимущество от своего факта оркестровки.интегрировать эврика с проблемой кубернетов
Кстати, я создал службу kube-dns на кластере, и я также попытался установить сервис eureka (названный eurekaservice) с 3-мя стручками. С другой стороны, я запустить микро-сервис со следующей конфигурацией: эврика
client:
serviceUrl:
defaultZone: http://eurekaservice:8761/eureka/
Хорошая новость заключается в том, что каждый эврика стручок на кластере получить уведомление о новом смонтированный экземпляр MS. Плохая новость заключалась в том, что когда MS уходит, только один eureka pod получает уведомление, а остальные нет. Другое дело, что когда я вижу логфайл MS, в то время как установлен, он показывает мне следующие ошибки:
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: 2016-12-01 06:01:54.469 ERROR 1 --- [nio-8761-exec-1] c.n.eureka.resources.StatusResource: Could not determine if the replica is available
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]:
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: java.lang.NullPointerException: null
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: at com.netflix.eureka.resources.StatusResource.isReplicaAvailable(StatusResource.java:90)
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: at com.netflix.eureka.resources.StatusResource.getStatusInfo(StatusResource.java:70)
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: at org.springframework.cloud.netflix.eureka.server.EurekaController.status(EurekaController.java:63)
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Dec 01 09:01:54 ctc-cicd3 docker-current[1465]: at java.lang.reflect.Method.invoke(Method.java:606)
Dec 01 09:02:16 ctc-cicd3 docker-current[1465]: 2016-12-01 06:02:16.918 WARN 1 --- [nio-8761-exec-8] com.netflix.eureka.InstanceRegistry : DS: Registry: lease doesn't exist, registering resource: MS - gateway-bbn50:MS:8090
Dec 01 09:02:16 ctc-cicd3 docker-current[1465]: 2016-12-01 06:02:16.919 WARN 1 --- [nio-8761-exec-8] c.n.eureka.resources.InstanceResource : Not Found (Renew): MS - gateway-bbn50:MS:8090
Dec 01 09:02:16 ctc-cicd3 docker-current[1465]: 2016-12-01 06:02:16.927 INFO 1 --- [nio-8761-exec-5] com.netflix.eureka.InstanceRegistry : Registered instance id 12.16.64.2 with status UP
Dec 01 09:02:17 ctc-cicd3 docker-current[1465]: 2016-12-01 06:02:17.061 INFO 1 --- [io-8761-exec-10] com.netflix.eureka.InstanceRegistry : Registered instance id 12.16.64.2 with status UP
Dec 01 09:02:46 ctc-cicd3 docker-current[1465]: 2016-12-01 06:02:46.932 WARN 1 --- [nio-8761-exec-9] com.netflix.eureka.InstanceRegistry : DS: Registry: lease doesn't exist, registering resource: MS - gateway-bbn50:MS:8090
Я думаю, что причиной проблемы является то, что точные копии не удалось увидеть друг друга.
как я могу решить эту проблему !!
благодарит вас за поддержку. Так как же другие микросервисы (кроме шлюза)?мне нужно определить свойство конфигурации, как указано выше? потому что некоторые микросервисы должны звонить друг другу внутри, чтобы достичь некоторых задач. Кроме того, что вы подразумеваете под «app1», «app2»? В моем случае у меня есть одно шлюзовое микросервис с четырьмя другими микросервисами (обучение, сообщение, настройки и вложение). как я могу продолжить? еще раз спасибо. – mootez
еще одна вещь, мне нужно что-то изменить в свойстве конфигурации Zuul? @Pierre Besson – mootez
Да заменить app1, app2 на applicationName микросервисов тура. И если ваши микросервисы должны называть себя внутренне, им нужен такой же типконфигурации, как и шлюз. И обычно нет необходимости редактировать дальнейшую конфигурацию Zuul. –