Модуль управления сетями кластера (shturval-networking)
О сервисе
| Параметр | Значение |
|---|---|
| Название в интерфейсе | Модуль управления сетями кластера |
| Системное название (идентификатор) | shturval-networking |
| Назначение в кластере | Сетевое взаимодействие между контейнерами, подами, узлами и сервисами; CNI-плагин для кластера. |
| Критический | Да |
| Публичный репозиторий | Cilium |
| Зависимости | shturval-monitoring-crds |
| Неймспейс | kube-system |
Назначение
shturval-networking — модуль управления сетями кластера на базе Cilium CNI. Обеспечивает сетевую функциональность и взаимодействие между компонентами кластера. При совместном использовании с Multus CNI (shturval-metacni) может потребоваться ShturvalServicePatch с cni.exclusive: false.
Развёртывание и управление
shturval-networking — критический сервис платформы. В платформе «Штурвал» его включение и жизненный цикл в кластере обеспечивает cluster-manager (сервис платформы); объекты ShturvalServiceConfig (SSC) для Cilium создаются и сопровождаются как часть платформенной конфигурации. В поставке модуль опирается на CRD мониторинга: в кластере должен быть учтён компонент shturval-monitoring-crds (см. зависимости в таблице выше).
Рекомендация: не правьте ShturvalServiceConfig вручную для смены параметров Cilium, Hubble и режима cni.exclusive — объект относится к платформенной конфигурации и может быть перезаписан при обновлениях. Изменения вносите через ShturvalServicePatch (SSP), как в примерах ниже на этой странице (Multus, Hubble).
Где настраивать
Сервисы и репозитории → Установленные сервисы → shturval-networking → Управлять.
Совместное использование с Multus CNI
При одновременном использовании Cilium CNI (shturval-networking) и Multus CNI (shturval-metacni) необходимо применить ShturvalServicePatch с cni.exclusive: false:
ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: shturval-networking-cni
spec:
shturvalServiceConfigName: shturval-networking
customvalues:
cni:
exclusive: false
После применения ShturvalServicePatch перейдите в Установленные сервисы → shturval-networking → Управлять. На вкладке Примененные ShturvalServicePatch отобразится загруженный патч; когда он будет применён, на вкладке Сервис статус изменится на Patched.
Скриншоты применения патча

Cilium Hubble
Hubble обеспечивает наблюдение за сетевым взаимодействием между компонентами кластера. Для включения примените ShturvalServicePatch (SSP). Параметры настройки отличаются в зависимости от контура.
В открытом контуре образ hubble-relay подставляется по digest из чарта. Включите Hubble, Relay и UI:
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: shturval-networking-hubble
spec:
shturvalServiceConfigName: shturval-networking
customvalues:
hubble:
enabled: true
relay:
enabled: true
ui:
enabled: true
Обратите внимание! SHA-256 образа hubble-relay в открытом контуре и закрытом контуре различаются. Применение в закрытом контуре SSP, в котором Hubble включён только флагами enabled, завершиться ошибкой. В hubble.relay.image укажите тег образа из зеркала поставки и задайте useDigest: false.
Блок ingress публикует Hubble UI.
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: shturval-networking-hubble
spec:
shturvalServiceConfigName: shturval-networking
customvalues:
hubble:
enabled: true
relay:
enabled: true
image:
tag: <ваше значение>
useDigest: false
ui:
enabled: true
ingress:
enabled: true
className: <ваше значение>
annotations:
cert-manager.io/cluster-issuer: <ваше значение>
hosts:
- <ваше значение>
tls:
- secretName: <ваше значение>
hosts:
- <ваше значение>
| Параметр | Описание | Тип | Пример |
|---|---|---|---|
hubble.relay.image.tag |
Тег образа hubble-relay из зеркала поставки |
string | тег из зеркала поставки |
hubble.relay.image.useDigest |
Не использовать digest из чарта: SHA-256 образа в чарте и в зеркале различаются | boolean | false |
hubble.ui.ingress.className |
Имя Ingress Class для публикации Hubble UI | string | nginx |
hubble.ui.ingress.annotations |
Аннотации Ingress. Для сертификата укажите ClusterIssuer cert-manager | object | cert-manager.io/cluster-issuer: <имя ClusterIssuer> |
hubble.ui.ingress.hosts |
DNS-имя Hubble UI | array | hubble-ui.example.com |
hubble.ui.ingress.tls.secretName |
Имя TLS-секрета | string | hubble-ui-tls |
hubble.ui.ingress.tls.hosts |
Имена хостов в секции TLS | array | hubble-ui.example.com |
Для временного проброса порта к UI Hubble выполните команду:
kubectl -n kube-system port-forward services/hubble-ui 12000:80
Hubble UI будет доступен по адресу: http://127.0.0.1:12000
Скриншоты настройки Hubble

Контроллер Gateway API в Cilium
CRD Gateway API поставляет CRD Gateway API, но не обрабатывает трафик. Для маршрутизации необходим контроллер, связанный с GatewayClass. В платформе «Штурвал» вы можете включить контроллер Gateway API на базе Cilium io.cilium/gateway-controller.
Перед включением контроллера проверьте наличие установленного CRD: кластер → Сервисы и репозитории → Установленные сервисы → найдите CRD модуля Gateway API (shturval-gateway-api-crds) → Управлять. Если сервис отсутствует, установите его через Доступные чарты → чарт shturval-gateway-api-crds → Установить и выберите неймспейс gateway-systems.
Для включения контроллера в кластере примените ShturvalServicePatch:
ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: shturval-networking-cilium
spec:
customvalues:
gatewayAPI:
enabled: true
shturvalServiceConfigName: shturval-networking
После применения ShturvalServicePatch перейдите в Установленные сервисы → shturval-networking → Управлять. На вкладке Примененные ShturvalServicePatch отобразится загруженный ShturvalServicePatch. Когда он будет применён, Cilium развернёт контроллер Gateway API и создаст соответствующий GatewayClass с именем cilium.
Для выделения адресов Gateway создайте ресурс с пулом IP-адресов CiliumLoadBalancerIPPool или настройте CIDR или диапазон IP-адресов в ConfigMap kubevip — см. подробнее в разделе Конфигурация доступных IP-адресов.
Пример CiliumLoadBalancerIPPool:
apiVersion: "cilium.io/v2"
kind: CiliumLoadBalancerIPPool
metadata:
name: pool
spec:
blocks:
- cidr: "192.168.0.216/29"
Дополнительно
- Как управлять CustomValues сервисов — применение ShturvalServicePatch.
- CRD модуля Gateway API — установка CRD Gateway API в кластер.
- Gateway API — обзор и настройка GatewayClass, Gateway и маршрутов.
- Модуль подключения нескольких сетевых интерфейсов — Multus CNI.
- Hubble UI — просмотр сетевого взаимодействия через Hubble.