В этой статье вы узнаете, как использовать Istio для внедрения Sidecar в приложение Bookinfo и изучения возможностей наблюдаемости.
Перед началом убедитесь, что:
Перейдите в Platform Management, затем в Service Mesh > Service Meshes и кликните по названию сервисной сетки, чтобы открыть страницу с деталями. В разделе Namespaces нажмите Managed Namespace. Выберите demo-dev
и нажмите Confirm.
Развертывание с помощью kubectl
Откройте платформу контейнеров или страницу управления платформой и нажмите на инструмент kubectl
в правом нижнем углу.
Применение YAML-файла
Вставьте следующий скрипт в терминал и выполните его:
Подтверждение успешного внедрения
Перейдите в Service Mesh, в разделе Services вы должны увидеть, что внедрение Sidecar для всех четырёх сервисов Bookinfo установлено в состояние Enabled
.
Генерация трафика
Для изучения возможностей наблюдаемости приложению Bookinfo необходим трафик, чтобы Istio мог собирать метрики и трассировки с сервисов. Используйте следующий скрипт для генерации трафика.
**Примечание: ** Замените GATEWAY_IP_PORT
на фактический IP вашего ingress gateway. Мы ранее получили GATEWAY_IP_PORT
в разделе [Accessing Bookinfo].
Сохраните следующий скрипт как send-requests.sh
Сделайте скрипт исполняемым и запустите его:
Этот скрипт будет отправлять запрос на страницу продукта Bookinfo каждую секунду. Через некоторое время вы сможете изучить возможности наблюдаемости в пользовательском интерфейсе.
Топология сервисов
После запуска скрипта генерации трафика в течение 1–5 минут перейдите в Service Mesh > Topologies. Здесь вы увидите топологию, показывающую зависимости между ingress gateway и четырьмя сервисами Bookinfo. Также можно просмотреть метрики, связанные с трафиком и уровнем ошибок, на графе топологии.
Кликните по связи между узлами public-ingressgw
и productpage
в топологии. Справа от топологии появится Traffic Info между ними.
Детали трассировки
На странице Traffic Info нажмите View Tracing, чтобы открыть страницу с деталями трассировки. Время запроса и параметры будут заполнены автоматически. Список Span слева отобразит данные Span, соответствующие условиям запроса.
Кликните на любой Span, чтобы просмотреть полные данные Trace справа.
Нажмите View Log в данных Trace, чтобы проверить постоянные логи Pod, участвующих в трассировке.