Архитектура
Содержание
ОбзорКомпоненты архитектурыОсновной фреймворк 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:
- Инициализация узлов: автоматизирует процесс превращения физических машин в узлы Kubernetes
- Управление конфигурацией: управляет конфигурацией kubelet, сертификатами и bootstrap-токенами
- Процесс присоединения: обрабатывает процесс присоединения рабочих узлов к кластеру
- Управление сертификатами: автоматизирует генерацию и ротацию сертификатов
2. Control Plane Provider — Kubeadm
Cluster API Control Plane Provider Kubeadm управляет управляющей плоскостью Kubernetes:
- Развертывание управляющей плоскости: разворачивает и управляет API-сервером Kubernetes, etcd и компонентами управляющей плоскости
- Высокая доступность: поддерживает развертывания управляющей плоскости на нескольких узлах с балансировкой нагрузки
- Управление обновлениями: осуществляет поэтапные обновления компонентов управляющей плоскости
- Мониторинг состояния: отслеживает состояние управляющей плоскости и выполняет операции восстановления
3. Infrastructure Provider
Выбранный Infrastructure Provider (наш кастомный провайдер, например DCS) управляет базовой инфраструктурой целевой платформы:
- Выделение вычислительных ресурсов: создает и управляет виртуальными машинами или инстансами на целевой платформе
- Настройка сети: настраивает сетевую инфраструктуру
- Управление ресурсами: управляет вычислительными, хранилищными и сетевыми ресурсами
- Интеграция провайдера: интегрируется с API и сервисами провайдера
Архитектура Cluster API
