k8s #1

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

View File

@@ -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 | ✅ | ✅ | ✅ | ❌ |
## 🛠️ Управление образами