Como Instalar o Ansible AWX sem Docker no CentOS 7/RHEL 7


O AWX Project (AWX) é um projeto comunitário de código aberto. Além disso, é a versão OpenSource do software Ansible Tower patrocinado pela Red Hat, que permite aos usuários controlar melhor o uso do projeto Ansible em ambientes de TI. Neste tutorial, mostraremos a você como instalar e configurar o AWX sem o Docker no CentOS 7 / RHEL 7 usando um RPM Community Edition.

Requisitos do sistema para o servidor do AWX:
  • 2 GB de memória;
  • 2 núcleos de cpu;
  • 20 GB de espaço;
Etapa 01: Configurações do Selinux e do Firewall
01 - Em primeiro lugar, vamos instalar o policycoreutils-python e permitir que o nginx se conecte à rede conforme abaixo:
# yum -y install policycoreutils-python
# setsebool -P httpd_can_network_connect 1
02- Se o firewalld estiver ativo, teremos que habilitar o tráfego http, execute o seguinte comando:
# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --reload
success
Etapa 02: Memcached, Ansible e pacotes necessários para a instalação
01- Execute o seguinte comando para instalar o repositório EPEL Release, Memchached e Ansible:
# yum install -y memcached ansible epel-release
02 - Habilite e inicie o serviço Memcached:
# systemctl enable memcached
# systemctl start  memcached
Etapa 03: Instalação do Servidor PostgreSQL
01- AWX requer o servidor de banco de dados PostgreSQL, siga este tutorial Como instalar o PostgreSQL 10 no CentOS 7/RHEL 7.

02 - Depois de instalar e iniciar o PostgreSQL Server, temos que criar o banco de dados awx chamado awx e conceder acesso ao usuário awx conforme abaixo:
# sudo -u postgres createuser -S awx
# sudo -u postgres createdb -O awx awx
Etapa 04: Instalação do RabbitMQ
01 - Crie o Repositório RabbitMQ como abaixo:
# echo "[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1" > /etc/yum.repos.d/rabbitmq-erlang.repo
02 - Instale o RabbitMQ e ative/inicie o serviço RabbitMQ executando os seguintes comandos:
# yum install erlang-R16B-03.18.el7.x86_64
# yum install -y rabbitmq-server.noarch
# systemctl enable rabbitmq-server
# systemctl start rabbitmq-server
Etapa 05: Instalação e Configuração do nginx como proxy do servidor web para o AWX
01 - Instale o nginx executando o seguinte comando
# yum install -y nginx
02 - Configurar o nginx como proxy web para o AWX:
# cp -p /etc/nginx/nginx.conf{,.org}
# wget -O /etc/nginx/nginx.conf https://raw.githubusercontent.com/sunilsankar/awx-build/master/nginx.conf
03 - Ativar e iniciar o nginx:
# systemctl enable nginx
# systemctl start nginx
Etapa 06: AWX instalação e inicialização
01 - Para instalar o AWX, execute os seguintes comandos:
# wget -O /etc/yum.repos.d/awx-rpm.repo https://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo
# yum install -y awx
02 - Vamos importar os dados do banco de dados do AWX:
# sudo -u awx /opt/awx/bin/awx-manage migrate
Operations to perform:
  Apply all migrations: auth, conf, contenttypes, main, oauth2_provider, sessions, sites, social_django, sso, taggit
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying taggit.0001_initial... OK
  Applying taggit.0002_auto_20150616_2121... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying main.0001_initial... OK
03 – Crie uma conta de usuário de acesso web do AWX chamada admin e uma senha de configuração:
# echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'root@localhost', 'password')" | sudo -u awx /opt/awx/bin/awx-manage shell
04 - Inicialize o AWX executando os seguintes comandos:
# sudo -u awx /opt/awx/bin/awx-manage create_preload_data
Default organization added.
Demo Credential, Inventory, and Job Template added.
(changed: True)

# sudo -u awx /opt/awx/bin/awx-manage provision_instance --hostname=$(hostname)
Successfully registered instance ylclawxas02.yallalabs.local
(changed: True)
2019-04-03 11:07:22,758 DEBUG    awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(eec7263e-bf52-4dad-ad4d-7d4245c47ae4, queue=awx_private_queue)

# sudo -u awx /opt/awx/bin/awx-manage register_queue --queuename=tower --hostnames=$(hostname)
2019-04-03 11:07:35,496 DEBUG    awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(d4a3314d-b3da-42a6-8cbe-a177f97e2e79, queue=awx_private_queue)
Creating instance group tower
2019-04-03 11:07:35,542 DEBUG    awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(f6be7d7d-fcbd-47dd-a1ec-10abe56420c3, queue=awx_private_queue)
Added instance ylclawxas02.yallalabs.local to tower
(changed: True)
04- Iniciar e ativar serviços AWX:
# systemctl start awx-cbreceiver && systemctl enable awx-cbreceiver
# systemctl start awx-dispatcher && systemctl enable awx-dispatcher
# systemctl start awx-channels-worker && systemctl enable awx-channels-worker
# systemctl start awx-daphne && systemctl enable awx-daphne
# systemctl start awx-web && systemctl enable awx-web
Etapa 07: Acessando a interface da web do AWX
- Para concluir, abra seu navegador e acesse a interface da eeb do AWX com o IP ou FQDN do seu servidor, o nome de usuário é admin e a senha é password.

Conclusão
Você instalou com sucesso o AWX Ansible Tower no seu sistema CentOS 7 / RHEL 7. Para mais informações, você pode visitar a página oficial da Documentação do Ansible Tower.

Credito:
LOTFI WADERNI => Yalla-labs.

Toda vez que um homem supera os reveses, torna-se mentalmente e espiritualmente mais forte!

Tecnologia do Blogger.