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:
Deixe um comentário