Модуль поиска узлов с запущенными hostport сервисами (shturval-coreha)
О сервисе
| Параметр | Значение |
|---|---|
| Название в интерфейсе | Модуль поиска узлов с запущенными hostport сервисами |
| Системное название (идентификатор) | shturval-coreha |
| Назначение в кластере | Динамическое добавление бэкендов в HAProxy: отслеживание подов Ingress с hostPort и формирование DNS-записей для балансировщика. |
| Критический | Нет |
| Публичный репозиторий | — (компонент в поставке платформы «Штурвал») |
| Зависимости | shturval-ingress-controller |
| Неймспейс | kube-system |
Назначение
shturval-coreha предназначен для динамического добавления бэкендов во внешний балансировщик (HAProxy). Сервис нужен, если вы используете внешний балансировщик для Ingress. По умолчанию устанавливается в кластер в отключённом состоянии. Для включения: Сервисы и репозитории → Установленные сервисы → найдите сервис по названию выше и измените режим. Если сервиса нет в списке — установите его с страницы Доступные чарты (чарт shturval-coreha), выбрав неймспейс kube-system.
Обратите внимание! при настройке поиска подов Ingress Controller потребуется также внести изменения в Модуль управления внешними подключениями (shturval-ingress-controller).
Где настраивать
Сервисы и репозитории → Установленные сервисы → найдите Модуль поиска узлов с запущенными hostport сервисами (shturval-coreha) → Управлять. При необходимости переопределения параметров чарта, примените изменения через ShturvalServicePatch.
Параметры конфигурации (customvalues)
| Параметр | Описание | Пример / по умолчанию |
|---|---|---|
config.zoneName |
Имя DNS-зоны для записей | cluster-prod01-dc1.shturval |
config.labelKey |
Ключ лейбла, по которому отслеживаются поды; значение ключа участвует в формировании DNS-имени | ingress.cluster/name |
config.dns_port |
Порт DNS-сервера модуля | 1053 |
config_name |
Имя конфигурационного файла CoreDNS | shturval-coreha-config |
strictHostPort |
Строгая выборка подов с hostPort | false |
Пример customvalues для shturval-coreha
config:
zoneName: cluster-prod01-dc1.shturval
Связка с Ingress и HAProxy
Когда в кластере работает shturval-coreha и нужно настроить поиск подов Ingress Controller:
- ShturvalServicePatch для shturval-ingress-controller — задайте лейбл
ingress.cluster/nameи при необходимости включите hostPort, NodePort (например, 30080/30443).
Пример ShturvalServicePatch для ingress-controller
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-ingress-controller
customvalues:
controller:
labels:
ingress.cluster/name: <ваше значение параметра>
hostPort:
enabled: true # При включении поды ингресс контроллера также будут использовать на узлах кластера 80 и 443 порты
service:
nodePorts:
http: "<ваше значение параметра>"
https: "<ваше значение параметра>"
type: NodePort
DNS-запись формируется как <label_value>.<namespace>.<config.zoneName> (например, default-nginx.ingress.cluster-prod01-dc1.shturval).
- Загрузите ShturvalServicePatch в кластер (импорт манифестов или kubectl).
Скриншот ShturvalServicePatch для ingress-controller

- Настройте HAProxy — используйте resolver с указанием на API-сервер кластера и порт DNS (например, 1053), backend с
server-templateпо DNS-имени.
Пример фрагмента конфигурации HAProxy
resolvers coredns-cluster
nameserver ns1 <api-server-vip>:1053
accepted_payload_size 8192
backend cluster-prod01-dc1-ingress-http
balance source
mode tcp
server-template daemonset 2 default-nginx.ingress.cluster-prod01-dc1.shturval:80 check resolvers coredns-cluster init-addr none
- Проверка — с узла с доступом к API-серверу кластера:
dig @<api-server-vip> -p 1053 default-nginx.ingress.cluster-prod01-dc1.shturval(должны вернуться IP подов Ingress).
Как развернуть этот сервис — Как развернуть новый сервис.