Что такое наблюдаемость сети контейнеров?
Наблюдение за сетью контейнеров — это функция набора расширенных сетевых служб контейнеров. Он предоставляет средства мониторинга и диагностика следующего уровня, обеспечивая непарабельную видимость контейнерных рабочих нагрузок. Эти средства позволяют определить и устранить проблемы с сетью с легкостью, обеспечивая оптимальную производительность для приложений.
Наблюдение за сетью контейнеров совместимо со всеми рабочими нагрузками 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 по запросу | source or destination , qtypes (query тип запроса) |
✅ | ❌ |
hubble_dns_responses_total | Общее количество ответов DNS по запросу и ответу | source or destination , query qtypes (тип запроса), rcode (возвращаемый код), ips_returned (число IP-адресов) |
✅ | ❌ |
hubble_drop_total | Общее число удаленных пакетов | source или destination , protocol reason |
✅ | ❌ |
hubble_tcp_flags_total | Общее число TCP-пакетов по флагу. | source или destination , flag |
✅ | ❌ |
hubble_flows_processed_total | Всего обработанных сетевых потоков (трафик L4/L7) | source or destination , protocol , , type verdict subtype |
✅ | ❌ |
Ограничения
- Метрики уровня pod доступны только в Linux.
- Плоскость данных Cilium поддерживается начиная с Kubernetes версии 1.29.
- Метки меток могут иметь тонкие различия между кластерами Cilium и не Cilium.
- Для кластеров на основе Cilium метрики DNS доступны только для модулей pod с настроенными политиками сети Cilium (CNP).
- Журналы потоков в настоящее время недоступны в облаке с отслеживанием воздуха.
- Ретранслятор Hubble может завершиться сбоем, если один из агентов узлов концентратора исчезает и может привести к прерываниям в интерфейсе командной строки Hubble.
Масштабировать
Управляемые Prometheus и Grafana накладывают ограничения масштабирования для конкретной службы. Дополнительные сведения см. в разделе "Очистка метрик Prometheus" в масштабе в Azure Monitor.
Цены
Внимание
Расширенные сетевые службы контейнеров — это платное предложение. Дополнительные сведения о ценах см. в разделе "Расширенные сетевые службы контейнеров" — цены.
Следующие шаги
- Сведения о создании кластера AKS с наблюдаемостью сети контейнеров см. в разделе "Настройка наблюдения за сетью контейнеров" для Служба Azure Kubernetes (AKS).
Azure Kubernetes Service