Установите Ansible AWX на CentOS 7: Shell Script и Docker Compose

Вот пример сценария оболочки для установки 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:

  1. Использование 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.

  1. Использование образа 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.