Demonstrações práticas de roteamento dinâmico em containers, plugins de API Gateway e configuração do Envoy.


🗺️ Autodescoberta de Serviços com Traefik em Mermaid

sequenceDiagram
    autonumber
    actor DevOps as Engenheiro DevOps
    actor Docker as Docker Daemon
    actor Traefik as Traefik Ingress
    actor User as Usuário Web

    DevOps->>Docker: docker run --label "traefik.http.routers.app.rule=Host(`meuapp.com`)"
    Docker-->>Traefik: Evento de Novo Container Criado
    Note over Traefik: Registra Rota e Emite Certificado SSL Automaticamente! 🔒
    User->>Traefik: GET https://meuapp.com
    Traefik->>Docker: Encaminha para o novo container ⚡

📄 Exemplo 1: Configuração Básica do Envoy Proxy (envoy.yaml)

static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 10000 }
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          route_config:
            name: local_route
            virtual_hosts:
            - name: local_service
              domains: ["*"]
              routes:
              - match: { prefix: "/" }
                route: { cluster: service_google }
          http_filters:
          - name: envoy.filters.http.router
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

  clusters:
  - name: service_google
    connect_timeout: 0.25s
    type: LOGICAL_DNS
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: service_google
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address: { address: www.google.com, port_value: 443 }
    transport_socket:
      name: envoy.transport_sockets.tls
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext