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, security 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 talk we will see how istio can be used to manage traffic, gather metrics and enforce policies in a demo application running microservices. We will learn why kubernetes need “service mesh” and how does Istio improve managing Kubernetes workload.

Mofizur Rahman

September 22, 2020
Tweet

More Decks by Mofizur Rahman

Other Decks in Technology

Transcript

  1. @moficodes Agenda • Learn what service mesh is • Why

    does Kubernetes need a service mesh? • How does Istio help manage Kubernetes?
  2. @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
  3. @moficodes What Do We Do • Ingress and Traffic Management

    • Tracing and Observability • Metrics and Analytics • Identity and Security
  4. @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
  5. @moficodes Istio Components Envoy Sidecar Proxy Mixer Enforce Access, Collect

    Metric Pilot Propagate rules to Sidecars Citadel Service to Service and end-user AuthN and AuthZ
  6. @moficodes Istio Features 47 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
  7. @moficodes Istio Features 48 Security Strong identity-based AuthN and AuthZ

    layer, secure by default for ingress, egress and service-to-service traffic Policy Enforcement Extensible policy engine supporting access controls, rate limits and quotas.
  8. @moficodes Envoy High performance proxy which mediates inbound and outbound

    traffic. • Dynamic service discovery • Load balancing • TLS termination • HTTP/2 and gRPC proxies • Circuit breakers • Health checks • Split traffic • Fault injection • Rich metrics
  9. @moficodes 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
  10. @moficodes VirtualService Defines the rules that control how requests for

    a service are routed within an Istio service mesh.
  11. @moficodes DestinationRule Configures the set of policies to be applied

    to a request after VirtualService routing has occurred.
  12. @moficodes Gateway Configures a load balancer operating at the edge

    of the mesh for HTTP/TCP ingress traffic to a mesh application or egress traffic to external services.
  13. @moficodes Sidecar Configures one or more sidecar proxies attached to

    application workloads running inside the mesh.
  14. @moficodes 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…
  15. @moficodes Adapters Modular and extensible component to abstract the details

    of different policy and telemetry backend systems
  16. @moficodes 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
  17. @moficodes 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
  18. @moficodes Final Thoughts There is no free lunch in this

    world. Istio gives you a lot of things built in but it uses some CPU and memory resources.