diff --git a/docs/dockerfiles.md b/docs/dockerfiles.md index a029c62..bc6fd18 100644 --- a/docs/dockerfiles.md +++ b/docs/dockerfiles.md @@ -13,6 +13,15 @@ DevOpsLab использует предварительно собранные D ``` dockerfiles/ ├── ansible-controller/ # Ansible контроллер +│ ├── Dockerfile +│ ├── docker-compose.yml +│ ├── requirements.txt +│ └── requirements.yml +├── k8s/ # Kubernetes контроллер (Kind, kubectl, Helm, Istio) +│ └── Dockerfile +├── k8s-portforward/ # Port-forward контейнер (устаревший) +│ ├── Dockerfile +│ └── portforward-container.py ├── alt-linux/ # ALT Linux P9 ├── astra-linux/ # Astra Linux 1.7 ├── redos/ # RED OS 9 @@ -28,7 +37,8 @@ dockerfiles/ ├── debian9/ # Debian 9 Stretch ├── debian10/ # Debian 10 Buster ├── debian11/ # Debian 11 Bullseye -└── debian12/ # Debian 12 Bookworm +├── debian12/ # Debian 12 Bookworm +└── README.md # Документация по Dockerfiles ``` ## 🚀 Доступные образы @@ -44,13 +54,12 @@ Ansible контроллер с предустановленными колле #### Компоненты: - Ansible Core с последними коллекциями - Docker CLI для работы с контейнерами -- kubectl для управления Kubernetes -- Helm для управления пакетами Kubernetes -- Kind для локального Kubernetes - yq для работы с YAML - jq для работы с JSON - Molecule для тестирования ролей +**Примечание:** Kubernetes инструменты (kubectl, Helm, Kind, Istio) были перенесены в отдельный образ `k8s`. + #### Предустановленные коллекции: ```yaml collections: @@ -82,6 +91,41 @@ docker run --rm \ ansible-playbook site.yml ``` +### k8s + +**Базовый образ:** `ubuntu:22.04` +**Теги:** `inecs/ansible-lab:k8s-latest` +**Платформы:** linux/amd64, linux/arm64 + +Kubernetes контроллер с инструментами для работы с Kubernetes, Helm, Istio и Kind кластерами. + +#### Компоненты: +- **Docker CLI** (20.10.24) для работы с контейнерами +- **kubectl** (1.34.1) для управления Kubernetes +- **Helm** (latest) для управления пакетами Kubernetes +- **Kind** (0.30.0) для локальных Kubernetes кластеров +- **Istio CLI** (1.22.1) для управления Service Mesh +- Python 3 с модулем yaml для выполнения скриптов + +#### Использование: +```bash +# Создание Kind кластера +docker run -it --rm \ + --name k8s-controller \ + --network kind \ + -v /var/run/docker.sock:/var/run/docker.sock:rw \ + inecs/ansible-lab:k8s-latest \ + kind create cluster --name lab + +# Выполнение kubectl команд +docker exec k8s-controller kubectl get nodes + +# Установка Helm релиза +docker exec k8s-controller helm install prometheus prometheus-community/kube-prometheus-stack +``` + +**Примечание:** Этот образ используется автоматически при выполнении `make k8s` команд. Контейнер запускается с именем `k8s-controller` и подключен к Docker daemon хоста. + ### Ubuntu **Базовые образы:** @@ -348,18 +392,19 @@ docker run -d --privileged \ ## 📋 Матрица совместимости -| Образ | Платформы | systemd | Docker | Python 3 | -|-------|-----------|---------|--------|----------| -| ansible-controller | amd64, arm64 | ✅ | ✅ | ✅ | -| ubuntu20/22/24 | amd64, arm64 | ✅ | ✅ | ✅ | -| debian9/10/11/12 | amd64, arm64 | ✅ | ✅ | ✅ | -| centos7/8/9 | amd64, arm64 | ✅ | ✅ | ✅ | -| alma | amd64, arm64 | ✅ | ✅ | ✅ | -| rocky | amd64, arm64 | ✅ | ✅ | ✅ | -| rhel | amd64, arm64 | ✅ | ✅ | ✅ | -| alt-linux | amd64 | ✅ | ✅ | ✅ | -| astra-linux | amd64 | ✅ | ✅ | ✅ | -| redos | amd64 | ✅ | ✅ | ✅ | +| Образ | Платформы | systemd | Docker | Python 3 | Kubernetes Tools | +|-------|-----------|---------|--------|----------|------------------| +| ansible-controller | amd64, arm64 | ✅ | ✅ | ✅ | ❌ | +| k8s | amd64, arm64 | ❌ | ✅ | ✅ | ✅ (kubectl, Helm, Kind, Istio) | +| ubuntu20/22/24 | amd64, arm64 | ✅ | ✅ | ✅ | ❌ | +| debian9/10/11/12 | amd64, arm64 | ✅ | ✅ | ✅ | ❌ | +| centos7/8/9 | amd64, arm64 | ✅ | ✅ | ✅ | ❌ | +| alma | amd64, arm64 | ✅ | ✅ | ✅ | ❌ | +| rocky | amd64, arm64 | ✅ | ✅ | ✅ | ❌ | +| rhel | amd64, arm64 | ✅ | ✅ | ✅ | ❌ | +| alt-linux | amd64 | ✅ | ✅ | ✅ | ❌ | +| astra-linux | amd64 | ✅ | ✅ | ✅ | ❌ | +| redos | amd64 | ✅ | ✅ | ✅ | ❌ | ## 🛠️ Управление образами