Zuul: UnknownHostException в Куберне - PullRequest
0 голосов
/ 28 мая 2019

Я использую микросервис в kubernete и docker, и я получил UnknownHostException, когда zuul (шлюз) передает данные запроса в службу Я не могу пропинговать сервисный контейнер по имени модуля (но когда я использую docker swarm вместо kubernetes, я могу нормально пропинговать по имени хоста)

Это мой сервисный файл yaml

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: merchantservice
  labels:
    run: merchantservice
spec:
  template:
    metadata:
      labels:
        name: merchantservice
    spec:
      containers:
      - name: merchantservice
        image: merchantservice:latest
        ports:
        - containerPort: 8001
        env:
          - name: EUREKA_SERVER
            value: "eureka1"
          - name: EUREKA_SERVER2
            value: "eureka2"
          - name: CONFIG_SERVER
            value: "configserver"
---
apiVersion: v1
kind: Service
metadata:
  name: merchantservice
spec:
  selector:
    name: merchantservice
  ports:
    - port: 8001
      targetPort: 8001
  type: LoadBalancer

И это вывод ошибок

2019-05-28 04:29:53.443  WARN 1 --- [nio-8444-exec-6] o.s.c.n.z.filters.post.SendErrorFilter   : Error during filtering

com.netflix.zuul.exception.ZuulException: Forwarding error
...
Caused by: com.netflix.client.ClientException: null
...
Caused by: java.lang.RuntimeException: java.net.UnknownHostException: merchantservice-79cc77d9cc-224mf: Try again
    at rx.exceptions.Exceptions.propagate(Exceptions.java:57) ~[rxjava-1.3.8.jar!/:1.3.8]
    at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:463) ~[rxjava-1.3.8.jar!/:1.3.8]
    at rx.observables.BlockingObservable.single(BlockingObservable.java:340) ~[rxjava-1.3.8.jar!/:1.3.8]
    at com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:112) ~[ribbon-loadbalancer-2.3.0.jar!/:2.3.0]
    ... 158 common frames omitted
Caused by: java.net.UnknownHostException: merchantservice-79cc77d9cc-224mf: Try again
...

1 Ответ

0 голосов
/ 25 июня 2019

Я отправляю @Matthew L Daniel ответ из комментариев для лучшей видимости:

kube-dns не создает записи DNS для модулей, так как они эфемерное; если вы хотите обращаться к блокам, используйте их IP или используйте Сервис - Мэтью Л. Даниэль

...