From 57c3ccee24f56b1e2f6573069d1f92604d0d7e35 Mon Sep 17 00:00:00 2001 From: Emerson Rocha Luiz Date: Mon, 15 Jul 2019 01:34:21 -0300 Subject: [PATCH] =?UTF-8?q?tldr=20(EticaAI/aguia-pescadora#27):=20detalhad?= =?UTF-8?q?o=20melhor=20o=20que=20a=20v2.0.x=20alpha=20=C3=A9=20capaz=20de?= =?UTF-8?q?=20fazer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 122 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 83 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 177262a..1e14b96 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Acompanhe as versões lançadas usando Ansible em - https://mi-aplicación-tre.app.example.com > - ... -#### Limitações da 2.0-alpha - -Pontos de melhoria (i.e. o que poderia, mas não tem, automaticamente configurado): - -- Não usa Kubernetes ou K3S (o que não necessariamente é ponto negativo) -- Tsuru Gandalf (isto é, permitir por em produção usando `git push` em vez de `tsuru app-deploy --app meuapp .` ) -- Tsuru MySQL As A Service (alternativa: usar MySQL via app com Docker) -- Tsuru PostgreSQL As A Service (alternativa: usar PostgreSQL via app com docker) -- Tsuru volumes - - - - - --- - [Ansible Playbooks da Águia Pescadora](#ansible-playbooks-da-águia-pescadora) - - [TL;DR](#tldr) - - [Limitações da 2.0-alpha](#limitações-da-20-alpha) + - [TL;DR do 2.0-alpha](#tldr-do-20-alpha) - [Como usar o aguia-pescadora-ansible-playbooks](#como-usar-o-aguia-pescadora-ansible-playbooks) - [2.0.x alpha](#20x-alpha) - - [Roles](#roles) + - [Instalação da 2.0.x alpha](#instalação-da-20x-alpha) + - [O que a versão 2.0.x alpha automatiza por você](#o-que-a-versão-20x-alpha-automatiza-por-você) + - [Limitações da versão 2.0.x alpha](#limitações-da-versão-20x-alpha) + - [Ansible Roles da versão 2.0.x alpha](#ansible-roles-da-versão-20x-alpha) - [paas-host](#paas-host) - [tsuru-installer](#tsuru-installer) - [Requisitos](#requisitos) @@ -107,15 +79,85 @@ Comentários adicionais pertinentes: ## Como usar o aguia-pescadora-ansible-playbooks +Note que a 2.0.x alpha **não** usa Kubernetes ou K3S e é uma versão de apenas 1 nó, +porém automatizada do que antes era documentado em [EticaAI/aguia-pescadora/diario-de-bordo](https://github.com/EticaAI/aguia-pescadora/tree/master/diario-de-bordo) e que é mais flexível (porém exige conhecimento mais avançado +pra testes rapidos e ler o passo a passo). + ### 2.0.x alpha -Neste momento apenas a versão 2.0.x-alpha (que tem seu passo a passo muito -resumidamente) explicada no início deste documento em "TL;DR" está documentada. +#### Instalação da 2.0.x alpha +Uma das formas de instalar a versão 2.0.x alpha é a seguinte: -Note que a 2.0.x **não** usa Kubernetes ou K3S e é uma versão de apenas 1 nó, -porém automatizada do que antes era documentado em [EticaAI/aguia-pescadora/diario-de-bordo](https://github.com/EticaAI/aguia-pescadora/tree/master/diario-de-bordo). +```bash +git clone -b v2.0-alpha --single-branch https://github.com/EticaAI/aguia-pescadora-ansible-playbooks.git . +ansible-playbook tldr.yml -e paas_host=example.com -e paas_ip=123.123.123.123 -#### Roles +# Senha do Admin do tsuru: tsuru-initialization-configs/tsuru-install.log +# Senha do Minio: example.com:/usr/local/share/minio/.minio.sys/config/config.json +``` + +#### O que a versão 2.0.x alpha automatiza por você + +- PaaS 1 nó (master e workers na mesma VPS) + - Recomendamos Ubuntu 18.04 + - Hardware mínimo: 1vCPU, 512MB RAM, 10GB disco +- [OpenResty (fork do NGinx)](https://openresty.org) com [GUI/lua-resty-auto-ssl](https://github.com/GUI/lua-resty-auto-ssl) + - Função: + - faz terminação TLS (isto é, servir o primeiro acesso HTTPS) que chegam no servidor. + - Note: ele obtem SSL para _qualquer_ domínio que aponte para seu servidor + sem invervenção manual de administrador o que pode ser extremamente + interessante e prático para quem está vindo de outros ambinetes que + oferecem let's encript de graça; porém pode exigir ajustes extras para + quem não precisa disto +- [Minio](https://min.io/) +- Tsuru Server com core components (via [tsuru Installer](https://docs.tsuru.io/stable/installing/using-tsuru-installer.html)), em especial: + - Tsuru Dashboard / Tsuru API + - Database para o Tsuru (MongoDB, é usado apenas pelo próprio Tsuru) + - Queue/Cache para o Tsuru (Redis, é usado apenas pelo próprio Tsuru) + - Docker Registry + - PlanB (Usado apelas pelo Tsuru, não serve HTTP ou HTTPS para fora do cluster) + - Docker + +A versão 2.0.x alpha é uma implementação mais reduzida (porém automatizada) do +[EticaAI/aguia-pescadora/diario-de-bordo](https://github.com/EticaAI/aguia-pescadora/tree/master/diario-de-bordo) +documenta ser possível. Em vez de dar "todas as opções" e exigir que o usuário +tenha que ler outras dezenas de referências extenas ela procura ser primeira +versão pública da Etica.AI de um PaaS "Faça-você-mesmo" que consiga ser +compatível caso você queira aproveitar apenas a documentação e experiência com +pilha de soluções da Águia Pescadora sem usar a hospedagem gratuita. + +Para quem tem conhecimento técnico prévio mais avançado você talvez pode usar o +[EticaAI/aguia-pescadora/diario-de-bordo](https://github.com/EticaAI/aguia-pescadora/tree/master/diario-de-bordo) +ou tomar como ponto de partida a instalação do Tsuru em +. Como o número de pessoas +desenvolvedores realmente criando uma PaaS é reduzida ainda assim você pode se +beneficiar de partes do que é testamos e como documentação/código são liberados +não apenas como código aberto, mas como dedicados ao domínio publico você pode +reaproveitar em outros projetos. Porém note que não temos como dar suporte nem +fazer garantias além da que nosso trabalho é feito em boa fé e que de fazemos +isso como estratégias para projetos como o . + +#### Limitações da versão 2.0.x alpha + +Pontos de melhoria (isto é, o que NÃO é configurado automaticamente): + +- Não expõe como configurar mais de um nó (porém isso pode simplificar não apenas custos, mas trabalho do administrador que não requer alta disponibilidade) +- Não usa Kubernetes ou K3S (o que não necessariamente é ponto negativo) +- Tsuru Gandalf (isto é, permitir por em produção usando `git push` em vez de `tsuru app-deploy --app meuapp .` ) +- Tsuru MySQL As A Service (alternativa: usar MySQL via app com Docker) +- Tsuru PostgreSQL As A Service (alternativa: usar PostgreSQL via app com docker) +- Tsuru volumes + +A versão do 2.0.x alpha lançaca mesmo apelidada de `tldr.yml` ainda requer que +a pessoa tenha que resolver alguns [Requisitos](#Requisitos). Porém tenha em +mente que ao menos ela não tem aprisionamento tecnológico de forçar que use +um provedor específico de infraestrutura (que geralmente são mais caros). E +nosso público alvo não teria tais recursos financeiros. Porém no futuro talvez +consigamos simplificar ainda mais. + + + #### Requisitos ##### Seu computador local