From 4e86b7f0c3c03599161092f0a0c696138ef19f8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=90=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BF=D0=BE=D0=B2?= Date: Sun, 26 Oct 2025 12:51:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20dockerfiles.md:=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=20k8s,=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D0=B0?= =?UTF-8?q?=20=D0=B8=20=D0=BC=D0=B0=D1=82=D1=80=D0=B8=D1=86=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dockerfiles.md | 77 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 61 insertions(+), 16 deletions(-) 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 | ✅ | ✅ | ✅ | ❌ | ## 🛠️ Управление образами