Использование сетевых зон в Kubernetes

Материал из Документация Ключ-АСТРОМ
Версия от 17:43, 1 декабря 2025; IKuznetsov (обсуждение | вклад) (Новая страница: «На этой странице описывается, как эффективно использовать сетевые зоны в средах '''Kubernetes'...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

На этой странице описывается, как эффективно использовать сетевые зоны в средах Kubernetes, уделяя особое внимание их настройке через DynaKube.

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

Сетевые зоны в средах Kubernetes

Сетевые зоны играют ключевую роль в управлении и направлении трафика между компонентами Ключ-АСТРОМ, обеспечивая эффективную коммуникацию внутри сети, как в средах Kubernetes, так и в традиционных конфигурациях. Используя сетевые зоны, администраторы сетей могут оптимизировать поток трафика и адаптироваться к средам со строгими сетевыми ограничениями, такими как ограниченные возможности выхода.

Сетевые зоны для компонентов Ключ-АСТРОМ, развернутых в Kubernetes, можно легко настроить с помощью настраиваемого ресурса DynaKube, что обеспечивает индивидуальное и эффективное управление сетью.

Настройка сетевых зон

В этом разделе настройки классифицируются по двум различным сценариям в зависимости от их характеристик:

  • Кластер Kubernetes с неограниченным выходом
  • Кластер Kubernetes с ограниченным выходом

Кластер Kubernetes с неограниченным выходом

В кластерах Kubernetes без ограничений на выход основными целями сетевых зон являются:

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

Поэтому для оптимального управления трафиком компонентов Ключ-АСТРОМ рекомендуется использовать сетевые зоны.

1. Настройте сетевую зону, задав соответствующее поле networkZone, и убедитесь, что АктивныйШлюз развёрнут в рамках конфигурации DynaKube. Указанная сетевая зона будет автоматически применена Ключ-АСТРОМ Operator к развёрнутым АктивномуШлюзу и ЕдиномуАгенту.

apiVersion: astromkey.com/v1beta5

kind: DynaKube

metadata:

  ...

spec:

  ...

  networkZone: my-networkzone # Configures network zone

  oneAgent:

    ...

  activeGate: # Ensures ActiveGate rollout

    capabilities:

      - routing

      - kubernetes-monitoring

    ...

2. Примените DynaKube CR к API Kubernetes.

kubectl apply -f dynakube.yaml

После подачи заявки Ключ-АСТРОМ Operator развернёт компоненты Ключ-АСТРОМ в соответствии с конфигурацией DynaKube. В ходе развёртывания АктивныхШлюзов и ЕдиныхАгентов получат доступные конечные точки в соответствии с указанной сетевой зоной (с резервным режимом Any ActiveGate) и смогут начать взаимодействие независимо от статуса развёртывания друг друга.

Кластер Kubernetes с ограниченным выходом

В кластерах Kubernetes, где применяется ограничение исходящего трафика, взаимодействие с внешними сетями, как правило, разрешено только компонентам из белого списка. В Ключ-АСТРОМ АктивномШлюзе разработан для этого сценария и служит важнейшим компонентом шлюза, способным централизовать все исходящие соединения с кластером Ключ-АСТРОМ.

Учитывая, что все компоненты Ключ-АСТРОМ должны взаимодействовать исключительно через АктивныйШлюз из белого списка, крайне важно настроить сетевую зону с поддержкой этого требования. Следовательно, сетевая зона должна гарантировать, что для связи будут использоваться только АктивнымШлюзом в указанной сетевой зоне, без использования каких-либо резервных вариантов. Для этого сетевую зону необходимо создать заранее с резервным режимом «None», чтобы предотвратить блокировку компонентов мониторинга Ключ-АСТРОМ.

Ключ-АСТРОМ Operator версии 0.14.0+ откладывает развёртывание и внедрение ЕдиногоАгента до тех пор, пока не станет доступен хотя бы один АктивныйШлюз. После появления АктивногоШлюза развёртываются ЕдиныеАгенты и выполняется внедрение ЕдиногоАгента. Модули приложений, не внедрённые из-за задержки, необходимо перезапустить вручную.

Кроме того, может потребоваться настроить прокси-сервер для упрощения контролируемого доступа к сети в кластерах Kubernetes с ограниченным выходом.

1. Выполните следующую команду, чтобы создать сетевую зону в резервном режиме None с помощью API astromkey.

curl -X PUT https://<environment-fqdn>/api/v2/networkZones/<network-zone-name> \

  -H "Authorization: Api-Token <api-token>" \

  -H "Content-Type: application/json" \

  -d "{ \"fallbackMode\": \"NONE\" }"

API-токену должно быть назначено разрешение networkZones.write.

2. Настройте сетевую зону, задав соответствующее поле networkZone, и убедитесь, что АктивныйШлюз развернут как часть конфигурации DynaKube.

apiVersion: astromkey.com/v1beta5

kind: DynaKube

metadata:

  ...

spec:

  ...

  networkZone: my-networkzone # Configures network zone

  oneAgent:

    ...

  activeGate: # Ensures ActiveGate rollout

    capabilities:

      - routing

      - kubernetes-monitoring

    ...

3. Примените DynaKube CR к API Kubernetes.

kubectl apply -f dynakube.yaml

После развертывания Ключ-АСТРОМ Operator выполняет следующие шаги.

  1. Разверните АктивныеШлюзы.
  2. Проверьте кластер Ключ-АСТРОМ на предмет доступных АктивныхШлюзов с определенным интервалом, пока АктивныйШлюз не станет доступным.
  3. Разверните ЕдиныеАгенты с доступными конечными точками связи.
  4. Выполните внедрение ЕдиногоАгента в модули приложений.