Вот пример сценария оболочки для установки Ansible AWX на CentOS 7:
#!/bin/bash
# Update system packages
sudo yum update -y
# Install required dependencies
sudo yum install -y epel-release git python-pip gcc nodejs gettext device-mapper-persistent-data lvm2 bzip2
# Install Docker
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
# Clone the AWX repository
git clone https://github.com/ansible/awx.git
cd awx
# Use the latest stable release
git checkout tags/17.1.0
# Install AWX
sudo pip install docker-compose
sudo docker-compose up -d
Этот скрипт обновляет системные пакеты, устанавливает необходимые зависимости (включая Docker), клонирует репозиторий AWX, извлекает последнюю стабильную версию, а затем использует Docker Compose для настройки и запуска AWX.
Вот несколько альтернативных способов установки Ansible AWX на CentOS 7:
- Использование Ansible Playbook. Вы можете создать Ansible Playbook, который автоматизирует установку AWX. Вот пример сборника правил:
---
- hosts: localhost
become: true
tasks:
- name: Install required dependencies
yum:
name: "{{ item }}"
state: present
with_items:
- epel-release
- git
- python-pip
- gcc
- nodejs
- gettext
- device-mapper-persistent-data
- lvm2
- bzip2
- name: Install Docker
yum:
name: "{{ item }}"
state: present
with_items:
- docker
- docker-compose
- name: Start and enable Docker service
service:
name: docker
state: started
enabled: true
- name: Clone AWX repository
git:
repo: https://github.com/ansible/awx.git
dest: /opt/awx
version: 17.1.0
- name: Install AWX
command: pip install docker-compose
args:
chdir: /opt/awx
Вы можете запустить эту книгу с помощью команды ansible-playbook.
- Использование образа Docker Hub. Вы также можете использовать готовый образ Docker из Docker Hub, чтобы быстро настроить AWX. Вот пример файла
docker-compose.yml:
version: '3'
services:
awx:
image: ansible/awx:17.1.0
ports:
- "80:8052"
depends_on:
- postgresql
- memcached
env_file:
- env.awx
volumes:
- awx_data:/var/lib/awx/projects
postgresql:
image: postgres:10
environment:
POSTGRES_USER: awx
POSTGRES_PASSWORD: awxpass
POSTGRES_DB: awx
volumes:
- awx_postgres_data:/var/lib/postgresql/data
memcached:
image: memcached:alpine
command: memcached -u memcached -m 64
volumes:
- awx_memcached_data:/var/lib/memcached
volumes:
awx_data:
awx_postgres_data:
awx_memcached_data:
Вы можете использовать docker-compose up -dдля запуска контейнеров AWX.