Место назначения метрик Istio неизвестно

Сценарий

Istio версии 1.5.0 поверх EKS 1.14. Включенные компоненты:

  • База
  • Пилот

ПРИМЕЧАНИЕ. В Istio 1.5.0 не рекомендуется использовать Mixer и теперь он перешел на телеметрию v2, которая происходит внутри сопроводительного файла прокси-сервера envoy.

Я хочу использовать Istio для поддержки некоторых показателей из коробки.

Вот поток

мой компьютер -> Шлюз -> Виртуальная служба A -> Виртуальная служба B

Я убедился, что:

  1. K8s Сервисные объекты имеют метку app
  2. Объекты развертывания K8s и их шаблоны модулей имеют метку app.

Я могу нормально запустить поток, а это значит, что конфигурации правильные.

Проблема с телеметрией.

istio_requests_total{connection_security_policy="unknown",destination_app="unknown",destination_canonical_revision="latest",destination_canonical_service="unknown",destination_principal="spiffe://cluster.local/ns/default/sa/default",destination_service="svcb.default.svc.cluster.local",destination_service_name="svcb.default.svc.cluster.local",destination_service_namespace="unknown",destination_version="unknown",destination_workload="unknown",destination_workload_namespace="unknown",grpc_response_status="0",instance="10.2.55.80:15090",job="envoy-stats",namespace="default",pod_name="svca-77969dc86b-964p5",reporter="source",request_protocol="grpc",response_code="200",response_flags="-",source_app="svca",source_canonical_revision="latest",source_canonical_service="svca",source_principal="spiffe://cluster.local/ns/default/sa/default",source_version="unknown",source_workload="svca",source_workload_namespace="default"}    

Вопрос

  1. Почему большинство destination-* ярлыков unknown?
  2. официальная панель мониторинга сетки istio обычно фильтрует показатели по reporter=destination. Почему во всех моих istio_requests_total сериях есть reporter=source?

person Tran Triet    schedule 28.03.2020    source источник
comment
Вы уверены, что прокси-сервер вашей службы B запущен правильно? Я думаю, что это не так, потому что 1 / отсутствие телеметрии с reporter=destination означает, что он не сообщает о телеметрии при получении запроса (он должен), а 2 / пространство имен и имя службы неизвестны, что означает, что он не рассматривается как часть сетка.   -  person Joel    schedule 28.03.2020
comment
Спасибо. Я знаю, что мой прокси-сервер sidecar работал в службе B (в его модулях работает прокси-контейнер, и я могу собрать журнал, как вы могли видеть). Я считал, что «это не рассматривается как часть меша», но я не уверен, где я ошибся. Я думал, что сервис b является частью меша, поскольку я создал для него виртуальный сервис.   -  person Tran Triet    schedule 28.03.2020


Ответы (1)


Да ладно, после долгих поисков, вот ответ.

Istio поддерживает проксирование всего TCP-трафика по умолчанию, но для предоставления дополнительных возможностей, таких как маршрутизация и расширенные метрики, необходимо определить протокол. Это может быть сделано автоматически или явно указано

Я не указал имя порта в моем сервисном ресурсе. Как только я это сделал, проблема решена.

person Tran Triet    schedule 28.03.2020