Skip to content

Commit

Permalink
tsuru-mvp++ (#5), tsuru-inicializacao++: Instalação do zero Tsuru com…
Browse files Browse the repository at this point in the history
… PlanB na porta 82 para permitir o openresty (#16) feita; por algum motivo demorou um mais, 47min em vez de uns 22min
  • Loading branch information
fititnt committed Jun 22, 2019
1 parent 614ddd6 commit 53e8a29
Show file tree
Hide file tree
Showing 5 changed files with 645 additions and 1 deletion.
119 changes: 119 additions & 0 deletions diario-de-bordo/tsuru-inicializacao++/install-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
########### diario-de-bordo/tsuru-inicializacao++/install-compose.yml ###########
# Arquivo install-compose.yml que criou inicialmente o Tsuru Cluster Águia Pescadora
#
# DESCRIPTION: Para entender mais sobre este arquivo, por favor leia também o arquivo
# seu-computador.sh que está neste mesmo diretório.
#
#
# CHANGELOG: - [2019-09-22 19:54 BRT] arquivo gerado usand comando
# `tsuru install-config-init` com Tsuru Client versão 1.7.0-rc1.
# - [2019-09-22 20:07 BRT] editado para usar porta 82 em vez de 80:
# services:planb:ports de "-80:8080" para "- 82:8080";
# A porta 80 será usada por algum software que realize o TLS
# (HTTPS) antes de enregar para o PlanB.
# - Talvez seja colocado um Varnish na 81, por isso foi pulada,
# porem a urgencia agora é ter uma HTTPS
#
# CREATED AT: 2019-09-22
# UPDATED AT:
#
# -----------------------------------------------------------------------------#
# LICENSE: Public Domain
# Except where otherwise noted, content on this server configuration and to
# the extent possible under law, Emerson Rocha has waived all copyright and
# related or neighboring rights to this work to Public Domain
#
# MAINTAINER: Emerson Rocha <rocha(at)ieee.org>
# Keep in mind that several people help with suggestions, testing, bugfixes
# and inspiration without get names noted in places that most software
# developers look. I'm saying this in special for people who help over
# Facebook discussions. Even the ones without a personal computer yet and/or
# with limited access to internet.
#
# SECURITY:
# Reporting a Vulnerability:
# Send e-mail to Emerson Rocha: rocha(at)ieee.org.
################################################################################

version: "3"

services:
redis:
image: redis:latest
networks:
- tsuru
volumes:
- redis-data:/data

mongo:
image: mongo:latest
networks:
- tsuru
volumes:
- mongo-data:/data/db
- mongo-config:/data/configdb

planb:
image: tsuru/planb:latest
command: --listen :8080 --read-redis-host redis --write-redis-host redis --access-log stdout
ports:
# - 80:8080 # Valor original padrão
- 82:8080
networks:
- tsuru
depends_on:
- redis

registry:
image: registry:2
environment:
- "REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry"
- "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/{{CLUSTER_PRIVATE_ADDR}}:5000/registry-cert.pem"
- "REGISTRY_HTTP_TLS_KEY=/certs/{{CLUSTER_PRIVATE_ADDR}}:5000/registry-key.pem"
volumes:
- "/etc/docker/certs.d:/certs:ro"
- registry-data:/var/lib/registry
ports:
- 5000:5000
networks:
- tsuru

tsuru:
image: "{{TSURU_API_IMAGE}}"
volumes:
- "/etc/docker/certs.d:/certs:ro"
- "/etc/tsuru/tsuru.conf:/etc/tsuru/tsuru.conf:ro"
ports:
- 8080:8080
networks:
- tsuru
depends_on:
- redis
- mongo
- registry
- planb
environment:
- MONGODB_ADDR=mongo
- MONGODB_PORT=27017
- REDIS_ADDR=redis
- REDIS_PORT=6379
- HIPACHE_DOMAIN={{CLUSTER_ADDR}}.nip.io
- REGISTRY_ADDR={{CLUSTER_PRIVATE_ADDR}}
- REGISTRY_PORT=5000
- TSURU_ADDR=http://{{CLUSTER_ADDR}}
- TSURU_PORT=8080

networks:
tsuru:
driver: overlay
ipam:
driver: default
config:
- subnet: 10.0.9.0/24

volumes:
mongo-data:
mongo-config:
redis-data:
registry-data:

87 changes: 87 additions & 0 deletions diario-de-bordo/tsuru-inicializacao++/install-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
########### diario-de-bordo/tsuru-inicializacao++/install-config.yml ###########
# Arquivo install-config.yml que criou inicialmente o Tsuru Cluster Águia Pescadora
#
# (NOTA: este arquivo até o momento, 2019-06-22 20:02 BRT) ainda é uma copia do
# arquivo diario-de-bordo/tsuru-inicializacao++/config.yml. Leia o
# histórico do repositório git para saber mais sobre)
#
# Para entender mais sobre este arquivo, por favor leia também o arquivo
# seu-computador.sh que está neste mesmo diretório.
# Note que este arquivo foi criado em torno de 20 dias depois do primeiro MVP
# que o mantenedor inicial fez (no caso, com a Águia Pescadora Charlie) e
# possívelmente teria outras melhorias. Porém ao menos serve como pontapé
# inicial. Recomedamos também que acompanhe o histórico de commits no
# repositório principal em https://github.com/EticaAI/aguia-pescadora para
# ver a evolução. Este arquivo em especial será comentado em "Como re-criar um
# produto mínimo viável do Cluster Tsuru Águia Pescadora" no link
# https://github.com/EticaAI/aguia-pescadora/issues/5.
#
# Em especial, o mantenedor inicial não tem experiência suficiente para dizer
# se, mesmo com grande poder de processamento que tem e de baixo custo (isto é
# neste momento [Nós: 3][CPU: 14][RAM: 32GB][Disco: 800GB SSD]
# [Custo: < 100 BRL/mês]), talvez este arranjo inicial não seja o mais
# eficiente.
#
# ---------------------------------------------------------------------------- #
# Tsuru Cluster
# - 3 VPSs [CPU: 14][RAM: 32GB][Disco: 800GB SSD][Custo Mesal: < 100 BRL]
# - Nó com Tsuru: Delta (não exclusivo)
# - Um dos motivos de escolher Delta (que tem dobro de potencia das demais)
# é também que se eventualmente o cluster tiver que ser reduzido (ex.
# ainda não ser tão usado para justificar tanta potencia) a gente poderia
# permanecer apenas com a Delta e só recriar outras no futuro)
#
# VPSs
# - Águia Pescadora Delta: aguia-pescadora-delta.etica.ai
# - VPS (KVM), 6 vCPUs, 16GB RAM, 400GB SSD, Ubuntu Server 18.04 64bit, Contabo (Germany)
# - Diário de Bordo: https://github.com/EticaAI/aguia-pescadora/blob/master/diario-de-bordo/delta.sh
# - Águia Pescadora Echo: aguia-pescadora-echo.etica.ai
# - VPS (KVM), 4 vCPUs, 8GB RAM, 200GB SSD, Ubuntu Server 18.04 64bit, Contabo (Germany)
# - Diário de Bordo: https://github.com/EticaAI/aguia-pescadora/blob/master/diario-de-bordo/echo.sh
# - Águia Pescadora Foxtrot: aguia-pescadora-foxtrot.etica.ai
# - VPS (KVM), 4 vCPUs, 8GB RAM, 200GB SSD, Ubuntu Server 18.04 64bit, Contabo (Germany)
# - Diário de Bordo: https://github.com/EticaAI/aguia-pescadora/blob/master/diario-de-bordo/foxtrot.sh
#
# -----------------------------------------------------------------------------#
# LICENSE: Public Domain
# Except where otherwise noted, content on this server configuration and to
# the extent possible under law, Emerson Rocha has waived all copyright and
# related or neighboring rights to this work to Public Domain
#
# MAINTAINER: Emerson Rocha <rocha(at)ieee.org>
# Keep in mind that several people help with suggestions, testing, bugfixes
# and inspiration without get names noted in places that most software
# developers look. I'm saying this in special for people who help over
# Facebook discussions. Even the ones without a personal computer yet and/or
# with limited access to internet.
#
# SECURITY:
# Reporting a Vulnerability:
# Send e-mail to Emerson Rocha: rocha(at)ieee.org.
################################################################################

# Delta: 173.249.10.99
# Echo: 167.86.127.220
# Foxtrot: 167.86.127.225

name: 'aguia-pescadora'
hosts:
core:
size: 1
driver:
options:
generic-ip-address: ["173.249.10.99"]
generic-ssh-key: ["/home/fititnt/.ssh/id_rsa-aguia-pescadora-tsuru"]
apps:
size: 3
# docs.tsuru.io: "By default, core hosts are reused as apps hosts (this can be configured by the hosts:apps:dedicated config).""
dedicated: false
driver:
options:
generic-ip-address: ["167.86.127.220", "167.86.127.225"]
generic-ssh-key: ["/home/fititnt/.ssh/id_rsa-aguia-pescadora-tsuru"]
driver:
name: generic
options:
generic-ssh-port: 22
generic-ssh-user: root
Loading

0 comments on commit 53e8a29

Please sign in to comment.