В новом релизе Kubernetes-платформы Deckhouse 1.33 появился модуль Cilium

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

За время, прошедшее с момента предыдущего стабильного релиза Deckhouse, наша Kubernetes-платформа успела получить сертификацию CNCF для версий Kubernetes v1.22 и v1.23, появилась в списках adopters у Prometheus Operator, а еще — в числе пользователей Cilium. Как раз с Cilium связано и главное улучшение в новом стабильном релизе платформы — v1.33.

Cilium — ПО с открытым кодом, которое обеспечивает прозрачное и безопасное сетевое взаимодействие, а также балансировку нагрузки между контейнеризированными приложениями в кластере Kubernetes. Модуль cni-cilium теперь доступен в Deckhouse в дополнение к cni-flannel.

В статье рассмотрим возможности Cilium и расскажем о других важных улучшениях в Deckhouse v1.33.

Сеть на базе Cilium

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

Кроме Kubernetes, Cilium работает с managed-сервисами AWS, Google и Azure.

Архитектура Cilium (cilium.io)
Архитектура Cilium (cilium.io)

Продвинутые Network Policies

Cilium «из коробки» поддерживает Network Policy для управления доступом между приложениями внутри кластера. Сетевые политики работают на уровнях 3, 4 и 7 модели OSI, поэтому пользователи получают больше гибкости в управлении ingress- и egress-трафиком в кластере.

Также Cilium предоставляет управление сетевыми политиками на уровне узла (Nodes) — то, чего в Deckhouse раньше не было.

До cni-cilium для реализации сети в кластере мы применяли комбинацию двух модулей: flannel и kube-router. У них есть два критичных ограничения:

  • Модули работают за счет iptables. По сравнению с eBPF это более медленная технология. При большом количестве политик (от 500) возникают проблемы с производительностью сети.

  • Модули не поддерживают настройку политик между узлами в кластере, только между Pod’ами и сервисами.

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

Карта взаимодействия сервисов

Cilium также предоставляет Open Source-инструмент Hubble UI, который автоматически находит все сервисы в кластере и создает карту их взаимодействия (service map). Карта открывается в любом браузере. 

Пример service map в Hubble UI (cilium.io)
Пример service map в Hubble UI (cilium.io)

Визуализация Hubble UI помогает лучше понимать взаимозависимость и поведение сервисов в кластере, быстрее выявлять и решать проблемы сетевого взаимодействия.

При включении cni-cilium в Deckhouse модуль cilium-hubble включается автоматически.

Миграция на cni-cilium

Сейчас cni-cilium можно включить вручную. Инструкция по миграции с cni-flannel скоро появится в документации Deckhouse (мы сообщим об этом в Telegram-чате Deckhouse).

В будущих релизах платформы модуль будет доступен по умолчанию для новых инсталляций. В старых всё останется по-прежнему, то есть если потребуется миграция, это можно будет сделать самостоятельно.

Новые модули в Deckhouse Community Edition

Помимо Cilium, в новом релизе Deckhouse появилось множество других улучшений, связанных с расширением функциональности платформы. Так, например, в бесплатной версии Deckhouse Community Edition появились модули, которые раньше были доступны только в платной Enterprise Edition:

  • extended-monitoring — содержит exporter’ы Prometheus, которые контролируют свободное место и inodes на узлах, сообщают о проблемах доступа к образам в Container Registry, собирают события в кластере Kubernetes и не только;

  • namespace-configurator — помогает автоматически включать новые пространства имен K8s в мониторинг через аннотации extended-monitoring.flant.com/enabled=true;

  • openvpn — предоставляет доступ к ресурсам кластера посредством OpenVPN с аутентификацией по сертификатам. Также предоставляет простой web-интерфейс, через который можно выпускать и отзывать сертификаты, отменять отзыв и получать готовый пользовательский конфигурационный файл;

  • secret-copier — отвечает за копирование секретов во все пространства имен. Модуль избавляет от необходимости постоянно копировать в CI секреты, чтобы, например, скачать образы или заказать RBD в Ceph;

  • okmeter — устанавливает агент для одноименного сервиса мониторинга (требуется его лицензия).

Другие изменения и улучшения Deckhouse 1.33

Добавлена поддержка:

  • Kubernetes 1.23 (подробнее о новых фичах в этой версии Kubernetes — в нашем обзоре);

  • Ubuntu 22.04 LTS в качестве ОС узлов;

  • протокола UDP в модуле openvpn — в некоторых случаях это повышает скорость работы через VPN.

Еще одно важное обновление — базовый образ Alpine. В старой версии была обнаружена уязвимость OpenSSL (CVE-2022-0778). Уязвимость позволяла создать SSL-сертификат с неверными параметрами эллиптической кривой, чтобы вызвать бесконечный цикл.

P.S.

Релиз Deckhouse v1.33 переведен в канал обновлений stable вместе с выпуском версии v1.33.12.

Для знакомства с платформой Deckhouse рекомендуем раздел «Быстрый старт» (на русском и английском языках).

Полезные ссылки на ресурсы проекта:

  • основной GitHub-репозиторий (будем рады новым звездам!); 

  • официальный Twitter-аккаунт (на английском); 

  • русскоязычный Telegram-чат.

Читайте также в нашем блоге:

  • «В Kubernetes-платформе Deckhouse v1.32 появились модули ceph-csi и snapshot-controller»;

  • «Container Networking Interface (CNI) — сетевой интерфейс и стандарт для Linux-контейнеров»

Источник: https://habr.com/ru/company/flant/blog/674066/


Интересные статьи

Интересные статьи

Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатно...
В прошлый раз мы рассказали о цифровых синтезаторах речи и вспомнили, как в 1974 году Дональд Шерман (Donald Sherman), страдающий от паралича мышц лица, впервые использовал компьютер с системой T...
Компании переполнили рынок товаров и услуг предложениями. Разнообразие наблюдается не только в офлайне, но и в интернете. Достаточно вбить в поисковик любой запрос, чтобы получить подтверждение насыще...
Здравствуйте. Я уже давно не пишу на php, но то и дело натыкаюсь на интернет-магазины на системе управления сайтами Битрикс. И я вспоминаю о своих исследованиях. Битрикс не любят примерно так,...
Основанная в 1998 году компания «Битрикс» заявила о себе в 2001 году, запустив первый в России интернет-магазин программного обеспечения Softkey.ru.