Istio (дополнительный посредник-прокси) блокирует http traffi c через порт 8088 - PullRequest
0 голосов
/ 20 марта 2020

В моем приложении (пространство имен App2 = пряжа): открыты следующие порты: 8088: 31097 / TCP, 19888: 32150 / TCP, 8042: 32604 / TCP Без установки Istio все модули в моем кластере Kubernetes в (пространство имен = пряжа) могут подключиться к этому сервису через порт curl http://App2.Yarn.svc.cluster.local: 8088 / успешно с веб-страницей.

После включения istio-инъекции и повторного развертывания приложения. Добавлен Sidecar, и теперь все мои другие модули в кластере в том же пространстве имен = yarn (istio-инжектированы) не могут выполнить команду curl на порту 8088. Никаких других изменений, кроме добавления istio, не было сделано. Вот конфиг коляски от приборной панели Kubernetes. Не могли бы вы помочь мне выяснить, что происходит?

proxy
sidecar
--domain
$(POD_NAMESPACE).svc.cluster.local
--configPath
/etc/istio/proxy
--binaryPath
/usr/local/bin/envoy
--serviceCluster
hadoop.$(POD_NAMESPACE)
--drainDuration
45s
--parentShutdownDuration
1m0s
--discoveryAddress
istio-pilot.istio-system:15010
--zipkinAddress
zipkin.istio-system:9411
--proxyLogLevel=warning
--proxyComponentLogLevel=misc:error
--connectTimeout
10s
--proxyAdminPort
15000
--concurrency
2
--controlPlaneAuthPolicy
NONE
--dnsRefreshRate
300s
--statusPort
15020
--applicationPorts
8088,7077,6066,8080
--trust-domain=cluster.local

(обе службы (App1 и App2) развернуты в одном пространстве имен с включенной Istio-Injection. Если я войду в модуль (App2- 0) который должен разместить эту услугу на 8088, даже там я не могу успешно выполнить вызов curl, что для меня совершенно странно.)

1 Ответ

0 голосов
/ 20 марта 2020

Это происходит потому, что так работает istio service mesh. Каждый сервис, добавленный через прокси-сервер-посланник, добавляется в service mesh реестр. Развертывание приложений в пространстве имен с внедрением istio выиграет от автоматического обнаружения службы c.

Для соединения между сервисом с внедрением istio и сервисом, который не внедрен. Мы можем использовать объект ServiceEntry, чтобы сообщить istio, что мы хотим подключиться к этой услуге. Это добавит эту услугу в реестр istio service mesh. Однако службы, добавленные с ServiceEntry, не смогут использовать определенные функции посланника.

Дополнительную информацию можно найти в документации istio о ServiceEntry.

Надеюсь, что это так. помогает.

...