• Русский
  • Обзор функции

    Поддержка Immutable Infrastructure предоставляет комплексные возможности управления кластером и облачной инфраструктурой, разработанные для корпоративных развертываний Kubernetes. Эта платформа использует передовые методы автоматизации и принципы инфраструктуры как кода для обеспечения надежных, масштабируемых и удобных в сопровождении инфраструктурных решений.

    Управление кластером

    Наша платформа предлагает полный цикл управления жизненным циклом Kubernetes-кластера с применением принципов immutable OS, обеспечивая согласованные и воспроизводимые развертывания в различных средах.

    Создание кластера

    • Поддержка Immutable OS: Создание кластеров с использованием паттернов immutable OS для повышения безопасности и согласованности
    • Автоматическое Provisioning вычислительных ресурсов: Автоматическое выделение вычислительных инстансов с преднастроенными спецификациями
    • Автоматизация Bootstrap: Автоматизированный запуск кластера с минимальным участием вручную

    Удаление кластера

    • Полная очистка ресурсов: Комплексный процесс удаления, который удаляет все связанные ресурсы
    • Освобождение ресурсов провайдера: Корректное освобождение ресурсов провайдера для предотвращения «осиротевших» инстансов

    Масштабирование кластера

    • Горизонтальное масштабирование: Добавление или удаление рабочих узлов для удовлетворения требований нагрузки
    • Автоматическое управление вычислительными ресурсами: Автоматическое создание и освобождение инстансов при операциях масштабирования
    • Масштабирование без простоев: Выполнение операций масштабирования без прерывания сервиса

    Обновление кластера

    • Управление версиями Kubernetes: Плавные обновления до новых версий Kubernetes

    Поддерживаемые провайдеры инфраструктуры

    Наша платформа использует модель подключаемых провайдеров, согласованную с провайдерами инфраструктуры Cluster API. Она предназначена для работы с несколькими инфраструктурными платформами. В настоящее время поддерживается провайдер инфраструктуры DCS, а также ведется работа по добавлению дополнительных провайдеров.

    • Независимый от провайдера дизайн: Основные рабочие процессы едины для всех провайдеров
    • Текущая поддержка: провайдер инфраструктуры DCS
    • Дорожная карта: добавляются дополнительные провайдеры

    Управление вычислительными ресурсами

    Продвинутое управление жизненным циклом виртуальных машин с корпоративными функциями для оптимального использования ресурсов и производительности.

    Операции жизненного цикла вычислительных ресурсов

    • Создание вычислительных инстансов: Выделение инстансов с настраиваемыми спецификациями и конфигурациями
    • Удаление вычислительных инстансов: Безопасное удаление с корректной очисткой ресурсов

    Опции конфигурации вычислительных ресурсов

    • Выбор инстанса/флейвора: Выбор из предопределенных типов инстансов или флейворов, оптимизированных для различных нагрузок
    • Настройка размера: Гибкие варианты размеров — от небольших инстансов для разработки до крупных для производственных нагрузок
    • Распределение ресурсов: Точный контроль над выделением CPU, памяти и хранилища
    • Настройка сети: Расширенные сетевые опции, включая пользовательские подсети и группы безопасности
    • Опции хранения: Несколько типов и классов хранилища (например, SSD, HDD, NVMe) для различных требований к производительности

    Сценарии использования

    Сценарий 1: Высокодоступная управляющая плоскость

    Сценарий: Развернуть производственный кластер с высокодоступной управляющей плоскостью для обеспечения стабильности кластера.

    Реализация:

    • Развертывание управляющей плоскости из 3 узлов с автоматическим переключением при сбое
    • Узлы управляющей плоскости распределены по разным зонам доступности (при поддержке инфраструктуры)
    • Балансировщик нагрузки автоматически распределяет трафик API-сервера
    • Автоматическое восстановление отказавших компонентов управляющей плоскости

    Преимущества:

    • Отсутствие единой точки отказа в управляющей плоскости
    • Кластер остается работоспособным даже при сбое одного узла управляющей плоскости
    • Автоматическое восстановление снижает необходимость ручного вмешательства

    Сценарий 2: Горизонтальное масштабирование под нагрузку

    Сценарий: Реагировать на возросшую нагрузку приложения добавлением рабочих узлов, затем уменьшать масштаб при снижении нагрузки.

    Реализация:

    • Изменение поля replicas в ресурсе MachineDeployment
    • Cluster API автоматически выделяет новые узлы на основе Machine Template
    • Новые узлы автоматически присоединяются к кластеру и становятся готовыми к обработке нагрузки
    • При уменьшении масштаба узлы корректно сливаются и удаляются

    Преимущества:

    • Реакция на изменения нагрузки за минуты, а не часы
    • Автоматическое масштабирование снижает операционные затраты

    Сценарий 3: Пошаговые обновления без простоев

    Сценарий: Обновить версию Kubernetes или шаблон VM без прерывания работы приложений.

    Реализация:

    • Обновление Machine Template или версии Kubernetes в управляющей плоскости/MachineDeployment
    • Cluster API выполняет пошаговое обновление: создает новые узлы, ожидает их готовности, затем удаляет старые узлы
    • Параметры maxSurge и maxUnavailable настраивают поведение обновления
    • Поды автоматически сливаются со старых узлов и перезапускаются на новых

    Преимущества:

    • Обновления без простоев для критически важных приложений
    • Постепенное развертывание позволяет выявлять проблемы на ранних этапах
    • Легкий откат при обнаружении ошибок
    • Нет необходимости в ручном повторном выделении узлов

    Сценарий 4: Управление несколькими пулами узлов

    Сценарий: Запускать различные типы нагрузок на выделенных пулах узлов с разными конфигурациями.

    Реализация:

    • Создание нескольких MachineDeployments, каждый с разными Machine Templates
    • Настройка различных распределений ресурсов (CPU, память, хранилище) для каждого пула
    • Использование меток узлов и taints для контроля размещения нагрузки
    • Масштабирование каждого пула независимо в зависимости от требований нагрузки

    Примеры пулов:

    • Общий пул: сбалансированное CPU/память для типичных нагрузок
    • Пул с оптимизацией под вычисления: высокий CPU для пакетной обработки или сборок
    • Пул с оптимизацией под память: большая память для баз данных или кэширования

    Преимущества:

    • Оптимизация распределения ресурсов под разные типы нагрузок
    • Изоляция нагрузок для безопасности и производительности
    • Независимое масштабирование по типам нагрузки
    • Оптимизация затрат за счет правильного размера ресурсов