Closed fititnt closed 5 years ago
Ah!. ok, tem uma diferença entre a nossa instalação em https://github.com/fititnt/cplp-aiops/issues/59#issuecomment-498101382 e o arquivo a primeira tentativa em https://github.com/EticaAI/aguia-pescadora/blob/master/diario-de-bordo/tsuru-inicializacao/tsuru-inicializacao.log.
Que o log de instalação do Tsuru deu um erro logo de primeira, eu vi. Porém uma das diferenças grandes para o 1.6.0 (que não teve qualquer erro) é que no 1.6.0 na Charlie, em um determinado momento, ele começou a criar a API:
(...)
Deploying compose file in cluster manager....
Creating network tsuru_tsuru
Creating service tsuru_redis
Creating service tsuru_mongo
Creating service tsuru_planb
Creating service tsuru_registry
Creating service tsuru_tsuru
Restarting docker in aguia-pescadora-1
Waiting for SSH to be available...
Detecting the provisioner...
Waiting for Tsuru API to become responsive...
�+Opening config file: /etc/tsuru/tsuru.conf
�0Done reading config file: /etc/tsuru/tsuru.conf
�OWarning: configuration didn't declare a database driver, using default driver.
�@Using "mongodb" database "tsuru" from the server "mongo:27017".
�
Password: �
Confirm: ��
� Root user successfully created.
Bootstrapping Tsuru API...adding target
New target aguia-pescadora -> http://192.99.69.2:8080 added to target list and defined as the current target
log in with default user: admin@example.com Password:
Successfully logged in!
adding pool
Pool successfully registered.
adding node https://192.99.69.2:2376
Node successfully registered.
adding platform
Step 1/1 : FROM tsuru/python
latest: Pulling from tsuru/python
898c46f3b1a1: Pull complete
63366dfa0a50: Pull complete
(...)
---- Setting router healthcheck (Path: /) ----
OK
Applying iptables workaround for docker 1.12...
Failed to apply iptables rule: ssh command error:
command : PATH=$PATH:/usr/sbin/:/usr/local/sbin; sudo iptables -D DOCKER-ISOLATION -i docker_gwbridge -o docker0 -j DROP
err : exit status 1
output : iptables: Bad rule (does a matching rule exist in that chain?).
. Maybe it is not needed anymore?
Failed to apply iptables rule: ssh command error:
command : PATH=$PATH:/usr/sbin/:/usr/local/sbin; sudo iptables -D DOCKER-ISOLATION -i docker0 -o docker_gwbridge -j DROP
err : exit status 1
output : iptables: Bad rule (does a matching rule exist in that chain?).
. Maybe it is not needed anymore?
--- Installation Overview ---
Core Hosts:
+-------------+-------+---------+
| IP | State | Manager |
+-------------+-------+---------+
| 192.99.69.2 | ready | true |
+-------------+-------+---------+
Core Components:
+----------------+-------+----------+
| Component | Ports | Replicas |
+----------------+-------+----------+
| tsuru_planb | 80 | 1 |
+----------------+-------+----------+
| tsuru_registry | 5000 | 1 |
+----------------+-------+----------+
| tsuru_tsuru | 8080 | 1 |
+----------------+-------+----------+
| tsuru_mongo | | 1 |
+----------------+-------+----------+
| tsuru_redis | | 1 |
+----------------+-------+----------+
Configured default user:
Username: admin@example.com
Password: admin123
Apps Hosts:
+--------------------------+---------+--------+----------------------------------+
| Address | IaaS ID | Status | Metadata |
+--------------------------+---------+--------+----------------------------------+
| https://192.99.69.2:2376 | | ready | LastSuccess=2019-06-03T03:01:52Z |
| | | | pool=theonepool |
+--------------------------+---------+--------+----------------------------------+
Apps:
+-----------------+------------+------------------------------------+
| Application | Units | Address |
+-----------------+------------+------------------------------------+
| tsuru-dashboard | 1 starting | tsuru-dashboard.192.99.69.2.nip.io |
+-----------------+------------+------------------------------------+
Já na nossa nova versão em https://github.com/EticaAI/aguia-pescadora/blob/master/diario-de-bordo/tsuru-inicializacao/tsuru-inicializacao.log, temos algo diferente. A instalação pode simplesmente ter falhado no meio. Humm....
Deploying compose file in cluster manager....
Creating network tsuru_tsuru
Creating service tsuru_planb
Creating service tsuru_registry
Creating service tsuru_tsuru
Creating service tsuru_redis
Creating service tsuru_mongo
Restarting docker in aguia-pescadora-1
Waiting for SSH to be available...
Detecting the provisioner...
Waiting for Tsuru API to become responsive...
+Opening config file: /etc/tsuru/tsuru.conf
�Done reading config file: /etc/tsuru/tsuru.conf
Warning: configuration didn't declare a database driver, using default driver.
Using "mongodb" database "tsuru" from the server "mongo:27017".
Password:
Confirm:
Root user successfully created.
Bootstrapping Tsuru API...Running pre-create checks...
Creating machine...
(aguia-pescadora-2) Importing SSH key...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
(...)
Uploading registry certificate...
adding target
New target aguia-pescadora -> http://173.249.10.99:8080 added to target list and defined as the current target
log in with default user: admin@example.com Password:
Successfully logged in!
adding pool
Pool successfully registered.
adding node https://173.249.10.99:2376
Node successfully registered.
adding node https://167.86.127.220:2376
Node successfully registered.
adding node https://173.249.10.99:2376
Error: Error bootstrapping tsuru: failed to register node: Node address shouldn't repeat
Se for isso mesmo talvez seja melhor simplesmente recomeçar corrigindo arquivo de configuração do que tentar forçar funcionar. Vou ver o que faço.
Aqui apenas referência das imagens da primeira execução. Talvez eu anexe elas (ou a tentativa que der certo de primeira) na documentação do https://github.com/EticaAI/aguia-pescadora/issues/5.
Acho que eu achei especialmente interessante é que durante toda instalação o Tsuru não passou do uso de 315MB de RAM no nó mestre.
A Foxtrot parece que nem mesmo teve docker instalado.
Outra coisa estranha é que, pelo que me lembro quando testei a Charlie, o tsuru client tinha instalado ela com hostname 'aguia-pescadora-1' e ao que parece, ele instalou a Delta com hostname 'aguia-pescadora-2', então talvez apenas renomear o diretorio '~/.tsuru' e reusar o nome 'agua-pescadora' pro cluster pode ter feito o tsuru client ter guardado algum cache anterior.
Outro ponto é que talvez eu precise remover completamente o tsuru dos servidores remotos para poder retestar tudo.
Last login: Wed Jun 19 23:05:25 2019 from 201.21.106.135
root@aguia-pescadora-2:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6c7d1a3dc9e4 tsuru/planb:latest "/bin/planb --listen…" 3 hours ago Up 3 hours 8080/tcp tsuru_planb.1.rdc4s6r85bha5wzg1m0nhjbkm
64917ea2f63a mongo:latest "docker-entrypoint.s…" 3 hours ago Up 3 hours 27017/tcp tsuru_mongo.1.mnq6q2rbxt37pxwzkya8tm1sr
0768d7688055 redis:latest "docker-entrypoint.s…" 3 hours ago Up 3 hours 6379/tcp tsuru_redis.1.gic9zz9id2l4o4khl41n4vazg
92ec3e9bc51f tsuru/api:v1 "/bin/tsurud api" 3 hours ago Up 3 hours 8080/tcp tsuru_tsuru.1.v0iqhtjuolvup1urq17uwwnp7
3171d2ff8a58 registry:2 "/entrypoint.sh /etc…" 3 hours ago Up 3 hours 5000/tcp tsuru_registry.1.rp673612fo2bxhf0rkdsi2ys1
root@aguia-pescadora-2:~#
# fititnt at bravo in /alligo/code/eticaai/aguia-pescadora/diario-de-bordo/tsuru-inicializacao on git:master o [23:22:12]
$ ssh root@aguia-pescadora-echo.etica.ai
Last login: Thu Jun 20 02:04:41 2019 from 201.21.106.135
root@aguia-pescadora-3:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@aguia-pescadora-3:~#
Last login: Wed Jun 19 23:00:33 2019 from 201.21.106.135
root@aguia-pescadora-foxtrot:~# docker
Command 'docker' not found, but can be installed with:
apt install docker.io
root@aguia-pescadora-foxtrot:~#
Comando tsuru install-remove não funciona
# fititnt at bravo in /alligo/code/eticaai/aguia-pescadora/diario-de-bordo/tsuru-inicializacao on git:master o [0:06:21]
$ tsuru install-remove
Unable to fetch installed hosts.
Falling back to configuration file.
The following core machines will be destroyed:
+------+----+------+
| Name | IP | Data |
+------+----+------+
Are you sure you sure you want to uninstall tsuru? (y/n) y
Are you really sure? I wont ask you again. (y/n) y
Core Machines successfully removed!
removing target
Uninstall finished successfully!
Ok. Descobri parcialmente o erro. A sintaxe de por no config.yml no caso de ter mais nós é diferente da que eu estava testando, então o https://github.com/EticaAI/aguia-pescadora/issues/7 talvez seja desnecessário, embora eu talvez acabe testando um pouco mais ou nele ou no 1.7 até realmente decidir qual versão de Tsuru a gente use.
No nosso caso, o interesse seria deixar o core no tsuru na Delta (e apenas nela) mas não deixar de usar ela também para ter alguns apps. Porém enquanto no caso de usar apenas 1 nó parece dar para repitir os valores em hosts:core e hosts:apps, ao usar mais de um nó, isso gera um erro.
Provavelmente depois de já ter criado um cluster é possivel adicionar e remover tudo via linha de comando, porém eu acabe indo um pouco mais fundo antes em decidir a arquitetura (o que fica aonde) e deixar o máximo de configurações prontas para dai sim, se tivesse que reconstruir, poder ser relativamente bem rápido.
Fechando esse aqui. Issue mais específico para o que causava esse problema está em https://github.com/EticaAI/aguia-pescadora/issues/8.
O https://github.com/EticaAI/aguia-pescadora/issues/7 talvez também seja desnecessário, porém isso fica para outro momento.
Nosso primeiro produto mínimo viável usando apenas um servidor remoto com tudo instalado a Charlie https://github.com/fititnt/cplp-aiops/issues/58 com o Tsuru 1.6.0 stable https://github.com/fititnt/cplp-aiops/issues/59 funcionou muito bem. Só não foi de primeira tentativa porque sem parâmetros ele tentaria instalar em virtualbox local.
Dessa vez sem usar a versão stable, mas sim a
tsuru version 1.7.0-rc1
temos alguns erros.O log completo de instalação está neste arquivo: https://github.com/EticaAI/aguia-pescadora/blob/master/diario-de-bordo/tsuru-inicializacao/tsuru-inicializacao.log.
O arquivo usado na configuração de inicialização do cluster está em https://github.com/EticaAI/aguia-pescadora/blob/master/diario-de-bordo/tsuru-inicializacao/config.yml