Настройка - Kubernetes v1.13 и Istio 1.0.5
Я столкнулся с проблемой, когда обнаружение службы Istio создает конфигурации Envoy, которые соответствуют прослушивателям TCP вместо прослушивателей HTTP.
Связь работает в сервисной сетке, но мне нужно, чтобы Envoy служил прокси уровня 7, а не проходил через уровень 4.Я не получаю журналы, которые мне нужны для HTTP-запросов, поступающих через Envoy.
Вот что я вижу в журнале istio-proxy для коляски:
[2019-02-05T15: 40: 59.403Z] - 5739 7911 149929 "127.0.0.1:80" inbound |80 || api-endpoint.default.svc.cluster.local 127.0.0.1:44560 10.244.3.100:80 10.244.3.105:35204
Что, когда я проверяю конфигурацию посланника в коляске - это соответствующийКонфигурация для этого сообщения журнала.
"name": "envoy.tcp_proxy",
"config": {
"cluster": "inbound|80||api-endpoint.default.svc.cluster.local",
"access_log": [
{
"name": "envoy.file_access_log",
"config": {
"path": "/dev/stdout",
"format": "[%START_TIME%] %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% \"%UPSTREAM_HOST%\" %UPSTREAM_CLUSTER% %UPSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_REMOTE_ADDRESS%\n"
}
}
],
"stat_prefix": "inbound|80||api-endpoint.default.svc.cluster.local"
}
Итак, мой вопрос: Почему Pilot предоставляет Envoy конфигурацию TCP для службы HTTP?