EticaAI / aguia-pescadora

Documentação de toda pilha de soluções e de usuário do PaaS da Etica.AI. Informações do cluster Tsuru sendo configurado: [Nós: 3][CPU: 14][RAM: 32GB][Disco: 800GB SSD][Custo: < 100 BRL/mês]
https://aguia-pescadora.etica.ai
The Unlicense
1 stars 0 forks source link

Testes com implementação de versão de Águia Pescadora com host que tenha apenas docker #32

Open fititnt opened 5 years ago

fititnt commented 5 years ago

Este issue é sobre fazer testes que poderiam se tornar uma das opções compatíveis com padrão de implementações do águia pescadora que simplesmente sejam um host de docker.

Aqui tem um ansible-role que talvez possa servir para os testes iniciais.

Creio que talvez eu faça os testes até mesmo em repositório dedicado e na minha conta pessoal do github em vez de já deixar em um repositório na organização @EticaAI.

fititnt commented 5 years ago

Comecei testando com o https://github.com/nickjj/ansible-docker (que era o ansible role que iria citar no issue). Porém como eu iria ter que por um traefik ou um nginx para fazer proxy reverso pelo jeito tem como usar um outro (que não é role, playbook inteiro) que faz algo parecido em https://github.com/guillaumebriday/traefik-docker-ansible

fititnt commented 5 years ago
# fititnt at bravo in /alligo/code/fititnt/aguia-pescadora-docker-ansible-playbook on git:master x [2:36:04]
$ ansible-galaxy install nickjj.docker
- downloading role 'docker', owned by nickjj
- downloading role from https://github.com/nickjj/ansible-docker/archive/v1.8.0.tar.gz
- extracting nickjj.docker to /home/fititnt/.ansible/roles/nickjj.docker
- nickjj.docker (v1.8.0) was installed successfully

# fititnt at bravo in /alligo/code/fititnt/aguia-pescadora-docker-ansible-playbook on git:master x [2:36:22]
$ ansible-playbook -i hosts aguia-pescadora-docker.yml

PLAY [aguia-pescadora-docker] **********************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Disable pinned Docker version] ***********************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Enable pinned Docker version] ************************************************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Docker's dependencies] ***********************************************************************************************************************************************************************************
 [WARNING]: Could not find aptitude. Using apt-get instead

changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Add Docker's public PGP key to the APT keyring] ******************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure Docker's upstream APT repository] **********************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Docker] **************************************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Check for existing Docker Compose file] **************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Remove Docker Compose if it's been installed without PIP] ********************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Virtualenv] **********************************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Python packages] *****************************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker', 'state': 'present'})
changed: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker-compose', 'version': '', 'path': '/usr/local/bin/docker-compose', 'src': '/usr/local/lib/docker/virtualenv/bin/docker-compose', 'state': 'present'})

TASK [nickjj.docker : Symlink Python binary to /usr/local/bin/python-docker] ***********************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Symlink selected Python package binaries to /usr/local/bin] ******************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker', 'state': 'present'}) 
changed: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker-compose', 'version': '', 'path': '/usr/local/bin/docker-compose', 'src': '/usr/local/lib/docker/virtualenv/bin/docker-compose', 'state': 'present'})

TASK [nickjj.docker : Add user(s) to "docker" group] ***********************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai] => (item=root)

TASK [nickjj.docker : Create Docker configuration directories] *************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai] => (item=/etc/docker)
changed: [aguia-pescadora-echo.etica.ai] => (item=/etc/systemd/system/docker.service.d)

TASK [nickjj.docker : Configure Docker daemon options (json)] **************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure Docker daemon options (flags)] *************************************************************************************************************************************************************************
[DEPRECATION WARNING]: evaluating docker__daemon_flags as a bare variable, this behaviour will go away and you might need to add |bool to the expression in the future. Also see CONDITIONAL_BARE_VARS configuration toggle.. This 
feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure Docker daemon environment variables] *******************************************************************************************************************************************************************
[DEPRECATION WARNING]: evaluating docker__daemon_environment as a bare variable, this behaviour will go away and you might need to add |bool to the expression in the future. Also see CONDITIONAL_BARE_VARS configuration toggle.. 
This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure custom systemd unit file override] *********************************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Reload systemd daemon] *******************************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

RUNNING HANDLER [nickjj.docker : Restart Docker] ***************************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Manage Docker registry login credentials] ************************************************************************************************************************************************************************

TASK [nickjj.docker : Remove Docker related cron jobs] *********************************************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai] => (item={'name': 'Docker disk clean up', 'job': 'docker system prune -af > /dev/null 2>&1', 'schedule': ['0', '0', '*', '*', '0'], 'cron_file': 'docker-disk-clean-up', 'user': 'root'}) 

TASK [nickjj.docker : Create Docker related cron jobs] *********************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai] => (item={'name': 'Docker disk clean up', 'job': 'docker system prune -af > /dev/null 2>&1', 'schedule': ['0', '0', '*', '*', '0'], 'cron_file': 'docker-disk-clean-up', 'user': 'root'})

PLAY RECAP *****************************************************************************************************************************************************************************************************************************
aguia-pescadora-echo.etica.ai : ok=18   changed=14   unreachable=0    failed=0    skipped=6    rescued=0    ignored=0   
fititnt commented 5 years ago

O https://github.com/kibatic/ansible-traefik funcionou para HTTP, mas não fez auto-ssl que eu sei que o traefik faria (alias, esse é um dos motivos pelo qual escolheria ele.

talvez seja preciso configuração extra em conteiners?

Captura de tela de 2019-07-21 03-15-42 Captura de tela de 2019-07-21 03-15-59

# fititnt at bravo in /alligo/code/fititnt/aguia-pescadora-docker-ansible-playbook on git:master x [3:02:44]
$ ansible-playbook -i hosts aguia-pescadora-docker.yml

PLAY [aguia-pescadora-docker] **********************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Disable pinned Docker version] ***********************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Enable pinned Docker version] ************************************************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Docker's dependencies] ***********************************************************************************************************************************************************************************
 [WARNING]: Could not find aptitude. Using apt-get instead

ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Add Docker's public PGP key to the APT keyring] ******************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure Docker's upstream APT repository] **********************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Docker] **************************************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Check for existing Docker Compose file] **************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Remove Docker Compose if it's been installed without PIP] ********************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Virtualenv] **********************************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Install Python packages] *****************************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker', 'state': 'present'})
ok: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker-compose', 'version': '', 'path': '/usr/local/bin/docker-compose', 'src': '/usr/local/lib/docker/virtualenv/bin/docker-compose', 'state': 'present'})

TASK [nickjj.docker : Symlink Python binary to /usr/local/bin/python-docker] ***********************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Symlink selected Python package binaries to /usr/local/bin] ******************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker', 'state': 'present'}) 
ok: [aguia-pescadora-echo.etica.ai] => (item={'name': 'docker-compose', 'version': '', 'path': '/usr/local/bin/docker-compose', 'src': '/usr/local/lib/docker/virtualenv/bin/docker-compose', 'state': 'present'})

TASK [nickjj.docker : Add user(s) to "docker" group] ***********************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai] => (item=root)

TASK [nickjj.docker : Create Docker configuration directories] *************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai] => (item=/etc/docker)
ok: [aguia-pescadora-echo.etica.ai] => (item=/etc/systemd/system/docker.service.d)

TASK [nickjj.docker : Configure Docker daemon options (json)] **************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure Docker daemon options (flags)] *************************************************************************************************************************************************************************
[DEPRECATION WARNING]: evaluating docker__daemon_flags as a bare variable, this behaviour will go away and you might need to add |bool to the expression in the future. Also see CONDITIONAL_BARE_VARS configuration toggle.. This 
feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
ok: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure Docker daemon environment variables] *******************************************************************************************************************************************************************
[DEPRECATION WARNING]: evaluating docker__daemon_environment as a bare variable, this behaviour will go away and you might need to add |bool to the expression in the future. Also see CONDITIONAL_BARE_VARS configuration toggle.. 
This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Configure custom systemd unit file override] *********************************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Reload systemd daemon] *******************************************************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [nickjj.docker : Manage Docker registry login credentials] ************************************************************************************************************************************************************************

TASK [nickjj.docker : Remove Docker related cron jobs] *********************************************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai] => (item={'name': 'Docker disk clean up', 'job': 'docker system prune -af > /dev/null 2>&1', 'schedule': ['0', '0', '*', '*', '0'], 'cron_file': 'docker-disk-clean-up', 'user': 'root'}) 

TASK [nickjj.docker : Create Docker related cron jobs] *********************************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai] => (item={'name': 'Docker disk clean up', 'job': 'docker system prune -af > /dev/null 2>&1', 'schedule': ['0', '0', '*', '*', '0'], 'cron_file': 'docker-disk-clean-up', 'user': 'root'})

TASK [kibatic.traefik : Create traefik systemd unit] ***********************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [kibatic.traefik : Ensure install & config directory exists] **********************************************************************************************************************************************************************
ok: [aguia-pescadora-echo.etica.ai] => (item=/usr/bin)

TASK [kibatic.traefik : Copy traefik config file] **************************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

TASK [kibatic.traefik : Ensure traefik service is stopped before traefik update] *******************************************************************************************************************************************************
skipping: [aguia-pescadora-echo.etica.ai]

TASK [kibatic.traefik : Download Traefik binary] ***************************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai] => (item={'url': 'https://github.com/containous/traefik/releases/download/v1.7.6/traefik_linux-amd64', 'dest': '/usr/bin/traefik'})

TASK [kibatic.traefik : Ensure traefik service is enabled and running] *****************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

RUNNING HANDLER [kibatic.traefik : Restart traefik] ************************************************************************************************************************************************************************************
changed: [aguia-pescadora-echo.etica.ai]

PLAY RECAP *****************************************************************************************************************************************************************************************************************************
aguia-pescadora-echo.etica.ai : ok=22   changed=5    unreachable=0    failed=0    skipped=8    rescued=0    ignored=0