Este guia abordará a instalção do Ansible AWX. É recomendavel para ambientes de Teste/Desenvolvimento.
Operating System: CentOS Linux 7 (Core)
Kernel: Linux 3.10.0-957.el7.x86_64
Architecture: x86-64
- Processador: CPU dual core
- Memória: 4GB de RAM
- Espaço no disco: 20GB de espaço livre
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
Vamos criar um usuário chamado awx:
sudo adduser awxAgora 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 sudoUse o comando su - para alternar para a nova conta de usuário:
sudo su - awxExecute yum update para checar se há atulizações, caso tenha estas serão aplicadas:
sudo yum update -yExecute o camando abaixo para iniciar a instalção:
sudo yum install python3 -yDefina Python 3 como padrão:
sudo alternatives --set python /usr/bin/python3Verifique se ocorreu tudo certo:
python -V
# Exemplo de saida:
Python 3.6.8Pip é 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 -yUma 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 pipVerifique 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)Execute o comando abaixo para instalar git:
sudo yum install git -yVerifique se o git foi instaldo:
git --version
# Exemplo de saida:
git version 1.8.3.1Execute o comando abaixo para instalar o Ansible
sudo yum install ansible -yTeste se foi instalado corretamente:
ansible localhost -m ping
# Exemplo de saida:
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}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 -yAgora vamos instalar repositório:
sudo yum install yum-utils device-mapper-persistent-data lvm2 -yUse 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 -yAgora vamos instalar a ultima versão do Docker Engine - Community:
sudo yum install docker-ce docker-ce-cli containerd.io -yInicie o Docker:
sudo systemctl enable docker
sudo systemctl start dockerVerifique se a instalação ocorreu corretamente executando a imagem hello-word:
sudo docker run hello-worldEsse 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/
Vamos instalar Docker SDK usando pip:
sudo pip install dockerAgora 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-composeAplique permissões de execução ao binario:
sudo chmod +x /usr/local/bin/docker-composeCrie um link simbolico para pasta /usr/bin:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-composeInstale Docker Compose usando pip:
sudo pip install docker-composeVerifique se instalou corretamente:
docker-compose --version
# Exemplo de saida:
docker-compose version 1.24.1, build 4667896bAdicione 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.xExecute o comando abaixo para instalar Node.js e NPM:
sudo yum install nodejs -yVerifique se foi instalado corretamanete:
node -v && npm -v
# Exemplo de saida:
v12.13.0
6.12.0Faça clone do repositório AWX project:
git clone https://github.com/ansible/awx.gitEntre na pasta awx/installer/ e mude para ultima versão estável do projeto:
cd awx/installer/
git checkout 9.0.0Agora 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.ymlVerifique se as imagens estão funcionado:
sudo docker psSaida 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
EM DESENVOLVIMENTO