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

Istio - Service Mesh

Istio - Service Mesh

Um overview sobre Istio e Service Mesh.

Leonardo Ieggli

May 31, 2019
Tweet

More Decks by Leonardo Ieggli

Other Decks in Technology

Transcript

  1. O que queremos resolver/implementar? • Não temos rastreabilidade ponta a

    ponta do que trafega • Segurança (policies, autenticação, etc) • Retry na aplicação • Limite de tráfego por aplicação • Métricas • Regras Service Mesh parece ser um bom approach!!!
  2. Service o quê? Service Mesh é uma rede de microsserviços

    que oferece, de forma consistente: segurança, service discovery, application tracing, monitoring e tolerância a falhas, sem a necessidade de um recurso compartilhado como, por exemplo, um API Gateway. Existem algumas ferramentas para auxiliar a implementação do Service Mesh, como o Linkerd e o Istio.
  3. Defina Istio! "Connect, secure, control, and observe services." O Istio

    é uma plataforma open source para integrar microserviços, gerenciar tráfego, definir polices e agregar dados para telemetria.
  4. Mas o que é Istio!?! Monitoring, tracing, circuit breaker, routing,

    load balacing, fault injection, retries, timeout, mirroring, access control, rate limiting , canary deployment, etc, são algumas das possibilidades providas pelo Istio. E o mais legal: você obtem estes recursos (benefícios) sem alterar seu código fonte.
  5. E como funciona? O Istio insere um container em seu

    POD para atuar como proxy, controlando, assim, toda sua comunicação. Este pod é conhecido como SideCar.
  6. "Ain, mais eu ainda não uso kubernetes" :| Sem problemas!

    Mas se não tem Brastemp, tem Consul né? https://istio.io/docs/setup/consul/
  7. Instalando Istio • Rodando scriptaria do Istio: https://istio.io/docs/setup/kubernetes/install/kubernetes/ • Aplicando

    do Catalog do Rancher – Após subir, tem que aplicar um label na namespace onde se quer injetar o sidecar container do Rancher: kubectl label namespace $your-namesapce istio-injection=enabled • Uma série de resources será criado dentro do Kubernetes, incluindo alguns Custom Resource Definitions (CRDs), que é onde configuraremos as features do Istio