k8s #1

Merged
inecs merged 41 commits from k8s into main 2025-10-26 13:02:28 +03:00
Showing only changes of commit a56de6183a - Show all commits

View File

@@ -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 образы