Как включить Hubble UI

Hubble UI в платформе на базе Cilium.

Введение

Hubble обеспечивает наблюдение за сетевым взаимодействием между компонентами кластера и сетевой инфраструктурой. В платформе «Штурвал» сеть обеспечивается Модулем управления сетями кластера (shturval-networking, Cilium CNI).


Включение Hubble

Для включения Hubble загрузите в кластер ShturvalServicePatch (SSP) для Модуля управления сетями кластера (shturval-networking). Параметры настройки отличаются в зависимости от контура.

В открытом контуре образ 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 из зеркала поставки.
hubble.relay.image.useDigest: falseНе использовать digest из чарта: SHA-256 образа в чарте и в зеркале различаются.
hubble.ui.ingress.classNameИмя Ingress Class для публикации Hubble UI.
hubble.ui.ingress.annotationsАннотации Ingress. Для сертификата укажите ClusterIssuer cert-manager.
hubble.ui.ingress.hostsDNS-имя Hubble UI.
hubble.ui.ingress.tls.secretNameИмя TLS-секрета.
hubble.ui.ingress.tls.hostsИмена хостов в секции TLS.

Загрузите манифест через импорт манифестов в интерфейсе кластера (см. скриншот ниже).

Импорт манифеста

Загрузка ShturvalServicePatch для Hubble


Проверка применения патча

После загрузки манифеста откройте Сервисы и репозитории → Установленные сервисы, найдите Модуль управления сетями кластера (shturval-networking) и перейдите к управлению. На вкладке Примененные ShturvalServicePatch отобразится загруженный ShturvalServicePatch. Когда ShturvalServicePatch будет применён, на вкладке Сервис статус будет Patched.

Иллюстрация: Проверка применения патча

Страница сервиса shturval-networking с Hubble

Иллюстрация: Проверка применения патча

Применённый ShturvalServicePatch


Доступ к Hubble UI

Чтобы временно прокинуть порт со своей рабочей станции до UI Hubble, в CLI введите команду:

kubectl -n kube-system port-forward services/hubble-ui 12000:80

Cilium Hubble будет доступен по адресу: http://127.0.0.1:12000

С дополнительной информацией можно ознакомиться на официальном сайте Cilium.