Istio
App-as-Code
Service mesh — ruch, bezpieczeństwo i obserwowalność deklaratywnie.
Istio to service mesh dla Kubernetes, który dodaje warstwę sieciową między usługami: szyfrowanie mTLS, sterowanie ruchem (routing, canary, retry), polityki dostępu i pełną obserwowalność — bez zmian w kodzie aplikacji. Wszystko konfigurujesz deklaratywnie przez obiekty Kubernetes (CRD), więc zachowanie sieci między usługami staje się wersjonowanym kodem.
Kiedy używać
- Masz wiele usług i potrzebujesz mTLS, routingu i polityk bez zmian w kodzie.
- Robisz zaawansowane wdrożenia (canary, mirroring, A/B).
- Chcesz spójnej obserwowalności ruchu między usługami.
Przykład użycia
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata: { name: web }
spec:
hosts: [web]
http:
- route:
- { destination: { host: web, subset: v1 }, weight: 90 }
- { destination: { host: web, subset: v2 }, weight: 10 }
Warto wiedzieć
- Bogaty, ale cięższy od lekkich meshy jak Linkerd.
- Działa na Kubernetes; polityki wersjonujesz jak manifesty.