AI-Ops Documentation

Русский English
  • Главная
  • Карта документации
0. С чего начать
  • Что это за продукт
  • Для кого он
  • Как устроена документация
  • Быстрые ссылки
  • Как начать разработку
  • Как найти нужный сервис
  • К кому идти по вопросам
1. Продукт
Обзор продукта
  • Миссия продукта
  • Ценность для бизнеса
  • Основные сценарии
  • Границы системы
Пользователи и персоны
  • Сегменты пользователей
  • Роли пользователей
  • Основные потребности
Пользовательские сценарии
  • Регистрация / логин
  • Основной пользовательский сценарий
  • Оплата / заказ / действие
  • Поддержка и сценарий восстановления
Функции продукта
Фича: Аутентификация
  • Цель
  • Пользовательская история
  • Бизнес-правила
  • Ограничения
  • Метрики успеха
  • Связанные сервисы
  • Связанные события / данные
  • Фича: Профиль
  • Фича: Организации
  • Фича: Топология
  • Фича: Вычислительные ресурсы
  • Фича: Кластеры
  • Фича: Каталог сервисов
Требования
  • Функциональные требования
  • Нефункциональные требования
  • Требования к производительности
  • Требования к безопасности
  • Конфиденциальность и соответствие
  • Доступность
Метрики
  • Ключевая метрика (North Star)
  • Продуктовые KPI
  • Метрики воронки
  • Метрики качества
  • Метрики экспериментов
2. Домены
Домен: Identity
  • Назначение
  • Основные концепции
  • Сущности
  • Бизнес-правила
  • Сервисы домена
  • Данные домена
  • Связанные фичи
  • Домен: Профиль пользователя
  • Домен: Поиск
  • Домен: Заказы / транзакции
  • Домен: Уведомления
  • Домен: Аналитика
  • Домен: Рекомендации
3. Архитектура
Обзор системы
  • Что входит в систему
  • Что не входит
  • Высокоуровневая диаграмма
C4 Model
  • Контекстная диаграмма
  • Диаграмма контейнеров
  • Диаграмма компонентов
  • Диаграмма развёртывания
Интеграционная архитектура
  • Внешние системы
  • Интеграции API
  • Webhooks
  • Сторонние провайдеры
Потоки данных
  • Онлайн-поток данных
  • Пакетный поток данных
  • Поток событий
  • Владение данными
Архитектура безопасности
  • Аутентификация
  • Авторизация
  • Управление секретами
  • Шифрование
  • Аудит и логирование
Надежность и масштабируемость
  • SLA / SLO
  • Планирование мощностей
  • Отказоустойчивость
  • Обратное давление и повторы
  • Восстановление после сбоев
Архитектурные принципы
  • Границы доменов
  • Принципы проектирования API
  • Принципы проектирования событий
  • Принципы контрактов данных
  • Диаграмма: auth микросервисы
Control plane
  • Архитектура компонентов (control plane)
  • Доменная модель v0
  • Протокол v0 (control plane)
  • Примеры (control plane)
Сервисы (control plane)
Сервис control plane
  • API
  • Модель данных
  • События
  • Модули
  • Операции
Сервис execution plane
  • API
  • Модель данных
  • События
  • Модули
  • Операции
Сервис resource catalog
  • API
  • Модель данных
  • События
  • Модули
  • Операции
4. Инженерия
Сервисы
Каталог сервисов
  • Все сервисы списком
  • Владельцы
  • Критичность
  • Уровень / домен / статус
  • Сервис аутентификации
  • Сервис аккаунтов
  • Облачный сервис
  • Сервис учётных данных
  • Herald
  • Сервис идентификации
  • API Gateway
  • Сервис токенов
Фронтенд
  • Обзор фронтенда
  • Структура приложения
  • Routing (фронтенд)
  • State management (фронтенд)
  • Design system (фронтенд)
  • UI components (фронтенд)
  • API контракты фронтенда
  • Обработка ошибок (фронтенд)
  • Performance (фронтенд)
  • Feature flags (фронтенд)
  • Тестирование фронтенда
Бэкенд
  • Обзор бэкенда
  • Паттерны сервисов
  • Рекомендации по API
  • Событийные паттерны
  • Паттерны доступа к БД
  • Кэширование
  • Асинхронные задачи и воркеры
  • Идемпотентность
  • Обработка ошибок
  • Тестирование бэкенда
Данные
  • Обзор данных
  • Системы-источники
  • Контракты данных
  • Каталог схем событий
  • Хранилище данных
  • Витрины данных
  • ETL / ELT-пайплайны
  • Качество данных
  • Происхождение данных
  • Политики хранения
  • Политики доступа
ML / DS
  • Обзор ML/DS
  • Сценарии (ML)
  • Каталог моделей
  • Feature store
  • Training pipelines
  • Inference pipelines
  • Offline evaluation
  • Online evaluation / A-B
  • Мониторинг (ML)
  • ML runbooks
QA / Качество
  • Стратегия качества
  • Пирамида тестов
  • Тестовые окружения
  • Тестовые данные
  • Ручное тестирование
  • Автоматизированное тестирование
  • Нагрузочное тестирование
  • Тестирование безопасности
  • Критерии приёмки релиза
  • Процесс разбора багов
5. Платформа
Инфраструктура
  • Ansible
  • WireGuard
  • Kubernetes
  • Longhorn
  • Ingress
  • PostgreSQL Cluster
  • Redis
  • Kafka
  • Vault
  • MinIO
  • Authentik
  • Monitoring
  • Logging
  • Tracing
  • Nexus
  • SonarQube
  • GlitchTip
  • GitLab Runner
  • Kubernetes Dashboard
  • OLM
  • Deploy
  • Internal DNS
  • Обзор (инфраструктура)
  • Config generator
  • Пример (инфраструктура)
  • Скрипты (инфраструктура)
Окружения
  • Локальное
  • Stage
  • Pre
  • Продакшен (prod)
  • Tech
  • Облако
  • Объектное хранилище
  • CI/CD
  • Секреты и сертификаты
Наблюдаемость
  • Логирование
  • Метрики
  • Трейсинг
  • Алертинг
  • Резервное копирование и восстановление
6. Разработка
  • Быстрый старт
  • Локальная настройка
  • Карта репозиториев
  • Стандарты кода
  • Git-процесс
  • Стратегия ветвления
  • Руководство по код-ревью
  • Критерии готовности
  • Процесс релиза
  • Флаги фич
  • FAQ разработчика
  • Миграция secure auth
7. Эксплуатация
  • Дежурство
  • Управление инцидентами
  • Уровни критичности
  • Политика эскалации
  • Постмортемы
  • Ранбуки
  • Управление изменениями
  • Непрерывность бизнеса
8. Аналитика
  • План трекинга событий
  • Определения KPI
  • Каталог дашбордов
  • Словарь метрик
  • Эксперименты
  • Стандарты отчётности
9. Управление
  • Решения (ADR)
  • Политика статуса контента
  • Changelog обновлений документации
Безопасность и соответствие
  • Модель угроз
  • Безопасная разработка
  • Управление доступом
  • Конфиденциальность
  • Реагирование на инциденты
Ответственность и владельцы
  • Команды
  • Зоны ответственности команд
  • Владельцы сервисов
  • Владельцы доменов
  • Контакты
Глоссарий
  • Бизнес-термины
  • Продуктовые термины
  • Технические термины
  • Сокращения

Index

Управление инфраструктурой AIOps платформы на Kubernetes.

Структура проекта

Проект организован по доменам. Каждый домен содержит все связанные файлы:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
infra/k8s/
├── postgres/          # PostgreSQL Operator и кластеры
│   ├── manifests/     # Манифесты (operator, cluster, pdb, networkpolicy, etc.)
│   ├── charts/        # Helm charts
│   ├── docs/          # Документация
│   └── Makefile       # Команды управления
├── kafka/             # Kafka Operator и кластеры
├── redis/             # Redis Operator и кластеры
├── vault/             # HashiCorp Vault
├── minio/             # MinIO S3 хранилище
├── nexus/             # Nexus Repository Manager
├── sonarqube/         # SonarQube
├── authentik/         # Authentik SSO
├── glitchtip/         # GlitchTip (Sentry-совместимый)
├── gitlab-runner/     # GitLab Runner Operator
├── k8s-dashboard/     # Kubernetes Dashboard
├── ingress/           # Ingress NGINX и Cert-Manager
├── logging/           # Centralized Logging (Loki + Fluent Bit)
├── longhorn/          # Longhorn Storage
├── common/            # Общие ресурсы (PriorityClasses, Node Labels)
└── Makefile           # Главный Makefile

Диаграмма зависимостей

graph TD A[Kubernetes Cluster] --> B[Longhorn Storage] B --> C[PostgreSQL Operator] B --> D[Kafka Operator] B --> E[Redis Operator] B --> F[MinIO Operator] B --> G[Vault Operator] B --> H[Nexus Operator] C --> I[PostgreSQL Cluster] D --> J[Kafka Cluster] E --> K[Redis Cluster] F --> L[MinIO Tenant] G --> M[Vault Instance] H --> N[Nexus Instance] I --> O[Authentik] I --> P[SonarQube] I --> Q[GlitchTip] R[Ingress NGINX] --> O R --> P R --> Q T[Cert-Manager] --> R U[Dashboard] --> A V[GitLab Runner] --> A W[Loki] --> L X[Fluent Bit] --> W

Быстрый старт

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Показать все доступные команды
make help

# Установить все namespace
make install-namespaces

# Установить компоненты
make longhorn-install-all
make postgres-install-operator
make postgres-create-cluster
# и т.д.

Ресурсы инфраструктуры

Таблица потребления ресурсов всеми компонентами инфраструктуры (актуальные данные):

Компонент Поды CPU Req RAM Req Storage (с репликами)
PostgreSQL 5 1.33 2.85 Gi 120 Gi
Kafka 11 1.95 3.63 Gi 54 Gi
Redis 8 2.05 3.99 Gi 57 Gi
Vault 5 900m 1.13 Gi 16 Gi
MinIO 6 1.7 4.25 Gi 200 Gi
Nexus 1 500m 1 Gi 50 Gi
SonarQube 1 400m 1 Gi 18 Gi
Authentik 3 500m 1.43 Gi -
GlitchTip 5 335m 836 Mi 9 Gi
Dashboard 1 150m 192 Mi -
Ingress 1 100m 128 Mi -
Cert-Manager 3 200m 256 Mi -
Longhorn 17 3.21 ~2 Gi -
GitLab Runner 2 105m 244 Mi -
Logging (Loki + Fluent Bit) 12 1.6 2.84 Gi 20 Gi
Monitoring (Prometheus + Grafana) 12 1.85 3.22 Gi -
Kube-system (частично) 21 3.75 640 Mi -
OLM (Operator Lifecycle Manager) 5 50m 390 Mi -
ИТОГО ~139 ~20.78 ~27.76 Gi 544 Gi

Примечания: - CPU Req: Запросы CPU в миллиCPU (m) или целых единицах (cores) - RAM Req: Запросы памяти в MiB (Mi) или GiB (Gi) - Storage: Persistent Volume Claims с учетом репликации (если применимо) - Поды: Общее количество подов включая операторы, UI и вспомогательные компоненты - Значения округлены для читаемости - Данные актуальны на момент последнего запуска make get-pod-resources - Longhorn сам предоставляет storage для других компонентов, поэтому его storage не учитывается в итоге - Kube-system включает только компоненты с определенными resource requests (calico, coredns, etcd, kube-apiserver, kube-controller-manager, kube-scheduler, metrics-server)

Компоненты инфраструктуры

Хранилище

  • Longhorn - Распределенное хранилище для Kubernetes
  • MinIO - S3-совместимое объектное хранилище

Базы данных и очереди

  • PostgreSQL - Реляционная БД через Crunchy PGO
  • Kafka - Потоковая платформа через Strimzi Operator
  • Redis - In-memory хранилище через Opstree Operator

Безопасность и секреты

  • Vault - Управление секретами через Bank-Vaults Operator
  • Authentik - SSO и аутентификация

CI/CD и разработка

  • GitLab Runner - CI/CD раннеры
  • SonarQube - Анализ качества кода
  • Nexus - Репозиторий артефактов

Мониторинг и наблюдение

  • GlitchTip - Мониторинг ошибок (Sentry-совместимый)
  • Logging - Централизованный сбор логов (Loki + Fluent Bit)

Инфраструктура

  • Ingress NGINX - Входящий трафик и балансировка
  • Cert-Manager - Управление TLS сертификатами
  • Kubernetes Dashboard - Веб-интерфейс для кластера

Документация компонентов

Каждый компонент имеет свою документацию в соответствующей директории: - */README.md - Основная документация компонента - */docs/ - Дополнительные гайды и инструкции

Меню
Главная Карта документации
0. С чего начать
С чего начать Что это за продукт Для кого он Как устроена документация Быстрые ссылки Как начать разработку Как найти нужный сервис К кому идти по вопросам
1. Продукт
Продукт
2. Домены
Домены Домен: Профиль пользователя Домен: Поиск Домен: Заказы / транзакции Домен: Уведомления Домен: Аналитика Домен: Рекомендации
3. Архитектура
Архитектура Диаграмма: auth микросервисы
4. Инженерия
Инженерия
5. Платформа
Платформа Облако Объектное хранилище CI/CD Секреты и сертификаты Резервное копирование и восстановление
6. Разработка
Разработка Быстрый старт Локальная настройка Карта репозиториев Стандарты кода Git-процесс Стратегия ветвления Руководство по код-ревью Критерии готовности Процесс релиза Флаги фич FAQ разработчика Миграция secure auth
7. Эксплуатация
Эксплуатация Дежурство Управление инцидентами Уровни критичности Политика эскалации Постмортемы Ранбуки Управление изменениями Непрерывность бизнеса
8. Аналитика
Аналитика План трекинга событий Определения KPI Каталог дашбордов Словарь метрик Эксперименты Стандарты отчётности
9. Управление
Управление Решения (ADR) Политика статуса контента Changelog обновлений документации

На странице

Структура проекта Диаграмма зависимостей Быстрый старт Ресурсы инфраструктуры Компоненты инфраструктуры Хранилище Базы данных и очереди Безопасность и секреты CI/CD и разработка Мониторинг и наблюдение Инфраструктура Документация компонентов