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

MVP de Tsuru no provisionador Kubernetes k8s #22

Open fititnt opened 5 years ago

fititnt commented 5 years ago

Questão sobre termos um Produto viável mínimo (MVP, de Minimum Viable Product) relacionado do Tsuru no provisionador Kubernetes (simples, sem HA, nem do Tsuru nem do Kubernetes) para possivelmente ser considerado no Águia Pescadora.

Estou conseguindo encontrar mais facilmente conteúdo sobre como deixar uma Águia Pescadora mais estável para resolver questões como https://github.com/EticaAI/aguia-pescadora/issues/17 e https://github.com/EticaAI/aguia-pescadora/issues/20 caso o provisionador seja Kubernetes.

Um dos motivos para não usar kubernetes desde o início seria o fato de estrutura mínima para ter algo em produção é grande. Porém nosso cluster atual que foi planejado para até mesmo conseguir incorporarar as Elefante Bornéu em HA https://github.com/fititnt/cplp-aiops/issues/45 em tese também permitiria teoricamente permite até mesmo Kubernetes em HA. Então pelo menos a Águia Pescadora poderia ter como provisionador o Kubernetes e ainda ficar dentro da ideia do Como re-criar um produto mínimo viável do Cluster Tsuru Águia Pescadora #5.

Pelo que andei lendo também existe um projeto chamado k3s, https://k3s.io/ que teria suporte a Kubernetes mesmo em hosts com apenas 512MB de RAM. Outro ponto é que existe o Usernetes https://github.com/rootless-containers/usernetes que permite pretende permitir rodar Kubernetes mesmo sem privilégio root.

E sim, já existem testes de rodar Kubernetes (ou provisionador com interface equivalente) até mesmo no sistema operacional Android sem root.

Posso voltar atrás e manter sem usar Kubernetes, porém se o trabalho não for muito, mas muito maior, ainda em teoria valeria a pena ter uma Águia Pescadora já em Kubernetes.

fititnt commented 5 years ago

Então, eu nesse exato momento ainda não faço ideia de por onde começar (se pelo Tsuru se instalar pelo Kubernetes) ou via Kubernetes instalar o Tsuru.

Porém conforme essa mensagem aqui https://gitter.im/tsuru/tsuru?at=5ba55a0d0cfe7f30f1cbcf53 parece que o ideal seria começar pelo Kubernetes e dai usar https://github.com/gfleury/tsuru-helm-chart como ponto de partida. Já é algo.

Bem, teoricamente seria possível rodar um cluster de kubernetes full HA com três nós (embora alguns lugares tendam a sugerir usar 6). Então vou assumir que mesmo que tenha que customizar e muito para nossas necessidades tenha como talvez por também o Tsuru replicado em HA (ou em pelo menos dois nós).

E sim, já estou assumindo que não vai dar para migrar antes de desativar a charlie.

fititnt commented 5 years ago

Ah, e algo que talvez seria mais rapido para mim neste momento seria adicionar o cluster do Kubernetes de um Tsuru instalado diretamente pela Instalação padrão #5 já com os extras do NGinx com OpenResty no https://github.com/EticaAI/aguia-pescadora/tree/master/diario-de-bordo/tsuru-inicializacao++.

Porém pela quantidade de material que estou encontrando com Tsuru relacionado a Kubernetes talvez já tenham feito boa parte do que eu tentaria reimplementar com OpenResty.

Humm...

fititnt commented 5 years ago
fititnt commented 5 years ago

Ainda que usar microk8s seja super simples de instalar kubernetes para testes, creio que é menos flexível (e menos testado) do que o minikube para deploy simples.

Então o commit https://github.com/EticaAI/aguia-pescadora-ansible-playbooks/commit/4a6307a7819019294e7848a04364dfed1ce89d5c pode ser ignorado.