Поделиться через


Что такое наблюдаемость сети контейнеров?

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

Наблюдение за сетью контейнеров совместимо со всеми рабочими нагрузками Linux, которые легко интегрируются с Hubble независимо от того, является ли базовый уровень данных Cilium или не Cilium (оба поддерживаются), обеспечивая гибкость для ваших потребностей в сети контейнеров.

Схема наблюдаемости сети контейнеров.

Примечание.

Для сценариев плоскости данных Cilium возможность наблюдения за сетями контейнеров доступна начиная с Kubernetes версии 1.29. Наблюдение за сетью контейнеров поддерживается во всех дистрибутивах Linux, включая Azure Linux, начиная с версии 2.0.

Функции наблюдения за сетью контейнеров

Наблюдение за сетью контейнеров предоставляет следующие возможности для мониторинга проблем, связанных с сетью в кластере:

  • Метрики уровня узла. Понимание работоспособности сети контейнеров на уровне узла имеет решающее значение для обеспечения оптимальной производительности приложения. Эти метрики предоставляют аналитические сведения о томе трафика, удаленных пакетах, количестве подключений и т. д. по узлу. Метрики хранятся в формате Prometheus и, например, их можно просмотреть в Grafana.

  • Метрики hubble (DNS и Метрики уровня pod). Эти метрики Prometheus включают исходные и целевые данные pod, позволяющие определить проблемы, связанные с сетью, на уровне детализации. Метрики охватывают объем трафика, удаленные пакеты, сбросы TCP, потоки пакетов L4/L7 и т. д. Существуют также метрики DNS (только для плоскостей данных, отличных от Cilium), охватывающие ошибки DNS и запросы DNS отсутствующих ответов.

  • Журналы потоков Hubble. Журналы потоков обеспечивают глубокую видимость сетевого действия кластера. Все обмен данными с модулями pod и из них регистрируются, что позволяет исследовать проблемы с подключением с течением времени. Журналы потоков помогают ответить на такие вопросы, как: получил ли сервер запрос клиента? Какова задержка кругового пути между запросом клиента и ответом сервера?

    • Hubble CLI. Интерфейс командной строки Hubble (CLI) может получать журналы потоков во всем кластере с настраиваемым фильтрацией и форматированием.

    • Пользовательский интерфейс Hubble. Пользовательский интерфейс Hubble — это удобный браузерный интерфейс для изучения сетевого действия кластера. Он создает граф подключения к службе на основе журналов потоков и отображает журналы потоков для выбранного пространства имен. Пользователи отвечают за подготовку и управление инфраструктурой, необходимой для запуска пользовательского интерфейса Hubble.

Основные преимущества наблюдаемости сети контейнеров

  • CNI-Agnostic: поддерживается во всех вариантах Azure CNI, включая kubenet.

  • Cilium и Non-Cilium: обеспечивает единый, простой интерфейс для плоскостей данных Cilium и не Cilium.

  • Мониторинг сети на основе eBPF: использует eBPF (расширенный фильтр пакетов Berkeley) для обеспечения производительности и масштабируемости для выявления потенциальных узких мест и проблем с перегрузкой, прежде чем они влияют на производительность приложения. Получите аналитические сведения о ключевых индикаторах работоспособности сети, включая объем трафика, удаленные пакеты и сведения о подключении.

  • Глубокое представление о сетевом действии. Узнайте, как приложения взаимодействуют друг с другом с помощью подробных журналов потоков сети.

  • Упрощенное хранилище метрик и параметры визуализации: выберите один из вариантов:

    • Управляемый Prometheus и Grafana Azure управляет инфраструктурой и обслуживанием, позволяя пользователям сосредоточиться на настройке метрик и визуализации метрик.
    • Приведите собственный (BYO) Prometheus и Grafana: пользователи развертывают и настраивают собственные экземпляры и управляют базовой инфраструктурой.

Метрики

Метрики уровня узла

Следующие метрики агрегируются на узел. Все метрики включают метки:

  • cluster
  • instance (Имя узла)

Для сценариев плоскости данных Cilium наблюдение за сетями контейнеров предоставляет метрики только для Linux, Windows в настоящее время не поддерживается. Cilium предоставляет несколько метрик, включая указанные ниже метрики, используемые при наблюдении за сетями контейнеров.

Имя метрики Description Дополнительные метки Linux Windows
cilium_forward_count_total Общее число пересылаемых пакетов direction
cilium_forward_bytes_total Общее число перенаправленных байтов direction
cilium_drop_count_total Общее число удаленных пакетов direction, reason
cilium_drop_bytes_total Общее число удаленных байтов direction, reason

Метрики уровня pod (метрики Hubble)

Следующие метрики агрегируются для каждого модуля pod (сведения о узле сохраняются). Все метрики включают метки:

  • cluster
  • instance (Имя узла)
  • source или destination

Для исходящего трафика будет source метка с исходным пространством имен и именем pod. Для входящего трафика будет destination метка с целевым пространством имен и именем pod.

Имя метрики Description Дополнительные метки Linux Windows
hubble_dns_queries_total Общий объем ЗАПРОСОВ DNS по запросу sourceor destination, qtypes (queryтип запроса)
hubble_dns_responses_total Общее количество ответов DNS по запросу и ответу sourceor destination, queryqtypes (тип запроса), rcode (возвращаемый код), ips_returned (число IP-адресов)
hubble_drop_total Общее число удаленных пакетов sourceили destination, protocolreason
hubble_tcp_flags_total Общее число TCP-пакетов по флагу. source или destination, flag
hubble_flows_processed_total Всего обработанных сетевых потоков (трафик L4/L7) sourceor destination, protocol, , typeverdictsubtype

Ограничения

  • Метрики уровня pod доступны только в Linux.
  • Плоскость данных Cilium поддерживается начиная с Kubernetes версии 1.29.
  • Метки меток могут иметь тонкие различия между кластерами Cilium и не Cilium.
  • Для кластеров на основе Cilium метрики DNS доступны только для модулей pod с настроенными политиками сети Cilium (CNP).
  • Журналы потоков в настоящее время недоступны в облаке с отслеживанием воздуха.
  • Ретранслятор Hubble может завершиться сбоем, если один из агентов узлов концентратора исчезает и может привести к прерываниям в интерфейсе командной строки Hubble.

Масштабировать

Управляемые Prometheus и Grafana накладывают ограничения масштабирования для конкретной службы. Дополнительные сведения см. в разделе "Очистка метрик Prometheus" в масштабе в Azure Monitor.

Цены

Внимание

Расширенные сетевые службы контейнеров — это платное предложение. Дополнительные сведения о ценах см. в разделе "Расширенные сетевые службы контейнеров" — цены.

Следующие шаги