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

Managing Kubernetes with Istio

Managing Kubernetes with Istio

Developers are moving away from large monolithic apps in favor of small, focused microservices that speed up implementation and improve resiliency. Microservices and containers changed application design and deployment patterns, but along with them brought challenges like service discovery, routing, failure handling, and visibility to microservices.

"Service mesh" architecture was born to handle these features. Applications are getting decoupled internally as microservices, and the responsibility of maintaining coupling between these microservices is passed to the service mesh.Istio, a joint collaboration between IBM, Google and Lyft provides an easy way to create a service mesh that will manage many of these complex tasks automatically, without the need to modify the microservices themselves.

In this meetup we will see how istio can be used to manage traffic in a demo application running microservices.

Mofizur Rahman

June 17, 2019
Tweet

More Decks by Mofizur Rahman

Other Decks in Technology

Transcript

  1. @moficodes Kubernetes Features • Replicasets • Horizontal Auto Scaling •

    Health Check • Self Healing • Rolling Deployment • Rollback • Resource Quota • Service Discovery • Load Balancing • Networking • Cross Cloud • Secret Management • Batch Execution • Storage orchestration
  2. 11

  3. What Do We Do • Ingress and Traffic Management •

    Tracing and Observability • Metrics and Analytics • Identity and Security 18
  4. 25

  5. @moficodes Remember this slide? • Replicasets • Horizontal Auto Scaling

    • Health Check • Self Healing • Rolling Deployment • Rollback • Resource Quota • Service Discovery • Load Balancing • Networking • Cross Cloud • Secret Management • Batch Execution • Storage orchestration
  6. Istio Components 39 Envoy Sidecar Proxy Mixer Enforce Access, Collect

    Metric Pilot Propagate rules to Sidecars Citadel Service to Service and end-user AuthN and AuthZ
  7. Istio Features • Traffic Management Fine-grained control with rich routing

    rules, retries, failovers, and fault injection • Observability Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress 40
  8. Istio Features • Security Strong identity-based AuthN and AuthZ layer,

    secure by default for ingress, egress and service-to-service traffic • Policy Extensible policy engine supporting access controls, rate limits and quotas 41
  9. Envoy High performance proxy which mediates inbound and outbound traffic.

    48 • Dynamic service discovery • Load balancing • TLS termination • HTTP/2 and gRPC proxies • Circuit breakers • Health checks • Split traffic • Fault injection • Rich metrics
  10. Traffic Management • Integrated Ingress and Egress • Error handling,

    retries, circuit breaking • Application knowledge can be leveraged for intelligent routing • Fault injection for end-to-end testing 55
  11. Telemetry • Istio’s Mixer is stateless and does not manage

    any persistent storage of its own • Capable of accumulating a large amount of transient ephemeral state • Designed to be a highly reliable, goal is > 99.999% uptime for any individual instance • Many adapters available: Prometheus, Cloud providers, Datadog, Solarwinds… 56
  12. Performance and Scalability • Code level micro-benchmarks • Synthetic end-to-end

    benchmarks across various scenarios • Realistic complex app end-to-end benchmarks across various settings • Automation to ensure performance doesn’t regress 57
  13. Security • Traffic encryption to defend against the man-in-the-middle attacks

    • Mutual TLS and fine-grained access policies to provide flexible access control • Auditing tools to monitor all of it 58
  14. Final Thoughts There is no free lunch in this world.

    Istio gives you a lot of things built in but it uses some CPU resources. Two articles that cover this. • Ivan Sim — Linkerd 2.0 and Istio Performance Benchmark • Michael Kipper — Benchmarking Istio & Linkerd CPU