Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker e CoreOS: escalando serviços usando fleet

Docker e CoreOS: escalando serviços usando fleet

Slides da palestra apresentada na trilha Desenvolvimento e Testes da AgileBrazil 2015, em 22/10/2015.

Guilherme de Maio, nirev

October 22, 2015
Tweet

More Decks by Guilherme de Maio, nirev

Other Decks in Programming

Transcript

  1. Docker e CoreOS: Docker e CoreOS: escalando serviços escalando serviços

    usando fleet usando fleet @nirev http://slides.com/nirev <[email protected]>
  2. Quem sou eu? Quem sou eu? Greyjoy: time de busca

    e data science Guilherme Nogueira Ex-Desenvolvedor @ Elo7
  3. Greyjoy: Busca e Greyjoy: Busca e Data Science Data Science

    Todos rodando em containers Docker no CoreOS
  4. Antes Antes Imagem X Não dava pra testar localmente, apenas

    na AWS Ambiente local != produção Muito difícil de recriar do zero Imagem Y
  5. Antes - pt2 Antes - pt2 Código que cria a

    máquina == Fácil de recriar Mesma stack de integração e produção Muito chato de testar localmente, mas dá (Vagrant + hacks) Ambiente local != produção
  6. Gerenciando serviços Gerenciando serviços $ fleetctl list-unit-files UNIT HASH DSTATE

    STATE TMACHINE goodbye.service d4c61bf launched launched 85c0c595.../172.17.8.102 hello.service e55c0ae launched launched 113f16a7.../172.17.8.103 $ fleetctl list-machines MACHINE IP METADATA 148a18ff-6e95-4cd8-92da-c9de9bb90d5a 10.10.1.1 search_api=true,env=integration 491586a6-508f-4583-a71d-bfc4d146e996 10.10.1.2 search_api=true,env=integration c9de9451-6a6f-1d80-b7e6-46e996bfc4d1 10.10.1.3 search_api=true,env=integration $ fleetctl list-units UNIT MACHINE ACTIVE SUB global-unit.service 148a18ff.../10.10.1.1 active running global-unit.service 491586a6.../10.10.1.2 active running global-unit.service c9de9451.../10.10.1.3 active running
  7. Gerenciando Serviços Gerenciando Serviços $ fleetctl list-units UNIT MACHINE ACTIVE

    SUB global-unit.service 148a18ff.../10.10.1.1 active running global-unit.service 491586a6.../10.10.1.2 active running global-unit.service c9de9451.../10.10.1.3 active running my-app.service 491586a6.../10.10.1.2 active running $ fleetctl start my-app
  8. Gerenciando Serviços Gerenciando Serviços $ fleetctl start my-app@{1..2} $ fleetctl

    list-units UNIT MACHINE ACTIVE SUB global-unit.service 148a18ff.../10.10.1.1 active running global-unit.service 491586a6.../10.10.1.2 active running global-unit.service c9de9451.../10.10.1.3 active running [email protected] 491586a6.../10.10.1.2 active running [email protected] c9de9451.../10.10.1.3 active running
  9. Mas... e os Mas... e os problemas? problemas? logs split-brain

    etcd monitoração estado dos serviços (qual versão está rodando?)
  10. Container para Monitorar containers Log aggregators: Docker 1.8 tem suporte

    para "log drivers" etcd split-brain: MONITORE sempre! não é comum, mas pode acontecer estado dos serviços: monitoração, métricas, autoscaling, alertas