Service Mesh Field Report #12
Vier vragen, en je leest elke Envoy-mesh
Dit is een Nederlandse vertaling. Het report verscheen eerst in het Duits. Lees het Duitse origineel
Vorige week stond hier: bijna elke mesh draait op dezelfde motor. Vandaag haal ik hem uit elkaar. Wees niet bang voor de diepte, het zijn precies vier onderdelen.
Elke request die door Envoy loopt, beantwoordt achtereenvolgens vier vragen.
Listener: waar komt het verkeer binnen? Poort, protocol, filter chain. Hier valt de beslissing of er überhaupt iemand luistert.
Route: welke regel past? Host, path en headers worden gematcht, de request krijgt zijn bestemming toegewezen.
Cluster: hoe is het doel geconfigureerd? Load balancing, TLS, timeouts, circuit breakers. Het doel als groep, met operationele regels.
Endpoint: welke concrete adressen zijn op dit moment gezond? Pas hier wordt configuratie een echt pakket naar een echt IP.
Dat is de hele motor. Al het andere is vertaling. Een Istio-Gateway schrijft listeners. Een VirtualService schrijft routes. Een DestinationRule schrijft clusters, subsets en circuit breakers incluis. Een ServiceEntry maakt clusters en endpoints aan voor externe doelen.
Wie report #8 heeft gelezen, ziet het nu: istioctl proxy-config vraagt naar listeners, routes, clusters en endpoints, omdat het diagnosepad precies deze vier vragen doorloopt. Daarnaast een vijfde vakje voor certificaten, secrets. Ook de Envoy-flags vallen op hun plek: NR betekent dat vraag twee geen antwoord heeft. UO strandt op vraag drie, daar woont de circuit breaker. UF op vraag vier, het adres antwoordt niet.
En omdat Kuma, Consul en de Istio-distributies op dezelfde motor draaien, lees je hun debug-output met dezelfde vier vragen. Een config_dump uit de Envoy-admin-interface ziet er overal hetzelfde uit.
Voor de organisatie betekent dat: train je team niet op een product, train het op de motor. Product-YAML leer je binnen weken opnieuw. De vier vragen gaan met jullie mee door elke platformbeslissing.
Volgende week wordt het concreet: de verhuizing weg van AWS App Mesh, voordat eind september het licht uitgaat. Als raamwerk dat je kunt meenemen, en met een eerlijk antwoord op de vraag wanneer Istio de juiste bestemming is en wanneer niet.
Welke van de vier vragen heeft jullie bij de laatste debugsessie het antwoord geweigerd?
Uit de praktijk, voor de praktijk
Achter elk report zitten patronen uit echte mesh-omgevingen. Klinkt er één als jullie cluster? In een architectuurgesprek kijken we er samen naar.
Architectuurgesprek aanvragen