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


Что такое расширенные услуги сетевого взаимодействия контейнеров?

Расширенные сетевые службы контейнеров — это набор служб, предназначенных для улучшения сетевых возможностей кластеров Azure Kubernetes Service (AKS). В наборе рассматриваются проблемы в современных контейнерных приложениях, таких как наблюдаемость, безопасность и соответствие требованиям.

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

Что входит в расширенные сетевые службы контейнеров?

Расширенные сетевые службы контейнеров предоставляют два ключевых компонента:

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

  • Безопасность сети контейнеров: Для кластеров, использующих Azure CNI Powered by Cilium, политики сети включают фильтрацию полного доменного имени (FQDN) для решения сложностей обслуживания конфигурации.

Наблюдаемость сетевой инфраструктуры контейнеров

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

Ключевые преимущества включают совместимость со всеми вариантами Интерфейса сети контейнеров (CNI) в Azure, подробный обзор метрик на уровне узла и метрики Hubble для разрешения системы доменных имен (DNS), взаимодействия pod-to-pod и взаимодействия служб. Журналы сети контейнеров фиксируют важные метаданные, такие как IP-адреса, порты и поток трафика для устранения неполадок, мониторинга и обеспечения безопасности.

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

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

Метрики сети контейнеров

Эта функция собирает метрики уровня узла, включая ЦП, память и производительность сети, для мониторинга работоспособности узлов кластера. Для более глубокой аналитики метрики Hubble предоставляют данные о времени разрешения DNS, взаимодействии между службами и поведении сети на уровне pod. Эти метрики помогают анализировать производительность приложений, обнаруживать аномалии и оптимизировать рабочие нагрузки.

Дополнительные сведения см. в обзоре метрик.

Журналы сети контейнеров

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

Дополнительные сведения см. в обзоре журналов сети контейнеров.

Безопасность сети контейнеров

Защита контейнерных приложений важна в современных динамических облачных средах. Расширенные сетевые службы контейнеров предоставляют функции для укрепления сетевой безопасности кластера.

Фильтрация на основе полного доменного имени

Улучшите управление исходящим трафиком с помощью политик на основе DNS в Azure CNI, работающего на Cilium. Упростите конфигурацию, используя полные доменные имена (FQDN) вместо управления динамическими IP-адресами.

Дополнительные сведения см. в обзоре фильтрации на основе полностью квалифицированного доменного имени (FQDN).

Политика уровня 7 (предварительная версия)

Получите детализированный контроль над трафиком на уровне приложения. Реализуйте политики на основе таких протоколов, как HTTP, gRPC и kafka, обеспечивая защиту приложений с глубокой видимостью и точным контролем доступа. Дополнительные сведения см. в документации по политике уровня 7 .

Цены

Внимание

Расширенные услуги контейнерной сети предоставляются на платной основе.

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

Настройте современные сетевые службы контейнеров в вашем кластере

Предварительные условия

  • Минимальная версия Azure CLI, необходимая для действий, описанных в этой статье, — 2.71.0. Чтобы узнать, какая версия используется, выполните команду az --version. Чтобы выполнить установку или обновление, см. сведения в статье Установка Azure CLI.

Установите расширение Azure CLI aks-preview

Установите или обновите расширение предварительной версии Azure CLI с помощью az extension add команды или az extension update команды.

Минимальная версия расширения Azure CLI составляет 14.0.0b6.

# Install the aks-preview extension
az extension add --name aks-preview
# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

Зарегистрируйте флаг функции AdvancedNetworkingL7PolicyPreview

Примечание.

Функциональности сетевой безопасности контейнеров поддерживаются только в Azure CNI, работающем на кластерах на базе Cilium.

Зарегистрируйте AdvancedNetworkingL7PolicyPreview флаг функции с помощью команды az feature register.

az feature register --namespace "Microsoft.ContainerService" --name "AdvancedNetworkingL7PolicyPreview"

Проверьте успешную регистрацию с помощью команды az feature show. Регистрация занимает несколько минут.

az feature show --namespace "Microsoft.ContainerService" --name "AdvancedNetworkingL7PolicyPreview"

Создание группы ресурсов

Группа ресурсов — это логический контейнер, в котором развертываются ресурсы Azure и управляются ими. Создайте группу ресурсов с помощью az group create команды:

# Set environment variables for the resource group name and location. Make sure to replace the placeholders with your own values.
export RESOURCE_GROUP="<resource-group-name>"
export LOCATION="<azure-region>"
# Create a resource group
az group create --name $RESOURCE_GROUP --location $LOCATION

Включение и отключение расширенных сетевых сервисов контейнеров в кластере AKS

Создание кластера AKS с расширенными сетевыми службами контейнеров

Команда az aks create с флагом --enable-acns "Расширенные сетевые службы контейнеров" создает новый кластер AKS, который содержит все расширенные функции сетевых служб контейнеров, включая наблюдение за сетями контейнеров и безопасность сети контейнеров.

Примечание.

Кластеры с плоскостью данных Cilium поддерживают наблюдаемость и безопасность сетей контейнеров в Kubernetes версии 1.29 и выше.

Если для параметра --acns-advanced-networkpolicies задано L7 значение, политики фильтрации L7 и FQDN включены. Если вы хотите включить фильтрацию только полного доменного имени, задайте для параметра значение FQDN.

Чтобы отключить обе функции, выполните действия, описанные в разделе "Отключение сетевой безопасности контейнера".

# Set an environment variable for the AKS cluster name. Make sure you replace the placeholder with your own value.
export CLUSTER_NAME="<aks-cluster-name>"

# Create an AKS cluster
az aks create \
    --name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP \
    --network-plugin azure \
    --network-plugin-mode overlay \
    --network-dataplane cilium \
    --kubernetes-version 1.29 \
    --enable-acns \
    --acns-advanced-networkpolicies <L7/FQDN>

Включение продвинутых сетевых служб для контейнеров в существующем кластере

Команда az aks update с --enable-acns флагом обновляет существующий кластер AKS со всеми функциями расширенных сетевых служб контейнеров, включая наблюдательность сети контейнеров и безопасность сети контейнеров.

Примечание.

Кластеры с плоскостью данных Cilium поддерживают наблюдение за сетями контейнеров и безопасность сети контейнеров в Kubernetes версии 1.29 и более поздних версий.

Если для параметра --acns-advanced-networkpolicies задано значение L7, политики фильтрации уровня 7 и FQDN включены. Если вы хотите включить фильтрацию только полного доменного имени, задайте для параметра значение FQDN.

Чтобы отключить обе функции, выполните действия, описанные в разделе "Отключение сетевой безопасности контейнера".

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns \
    --acns-advanced-networkpolicies <L7/FQDN>

Отключение продвинутых сетевых служб контейнеров

Флаг --disable-acns отключает все функции расширенных сетевых служб контейнеров в существующем кластере AKS. Наблюдение за сетями контейнеров и безопасность сети контейнеров также отключены.

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --disable-acns

Отключите функции продвинутых сетевых служб контейнеров

Отключение отслеживания сети контейнеров

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

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns \
    --disable-acns-observability 

Отключение сетевой безопасности контейнера

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

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns \
    --disable-acns-security