Архитектура
Содержание
ОбзорКомпоненты архитектурыОсновной фреймворк Cluster APIАрхитектура провайдеров1. Bootstrap Provider - Kubeadm2. Control Plane Provider - Kubeadm3. Infrastructure ProviderАрхитектура Cluster APIОбзор
Наша платформа иммутабельной инфраструктуры построена на фреймворке Cluster API (CAPI) и предоставляет декларативный подход к управлению жизненным циклом кластеров в стиле Kubernetes.
Компоненты архитектуры
Основной фреймворк Cluster API
Платформа построена вокруг фреймворка Cluster API, который предоставляет:
- Декларативный API: ресурсы в стиле Kubernetes для управления кластерами
- Интерфейс провайдера: стандартизированные интерфейсы для различных инфраструктурных провайдеров
- Управление жизненным циклом: автоматизированное создание, масштабирование и обновление кластеров
- Интеграция с GitOps: нативная поддержка рабочих процессов GitOps
Архитектура провайдеров
Наша платформа интегрирует три ключевых провайдера Cluster API:
1. Bootstrap Provider - Kubeadm
Cluster API Bootstrap Provider Kubeadm отвечает за инициализацию и настройку узлов Kubernetes:
- Инициализация узлов: автоматизирует процесс преобразования bare metal-машин в узлы Kubernetes
- Управление конфигурацией: управляет конфигурацией kubelet, сертификатами и bootstrap tokens
- Процесс присоединения: отвечает за процесс присоединения worker-узлов к кластеру
- Управление сертификатами: автоматизирует генерацию и ротацию сертификатов
2. Control Plane Provider - Kubeadm
Cluster API Control Plane Provider Kubeadm управляет control plane Kubernetes:
- Развертывание control plane: разворачивает и управляет Kubernetes API server, etcd и компонентами control plane
- Высокая доступность: поддерживает многонодовые развертывания control plane с балансировкой нагрузки
- Управление обновлениями: отвечает за поэтапные обновления компонентов control plane
- Мониторинг состояния: отслеживает состояние control plane и выполняет операции восстановления
3. Infrastructure Provider
Выбранный Infrastructure Provider (наш пользовательский провайдер, например DCS) управляет базовой инфраструктурой целевой платформы:
- Выделение вычислительных ресурсов: создает и управляет виртуальными машинами или экземплярами на целевой платформе
- Настройка сети: разворачивает сетевую инфраструктуру
- Управление ресурсами: управляет вычислительными, хранилищными и сетевыми ресурсами
- Интеграция с провайдером: интегрируется с API и сервисами провайдера
Архитектура Cluster API
