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

Service Meshes

Eberhard Wolff
September 04, 2019

Service Meshes

Einführung in Service Meshes am Beispiel von Istio. Zeigt Features im Bereich Monitoring, Resilience, Routing und Sicherheit sowie einen Vergleich mit Linkerd 2 und ein Vergleich zu Linkerd 2.

Eberhard Wolff

September 04, 2019
Tweet

More Decks by Eberhard Wolff

Other Decks in Technology

Transcript

  1. 31

  2. 37

  3. apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: order-retry spec: hosts: -

    order.default.svc.cluster.local http: - retries: attempts: 20 perTryTimeout: 5s retryOn: connect-failure,5xx timeout: 10s route: - destination: host: order.default…
  4. 45

  5. apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: order-circuit-breaker spec: host: order.default.svc.cluster.local

    trafficPolicy: connectionPool: tcp: maxConnections: 1 http: http1MaxPendingRequests: 1 http2MaxRequests: 1
  6. 48

  7. apiVersion: networking.istio.io/… kind: DestinationRule metadata: name: frontend v2 version: "2"

    v1 version: "1" spec: host: frontend subsets: - name: v2 labels: version: "2" - name: v1 labels: version: "1" "/neu" frontend v2 frontend v1 apiVersion: networking.istio.io/… kind: VirtualService metadata: name: frontend-ingress spec: hosts: - "*" http: - match: - uri: prefix: "/neu" route: - destination: host: frontend subset: v2 - route: - destination: host: frontend subset: v1
  8. apiVersion: split.smi-spec.io/v1alpha1 kind: TrafficSplit metadata: name: my-weights spec: service: service

    backends: - service: service-1 weight: 100m - service: service-2 weight: 200m - service: service-3 weight: 300m
  9. apiVersion: access.smi-spec.io/v1alpha1 kind: TrafficTarget metadata: name: service-2-api destination: kind: ServiceAccount

    name: service-2 specs: - kind: HTTPRouteGroup name: api-route matches: [api] sources: - kind: ServiceAccount name: service-1 apiVersion: specs.smi-spec.io/v1alpha1 kind: HTTPRouteGroup metadata: name: api-route matches: - name: api pathRegex: /api methods: ["GET"] ✘ ✘