Skip to content

Instantly share code, notes, and snippets.

@NatalNW
Last active June 7, 2024 22:48
Show Gist options
  • Select an option

  • Save NatalNW/6c360d5bef0187fbf319cf6b2951532e to your computer and use it in GitHub Desktop.

Select an option

Save NatalNW/6c360d5bef0187fbf319cf6b2951532e to your computer and use it in GitHub Desktop.
Guia de Instalação Ansible AWX para Linux

Instalando Ansible AWX no Linux

Este guia abordará a instalção do Ansible AWX. É recomendavel para ambientes de Teste/Desenvolvimento.

Index

CentOS

Informações Sobre Maquina Utilizada

Operating System: CentOS Linux 7 (Core)
Kernel: Linux 3.10.0-957.el7.x86_64
Architecture: x86-64

Requisitos do Sistema

  • Processador: CPU dual core
  • Memória: 4GB de RAM
  • Espaço no disco: 20GB de espaço livre

Requisitos para Instalação

Para aplicação Ansible AWX funcionar corretamente, será necessário:

  • Ansible 2.4+
  • Recente versão do Docker
  • Docker SDK para Python
  • Git
  • Node versão LTS
  • NPM versão LTS

Criando Usuário

Vamos criar um usuário chamado awx:

sudo adduser awx

Agora escolha uma senha para este usuário:

sudo passwd awx
# Comfirme a nova senha. É recomendavel usar uma senha forte:
Changing password for user awx.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Vamos adicionar o usuário no grupo wheel:

sudo usermod -aG wheel awx
# Por padrão, no CentOS, membros do grupo wheel já são sudo

Use o comando su - para alternar para a nova conta de usuário:

sudo su - awx

Execute yum update para checar se há atulizações, caso tenha estas serão aplicadas:

sudo yum update -y

Instalando Python 3

Execute o camando abaixo para iniciar a instalção:

sudo yum install python3 -y

Defina Python 3 como padrão:

sudo alternatives --set python /usr/bin/python3

Verifique se ocorreu tudo certo:

python -V
# Exemplo de saida:
Python 3.6.8

Instalando pip

Pip é um gerenciador de pacotes que simplifica a instalação e gerenciamento de pacotes escritos em Python.\n Por padrão ele não vem instalado no CentOS.

Adcione repositório EPEL:

sudo yum install epel-release -y
sudo yum update -y

Uma vez que o repositório EPEL foi abillitado, agora podemos instalar pip:

sudo yum install python-pip -y 

Verifique se há alguma atualização. Casa haja, será instalado automaticamente:

sudo pip install --upgrade pip

Verifique se o pip foi instalado:

pip -V
# Exemplo de saida:
pip 19.3.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

Instalando Git

Execute o comando abaixo para instalar git:

sudo yum install git -y

Verifique se o git foi instaldo:

git --version
# Exemplo de saida:
git version 1.8.3.1

Intalando Ansible

Execute o comando abaixo para instalar o Ansible

sudo yum install ansible -y

Teste se foi instalado corretamente:

ansible localhost -m ping
# Exemplo de saida:
localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

Instalando Docker

Vamos desinstalar versões anteriores:

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -y

Agora vamos instalar repositório:

sudo yum install yum-utils  device-mapper-persistent-data lvm2 -y

Use o seguinte comando para definir repositório estavel:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum update -y

Agora vamos instalar a ultima versão do Docker Engine - Community:

sudo yum install docker-ce docker-ce-cli containerd.io -y

Inicie o Docker:

sudo systemctl enable docker
sudo systemctl start docker

Verifique se a instalação ocorreu corretamente executando a imagem hello-word:

sudo docker run hello-world

Esse comando baixara uma imagem docker e a executara em um container. Se tudo funcionar como esperado, uma menssagem ira aparecer, parecida com esta:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Docker SDK para Python

Vamos instalar Docker SDK usando pip:

sudo pip install docker

Docker Compose

Agora vamos baixar a versão estável do Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Aplique permissões de execução ao binario:

sudo chmod +x /usr/local/bin/docker-compose

Crie um link simbolico para pasta /usr/bin:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Instale Docker Compose usando pip:

sudo pip install docker-compose

Verifique se instalou corretamente:

docker-compose --version
# Exemplo de saida:
docker-compose version 1.24.1, build 4667896b

Instalando Node e NPM

Adicione o repositorio Node:

sudo curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum update -y
# Caso queira versão Node 10.x apenas mude o setup_12.x para setup_10.x

Execute o comando abaixo para instalar Node.js e NPM:

sudo yum install nodejs -y

Verifique se foi instalado corretamanete:

node -v && npm -v
# Exemplo de saida:
v12.13.0 
6.12.0

Instalando Ansible AWX

Faça clone do repositório AWX project:

git clone https://github.com/ansible/awx.git

Entre na pasta awx/installer/ e mude para ultima versão estável do projeto:

cd awx/installer/
git checkout 9.0.0

Agora que estou fazendo, a ultima versão é a 9.0.0, verifique clicando aqui as versões disponiveis

Execute o Ansible playbook para instalar as imagens docker:

sudo ansible-playbook -i inventory install.yml

Verifique se as imagens estão funcionado:

sudo docker ps

Saida esperada:

CONTAINER ID        IMAGE                        COMMAND                  CREATED              STATUS              PORTS                                                 NAMES
d192aec116cc        ansible/awx_task:9.0.0       "/tini -- /bin/sh -c…"   About a minute ago   Up About a minute   8052/tcp                                              awx_task
0cb0bd7de7cc        ansible/awx_web:9.0.0        "/tini -- /bin/sh -c…"   About a minute ago   Up About a minute   0.0.0.0:80->8052/tcp                                  awx_web
ac0ad49488d0        ansible/awx_rabbitmq:3.7.4   "docker-entrypoint.s…"   About a minute ago   Up About a minute   4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp   awx_rabbitmq
cb8070214384        postgres:10                  "docker-entrypoint.s…"   About a minute ago   Up About a minute   5432/tcp                                              awx_postgres
59c835f20bd5        memcached:alpine             "docker-entrypoint.s…"   About a minute ago   Up About a minute   11211/tcp                                             awx_memcached

No browser, abra a aplicação em http://seu.ip ou use o comando curl:

curl http://localhost/

Quando você abrir a aplicação, Ansible AWX estará atualizando. Logo após aparecera a tela de login.

# Por padrão o usuario e senha são:
Username: admin
Password: password

Ubuntu

EM DESENVOLVIMENTO

Para Mais Informações

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment