diff --git a/README.md b/README.md index 979f522..333b95b 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,36 @@ ## 📋 Описание -DevOpsLab - это универсальная система для разработки, тестирования и развертывания Ansible ролей с использованием Docker, Molecule и preset конфигураций. Система поддерживает тестирование на различных ОС через Docker контейнеры. +DevOpsLab - это универсальная DevOps платформа для разработки, тестирования и развертывания инфраструктуры. Система объединяет Ansible роли, Docker контейнеры и Kubernetes кластеры в единую среду для автоматизации и управления инфраструктурой. + +**Ключевые компоненты:** +- **Ansible** - автоматизация конфигурации и развертывания +- **Docker** - контейнеризация для изоляции и переносимости +- **Molecule** - тестирование Ansible ролей +- **Kubernetes (Kind)** - локальные K8s кластеры для разработки +- **Multi-arch поддержка** - сборка для amd64 и arm64 архитектур ## ✨ Ключевые возможности +### 🔧 Ansible - **Тестирование ролей** через Molecule с Docker - **Preset система** для быстрого выбора окружений тестирования - **Мультиплатформенное тестирование** (Ubuntu, Debian, CentOS, AlmaLinux, RHEL и другие) - **Автоматическая проверка** синтаксиса Ansible ролей - **Управление секретами** через Ansible Vault -- **Готовые Docker образы** для разных ОС -- **Kubernetes Kind кластеры** для тестирования в среде Kubernetes -- **Автоматическая установка аддонов** (Istio, Prometheus, Grafana, Kiali и другие) + +### 🐳 Docker +- **Готовые Docker образы** для разных ОС с поддержкой systemd +- **Multi-arch сборка** (amd64, arm64) +- **Автоматическая публикация** в Docker Hub +- **Контейнеры для тестирования** Ansible ролей + +### ☸️ Kubernetes +- **Kind кластеры** для локального тестирования +- **Автоматическая установка аддонов** (Istio, Prometheus, Grafana, Kiali, Ingress, Metrics Server) +- **Управление через Helm** и Kubernetes манифесты +- **Port-forward** для доступа к сервисам +- **Детальный мониторинг** состояния кластера ## 📁 Структура проекта @@ -111,6 +129,27 @@ make role lint docker make role lint ping ``` +### 4. Работа с Kubernetes + +```bash +# Создание Kind кластера с аддонами +make k8s create kubernetes + +# Статус кластера (детальный отчет) +make k8s status kubernetes + +# Создание port-forward для доступа к сервисам +make k8s portforward create + +# Установка Helm чарта +make k8s helm apply kubernetes nginx bitnami/nginx + +# Удаление кластера +make k8s destroy kubernetes +``` + +**Подробная документация:** [docs/kubernetes-kind.md](docs/kubernetes-kind.md) + ## 📚 Доступные роли ### Docker @@ -505,7 +544,51 @@ make custom-images # справка по собственным ### Kubernetes -- **[docs/kubernetes-kind.md](docs/kubernetes-kind.md)** - Документация по работе с Kind кластерами +**Полная документация:** [docs/kubernetes-kind.md](docs/kubernetes-kind.md) + +DevOpsLab предоставляет полную поддержку локальных Kubernetes кластеров на базе Kind: + +#### Основные команды + +```bash +# Создание кластера с аддонами +make k8s create kubernetes + +# Детальный статус кластера +make k8s status kubernetes + +# Управление port-forward +make k8s portforward create +make k8s portforward list +make k8s portforward clear + +# Работа с Helm +make k8s helm apply kubernetes nginx bitnami/nginx +make k8s helm list kubernetes +make k8s helm delete kubernetes nginx + +# Работа с манифестами +make k8s manifest apply kubernetes https://example.com/app.yaml + +# Удаление кластера +make k8s destroy kubernetes +``` + +#### Доступные аддоны + +- **Ingress NGINX** - маршрутизация трафика +- **Metrics Server** - сбор метрик +- **Istio** - Service Mesh +- **Prometheus Stack** - мониторинг (Prometheus + Grafana) +- **Kiali** - визуализация Service Mesh + +#### Доступ к сервисам + +- **Grafana**: http://localhost:3000 (admin/admin) +- **Prometheus**: http://localhost:9090 +- **Kiali**: http://localhost:20001 +- **Ingress HTTP**: http://localhost:8081 +- **Ingress HTTPS**: https://localhost:8443 ## 🐳 Docker образы