Установка Cilium eBPF

Cilium — это CNI‑плагин, который обеспечивает эффективную маршрутизацию трафика для сервисов приложения ELMA365 благодаря интеграции с технологией eBPF. В отличие от классических прокси, eBPF позволяет применять фильтры, балансировку и L7‑политики непосредственно в ядре Linux, не тратя ресурсы на копирование данных между ядром и приложением.

Это позволяет:

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

Установка плагина состоит из трёх этапов:

  1. Скачивание helm-чарта и конфигурационного файла.
  2. Заполнение конфигурационного файла.
  3. Установка с помощью helm в Kubernetes-кластер.

начало внимание

Если вы ранее использовали другой CNI‑плагин, перед установкой Cilium полностью удалите его, а также компонент kube-proxy, чтобы избежать конфликтов.

конец внимание

Шаг 1. Скачать helm-чарт и конфигурационный файл

Для установки через интернет получите конфигурационный файл values-cilium.yaml, выполнив команду:

helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/cilium > values-cilium.yaml

Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет

Шаг 2. Заполнить конфигурационный файл

Задайте настройки для установки Cilium в конфигурационном файле values-cilium.yaml.

Важно: проверьте, что в параметре url: http://kube-system-kube-prometheus-prometheus.kube-system.svc указан путь к вашему сервису Prometheus.

Пример содержания файла values-cilium.yaml

Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет

Шаг 3. Установить чарт cilium в Kubernetes-кластер

C помощью helm установите чарт cilium в namespace kube-system:

  • для установки через интернет выполните команду:

helm upgrade --install -n kube-system cilium elma365/cilium -f values-cilium.yaml

  • для установки в закрытом контуре без доступа в интернет перейдите в каталог с загруженным чартом и выполните команду:

helm upgrade --install cilium ./cilium -f values-cilium.yaml -n kube-system

Удалить чарт Cilium в Kubernetes-кластере

Чтобы удалить чарт cilium в namespace kube-system, выполните команду:

helm uninstall -n kube-system cilium 

Использовать Hubble для визуализации кластеров

Hubble — это инструмент для наблюдения за сетями, встроенный в Cilium, который предоставляет карту сервисов Kubernetes-кластера. Hubble использует возможности eBPF‑программ Cilium, поэтому собирает данные о сетевых потоках без существенной затраты ресурсов.

Для визуализации и фильтрации потоков данных используется веб-интерфейс Hubble UI. При развёртывании приложений в нём автоматически строится диаграмма связей и зависимостей между сервисами на уровнях L3, L4 и L7.

Hubble можно использовать для:

  • отладки сетевых проблем;
  • проверки сетевых политик;
  • анализа поведения сервисов;
  • диагностики ошибок, например, при обработке запросов.

Чтобы открыть Hubble UI в браузере:

  1. Настройте переадресацию портов на сервис hubble-ui с помощью команды:

kubectl port-forward -n kube-system svc/hubble-ui 8080:80 --address 0.0.0.0

  1. Перейдите в веб-интерфейс по адресу http://<node_ip>:8080/.