Files
DevOpsLab/docs/getting-started.md
Сергей Антропов d37f59ba77
Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
Переименование проекта AnsibleLab в DevOpsLab
2025-10-27 10:46:04 +03:00

5.9 KiB
Raw Blame History

Быстрый старт с DevOpsLab

Автор: Сергей Антропов
Сайт: https://devops.org.ru
Версия: 2.0.0

🚀 Установка и настройка

1. Клонирование репозитория

git clone ssh://git@git.antropoff.ru:222/Ansible/DevOpsLab.git
cd DevOpsLab

2. Проверка структуры проекта

# Просмотр доступных ролей
make role list

# Просмотр доступных preset'ов
make presets list

3. Настройка Docker (опционально)

Если вы хотите собрать собственные образы:

# Настройка multi-arch builder
make docker setup-builder

# Сборка всех образов
make docker build

# Проверка собранных образов
make docker info

Примечание: Используются готовые образы из Docker Hub inecs/ansible-lab.

🧪 Первое тестирование

1. Просмотр доступных preset'ов

# Список всех preset'ов
make presets list

# Информация о конкретном preset'е
make presets info PRESET=default

2. Тестирование роли ping

# Тестирование с default preset
make role test

# Тестирование с minimal preset (1 хост)
make role test minimal

3. Проверка результатов

# Проверка через логи
docker logs ansible-controller 2>/dev/null || echo "Контейнер не запущен"

# Просмотр созданных контейнеров
docker ps -a --filter "network=labnet"

🔧 Создание первой роли

1. Создание новой роли

# Интерактивное создание роли
make role create
# Введите имя роли (например: nginx)

2. Редактирование роли

После создания роли будет создана структура в roles/<имя-роли>/:

roles/my-role/
├── tasks/
│   └── main.yml
├── handlers/
│   └── main.yml
├── defaults/
│   └── main.yml
├── vars/
│   └── main.yml
├── meta/
│   └── main.yml
├── templates/
├── files/
└── README.md

3. Написание задач роли

roles/my-role/tasks/main.yml:

---
# Основные задачи для роли my-role
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru

- name: Проверка установленных пакетов
  debug:
    msg: "Роль {{ role_name }} выполняется на {{ ansible_hostname }}"

- name: Установка пакетов (пример)
  package:
    name: "{{ my_role_packages | default([]) }}"
    state: present
  when: my_role_packages is defined

4. Настройка defaults

roles/my-role/defaults/main.yml:

---
# Переменные по умолчанию для роли my-role
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru

my_role_packages: []
my_role_enabled: true

5. Тестирование роли

# Проверка синтаксиса
make role lint my-role

# Тестирование с минимальным preset
make role test minimal

6. Добавление роли в deploy.yml

Роль автоматически добавляется в roles/deploy.yml при создании.

📚 Доступные роли

Docker

Универсальная роль для установки Docker и Docker Compose.

# Тестирование роли docker
make role lint docker
make role test docker

Документация: roles/docker/README.md

DevOps

Роль для установки и настройки инструментов DevOps.

Документация: roles/devops/README.md

Ping

Простая роль для проверки ping.

# Тестирование роли ping
make role lint ping
make role test ping

Документация: roles/ping/README.md

🎯 Preset система

Базовые preset'ы

  • default - Стандартный preset (2 хоста: Ubuntu + Debian)
  • minimal - Минимальный preset (1 хост: Debian)
  • test - Базовый тест (2 хоста)

Preset'ы по ОС

  • Ubuntu: ubuntu20, ubuntu22, ubuntu24, ubuntu-all
  • Debian: debian9, debian10, debian11, debian12, debian-all
  • CentOS: centos7, centos8, centos9, centos-all

Специализированные preset'ы

  • all-images - Все образы (16 хостов)
  • multi-os - Multi-OS тестирование (8 хостов)
  • docker-full - Docker тестирование (4 хоста)
  • performance - Тест производительности (8 хостов)
  • security - Тест безопасности (6 хостов)

🔐 Работа с секретами

Инициализация Vault

# Создание файла с паролем
make vault init

Создание и редактирование секретов

# Создание нового секрета
make vault create

# Редактирование существующего
make vault edit

# Просмотр секрета
make vault show

📖 Дополнительная документация