Istio - Тайм-аут соединения при вызове service-two из service-one (примеры)

Я следую руководствам, чтобы оценить Istio как сервисную сетку для моего кластера K8s, но по какой-то причине я не могу сделать простой пример, который использует пару сервисов для правильной работы:

https://istio.io/docs/tasks/integrating-services-into-istio.html

Если я попытаюсь вызвать service-two из service-one, я получаю такую ​​ошибку:

# kubectl exec -ti ${CLIENT} -- curl -v service-two:80
Defaulting container name to app.
Use 'kubectl describe pod/service-one-714088666-73fkp' to see all of the containers in this pod.
* Rebuilt URL to: service-two:80/
*   Trying 10.102.51.89...
* connect to 10.102.51.89 port 80 failed: Connection refused
* Failed to connect to service-two port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to service-two port 80: Connection refused

Однако, если я попытаюсь подключиться к service-two из другой службы в моем кластере, даже в другом пространстве имен, это сработает:

# kubectl exec -ti redis-4054078334-mj287 -n redis -- curl -v service-two.default:80
* Rebuilt URL to: service-two.default:80/
* Hostname was NOT found in DNS cache
*   Trying 10.102.51.89...
* Connected to service-two.default (10.102.51.89) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.38.0
> Host: service-two.default
> Accept: */*
> 
< HTTP/1.1 200 OK
* Server envoy is not blacklisted
< server: envoy
< date: Sat, 19 Aug 2017 14:43:01 GMT
< content-type: text/plain
< x-envoy-upstream-service-time: 2
< transfer-encoding: chunked
< 
CLIENT VALUES:
client_address=127.0.0.1
command=GET
real path=/
query=nil
request_version=1.1
request_uri=http://service-two.default:8080/


SERVER VALUES:
server_version=nginx: 1.10.0 - lua: 10001


HEADERS RECEIVED:
accept=*/*
content-length=0
host=service-two.default
user-agent=curl/7.38.0
x-b3-sampled=1
x-b3-spanid=00000caf6e052e86
x-b3-traceid=00000caf6e052e86
x-envoy-expected-rq-timeout-ms=15000
x-forwarded-proto=http
x-ot-span-context=00000caf6e052e86;00000caf6e052e86;0000000000000000;cs
x-request-id=1290973c-7bca-95d2-8fa8-80917bb404ad
BODY:
* Connection #0 to host service-two.default left intact
-no body in request-

Любая причина или объяснение, почему я получаю такое неожиданное поведение?

Спасибо.


person Enrique Medina    schedule 21.08.2017    source источник
comment
Вы проверили, все ли сервисы существуют? kubectl get services   -  person ajtrichards    schedule 21.08.2017
comment
Да, все сервисы существуют: service-one 10.98.250.222 <none> 80/TCP 1d service-two 10.101.229.75 <none> 80/TCP 1d   -  person Enrique Medina    schedule 21.08.2017
comment
Что означает <none> рядом? Правильно ли сопоставлена ​​каждая служба с развертыванием?   -  person ajtrichards    schedule 22.08.2017
comment
<none> в том, что у службы нет External-IP, что является ожидаемым поведением, поскольку я хочу показать их через Istio.   -  person Enrique Medina    schedule 22.08.2017


Ответы (1)


Я выяснил, что произошло: на service-one контейнеры инициализации не были завершены должным образом, поэтому проблема не решалась правильно.

person Enrique Medina    schedule 22.08.2017