Налаштування Ansible AWX/Semaphore для керування інвентарем і ролями

Коли Ansible перетворюється на інструмент одного інженера, команда втрачає контроль над запусками та доступом. Ми налаштовуємо AWX або Semaphore, щоб ви отримали прозоре управління інвентарем, ролями та аудитом дій. Наша команда реалізує проєкт під ключ — від вибору платформи до налаштування RBAC та підтримки, забезпечуючи надійне рішення, яке масштабується разом із вашим бізнесом.
Часті запитання

Налаштування Ansible AWX/Semaphore для керування інвентарем і ролями

Ми часто бачимо, як команда впирається в проблему: хто запускав playbook у п'ятницю ввечері, під яким користувачем, з яким інвентарем? AWX та Semaphore вирішують саме це — дають GUI, RBAC, аудит-лог, планувальник та сховище credentials, щоб Ansible перестав бути інструментом одного інженера. Наш досвід показує, що правильно налаштована платформа прискорює роботу команди в 2–3 рази та виключає людські помилки при деплої.

Як вибрати між AWX та Semaphore?

AWX — upstream open-source проєкт Red Hat Ansible Automation Platform. Повнофункціональний, з API, workflow, динамічними інвентарями, інтеграцією з Vault. Вимагає Kubernetes (офіційно) або docker-compose (неофіційно). Споживає від 4 ГБ RAM на мінімальній інсталяції.

Semaphore — легковаговика альтернатива. Один бінарний файл на Go, PostgreSQL або MySQL, підтримка Git-репозиторіїв, базовий RBAC. Не закриває workflow та складні інтеграції, зате піднімається за 20 хвилин на VPS з 2 ГБ RAM.

Критерій AWX Semaphore
Вимоги Kubernetes / 8+ ГБ RAM 1 бінарник / 2 ГБ RAM
RBAC Детальний (org/team/user) Базовий (admin/user)
Workflow (ланцюжки JT) Так Ні
Динамічний інвентар Вбудований (AWS, GCP, Azure, NetBox...) Через скрипт
Vault-інтеграція Нативна Через змінні середовища
API Повний REST + WebSocket Базовий REST

AWX краще Semaphore в задачах з багаторівневим RBAC та складними workflow завдяки вбудованій підтримці workflow templates — це скорочує час налаштування ланцюжків плейбуків на 40–60%. Semaphore ж виграє в простоті та швидкості старту. Ми рекомендуємо AWX для продакшн-середовищ з командою від 5 осіб, Semaphore — для невеликих команд або експериментальних проєктів.

Розгортання AWX на K8s через AWX Operator

kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/2.x.x/deploy/awx-operator.yaml
# awx-instance.yaml
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx-prod
spec:
  service_type: ClusterIP
  ingress_type: ingress
  hostname: awx.internal
  postgres_configuration_secret: awx-postgres-config
  admin_user: admin
  admin_password_secret: awx-admin-password
  replicas: 1
  task_replicas: 2
  web_resource_requirements:
    requests:
      cpu: 500m
      memory: 1Gi
    limits:
      cpu: 2000m
      memory: 4Gi
kubectl apply -f awx-instance.yaml -n awx kubectl get pods -n awx -w # чекаємо готовності 

Semaphore: швидкий старт

---
# docker-compose.yml services: semaphore: image: semaphoreui/semaphore:latest environment: SEMAPHORE_DB_HOST: postgres SEMAPHORE_DB_NAME: semaphore SEMAPHORE_DB_USER: semaphore SEMAPHORE_DB_PASS: ${DB_PASS} SEMAPHORE_ADMIN: admin SEMAPHORE_ADMIN_PASSWORD: ${ADMIN_PASS} SEMAPHORE_ADMIN_EMAIL: [email protected] SEMAPHORE_ACCESS_KEY_ENCRYPTION: ${KEY_ENCRYPTION} ports: - "3000:3000" depends_on: - postgres 
---
# docker-compose.yml
services:
  semaphore:
    image: semaphoreui/semaphore:latest
    environment:
      SEMAPHORE_DB_HOST: postgres
      SEMAPHORE_DB_NAME: semaphore
      SEMAPHORE_DB_USER: semaphore
      SEMAPHORE_DB_PASS: ${DB_PASS}
      SEMAPHORE_ADMIN: admin
      SEMAPHORE_ADMIN_PASSWORD: ${ADMIN_PASS}
      SEMAPHORE_ADMIN_EMAIL: [email protected]
      SEMAPHORE_ACCESS_KEY_ENCRYPTION: ${KEY_ENCRYPTION}
    ports:
      - "3000:3000"
    depends_on:
      - postgres

Як організувати інвентар в AWX?

В AWX інвентар — це ресурс з підтримкою джерел даних. Статичний інвентар імпортується з Git-репозиторію. Динамічний створюється через вбудовані inventory source:

  • NetBox: підключається через плагін, синхронізує пристрої за тегами/статусом
  • Amazon EC2: фільтрація за tags, регіонами, VPC
  • VMware vCenter: інвентаризація всіх VM

Налаштування NetBox inventory source в AWX:

  1. Credentials → додати тип «NetBox» з URL та токеном
  2. Inventory → Sources → Add → Source: «NetBox»
  3. Вказати Credential, встановити «Update on launch»
  4. Налаштувати фільтри: {"status": "active", "tag": "managed-by-ansible"}

При запуску Job Template інвентар автоматично оновлюється з NetBox — не потрібно тримати статичний файл.

RBAC та аудит

AWX підтримує Organizations → Teams → Users з детальними правами. Типова схема: команда розробки має доступ тільки до Job Templates своїх середовищ (dev/staging), не бачить production. Команда DevOps керує всім. Кожен запуск Job Template фіксується в Activity Stream із зазначенням користувача, часу, результату та повного виводу.

Credentials в AWX зберігаються в зашифрованому вигляді (AES-256) і ніколи не передаються у відкритому вигляді — користувач може запускати playbook з SSH-ключем, не бачачи його вмісту.

Що входить в роботу

Ми реалізуємо розгортання AWX або Semaphore під ключ. В результаті ви отримуєте:

  • Робочий кластер / сервер з налаштованою платформою
  • Інтеграцію з Git-репозиторіями (GitHub, GitLab, Bitbucket)
  • Налаштовані інвентарі (статичний або динамічний)
  • RBAC-ролі для ваших команд
  • Документацію з адміністрування
  • Навчання команди (2–3 години)
  • Підтримку протягом місяця після впровадження

Ми гарантуємо стабільну роботу та безперебійне оновлення. Оцінимо ваш проєкт — просто напишіть нам.

Строки орієнтовно

Розгортання Semaphore з базовим проєктом, інвентарем та першими Job Templates — 1–2 дні. AWX на Kubernetes з динамічним інвентарем та RBAC — 3–5 днів. Інтеграція AWX з NetBox/VMware, налаштування Workflow Templates, підключення Vault — окремий блок 2–3 дні. Повний цикл впровадження для середнього проєкту займає до 8 робочих днів.

Чому варто автоматизувати Ansible?

Сертифіковані інженери з 5-річним досвідом в DevOps допоможуть вам уникнути типових помилок: зберігання credentials у відкритому вигляді, відсутність аудиту, хаотичне керування інвентарем. Ми провели понад 30 успішних проєктів з впровадження AWX та Semaphore. Наші гарантії — відсутність простоїв при деплої та прозорий процес. Зв'яжіться з нами для консультації — оцінимо вашу інфраструктуру та підготуємо пропозицію.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142