Настройка Kubernetes Multi-Cluster Management с Portainer Business

Когда в инфраструктуре появляется несколько Kubernetes-кластеров, управление через kubectl становится неудобным и замедляет работу команды. Мы настраиваем централизованное управление с помощью Portainer Business, объединяя все кластеры и Docker-окружения в единый веб-интерфейс. Наша команда реализует проект под ключ — от аудита до внедрения и последующей поддержки, обеспечивая надёжную и масштабируемую инфраструктуру.
Часто задаваемые вопросы

Отметим: когда в инфраструктуре компании появляется второй Kubernetes-кластер, управление через kubectl перестаёт быть удобным. Каждый инженер хранит kubeconfig-файлы, переключается между контекстами, а при смешанной инфраструктуре (K8s + Docker Compose) задача усложняется. Мы сталкивались с этим не раз и нашли решение — Portainer. Этот инструмент занимает нишу между Lens (инструмент инженера) и Rancher (enterprise-платформа): это веб-интерфейс, доступный всей команде, который одинаково работает с Kubernetes и Docker окружениями. За 5 лет мы настроили Portainer для 15+ компаний — от стартапов до enterprise с 10+ кластерами. Наш опыт позволяет развернуть multi-cluster management за 1–2 дня с гарантией отказоустойчивости. Если вам нужно централизованное управление — свяжитесь с нами, мы оценим вашу инфраструктуру и предложим оптимальную конфигурацию.

Сравнение Portainer с Lens и Rancher

Lens хорош для разработчика: быстрый, локальный, но требует установки на каждую машину. Rancher — мощный, но сложный в настройке и ресурсоёмкий. Portainer — золотая середина: простой UI, работающий из браузера, с возможностью управлять и Kubernetes, и Docker. Он идеален для команд до 20 человек, где не нужен enterprise SSO. По нашим оценкам, Portainer настраивается в 3 раза быстрее Rancher — за 2 часа вместо 6.

Инструмент Тип Управление Docker RBAC Сложность настройки
Portainer Business Веб Да Встроенное Низкая
Lens Десктоп Нет Через k8s RBAC Средняя
Rancher Веб Через сторонние инструменты Расширенное Высокая

Как Portainer управляет несколькими кластерами?

Архитектура: Server и Agent

Portainer разворачивается в двух компонентах:

Portainer Server — основной сервис с веб-интерфейсом. Устанавливается один раз, обычно в отдельный Kubernetes namespace или на Docker-хост.

Portainer Agent — лёгкий агент, устанавливается в каждый управляемый кластер или на Docker-хост. Агент открывает защищённое соединение обратно к Server.

Это ключевое отличие от Lens: Portainer доступен по URL любому пользователю с браузером, не требует установки ничего на рабочую машину.

Установка Server и подключение кластеров: пошагово

  1. Установите Portainer Server в Kubernetes с помощью Helm:
helm repo add portainer https://portainer.github.io/k8s/
helm install portainer portainer/portainer \
  --namespace portainer \
  --create-namespace \
  --set service.type=LoadBalancer \
  --set tls.force=true
  1. Получите URL сервера (например, https://portainer.example.com).

  2. В интерфейсе Portainer перейдите в Environments → Add Environment → Kubernetes.

  3. Выберите метод подключения: Agent или kubeconfig. При выборе Agent Portainer сгенерирует манифест для kubectl.

  4. Примените манифест к целевому кластеру: kubectl apply -f portainer-agent.yaml.

  5. Через минуту кластер появится в списке Environments — готов к управлению.

Весь процесс подключения одного кластера занимает около 15 минут.

Компонент CPU RAM Хранилище Сетевые требования
Portainer Server 2 vCPU 4 GB 10 GB Высокая пропускная способность к агентам
Portainer Agent 0.5 vCPU 512 MB 1 GB Доступ к Server через 9443/tcp

Что Portainer умеет с Kubernetes?

Через веб-интерфейс доступны:

  • Управление Namespaces с Resource Quotas и Limit Ranges
  • Развёртывание приложений через форму или YAML-манифест
  • Управление Deployments, Services, Ingresses, ConfigMaps, Secrets
  • Просмотр логов подов в реальном времени
  • Exec в контейнер прямо из браузера
  • Управление Helm Charts через встроенный App Templates

Portainer Business добавляет RBAC поверх стандартного Kubernetes RBAC — это важно для организаций, где нужно ограничить разработчиков конкретными namespaces без настройки сложных ClusterRole.

Возможность Portainer CE Portainer Business
Кластеры K8s Да Да
Docker-хосты Да Да
RBAC Нет Да (с маппингом на LDAP/OIDC)
Регистры контейнеров Да Да
Поддержка GitOps Через App Templates Через App Templates + внешние репозитории
Внешняя БД (PostgreSQL) Нет Да

Docker окружения в одном интерфейсе

Это то, чего нет ни у Lens, ни у Rancher в таком удобном виде. Если часть сервисов ещё работает на Docker Compose (legacy-хосты, dev-среды), Portainer управляет ими рядом с Kubernetes-кластерами. Одно окно для деплоя стека в Docker Compose и Helm-релиза в Kubernetes.

Portainer Agent устанавливается на Docker-хост:

docker run -d \
 -p 9001:9001 \
 --name portainer_agent \
 --restart always \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /var/lib/docker/volumes:/var/lib/docker/volumes \
 portainer/agent:latest

После этого хост появляется в Environments рядом с Kubernetes-кластерами.

Безопасность и ограничения

Portainer Business поддерживает OAuth2/OIDC и LDAP для SSO. Community Edition — только локальные пользователи или LDAP.

Portainer Agent нужны широкие права в кластере (ClusterAdmin) для полного функционала управления. Это компромисс: за удобство платишь расширенными правами агента. Если нужна минимизация прав — используйте readonly-режим или ограничьте Agent конкретными namespaces, но функционал будет урезан.

Сам Portainer Server хранит токены и credentials в собственной базе данных (BoltDB или внешняя). При потере этой базы теряется конфигурация всех подключённых окружений. Поэтому мы обязательно настраиваем резервное копирование базы в S3 или используем внешнюю PostgreSQL.

Настройка RBAC в Portainer Business для разработчиков

Включаем внешнюю аутентификацию (LDAP/OIDC), создаём команды на основе групп из провайдера, назначаем каждой команде доступ только к определённым environments и namespaces. Так разработчик видит только свои поды и логи, без доступа к production-кластеру. В Portainer Business можно связать роли из LDAP с командами — это централизует управление правами.

Область применения Portainer

Portainer — хороший выбор если:

  • Команда небольшая (до 20 человек), не нужен enterprise SSO
  • В инфраструктуре смешаны Kubernetes и Docker
  • Нужен простой UI без сложной настройки Rancher
  • Хочется быстро дать разработчикам доступ к просмотру состояния их приложений без kubectl

Для большого enterprise с сотнями разработчиков и десятками кластеров — Rancher даёт больше возможностей управления и GitOps-интеграции. Но даже в этом случае Portainer может быть полезен как дополнительный инструмент для быстрого доступа.

Что входит в работу

Закажите настройку Portainer под ключ — получите единое окно управления за 1–2 дня. В услугу входит:

  • Установка и конфигурация Portainer Server (Kubernetes или Docker)
  • Развёртывание Portainer Agent во всех кластерах и Docker-хостах
  • Настройка TLS, LDAP/OIDC, RBAC
  • Создание команд и прав доступа для разработчиков
  • Интеграция с Git-репозиториями через App Templates
  • Резервное копирование базы данных Portainer
  • Передача документации и обучение команды

Мы гарантируем стабильную работу под нагрузкой. Если у вас сложная инфраструктура — пишите, мы проведём аудит и предложим оптимальную архитектуру. Свяжитесь с нами, чтобы обсудить ваш проект.

Сроки и стоимость

Срок настройки: от 1 до 3 дней в зависимости от количества кластеров и требований к безопасности. Стоимость рассчитывается индивидуально — оставьте заявку, мы оценим проект и предложим фиксированную цену.

Portainer — opensource-инструмент, используемый в промышленной эксплуатации.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141