Learn Istio Service Mesh

Table of Contents

  • Introduction
    • Intended Audiencei
    • Source Codeii
  • Getting Started
    • What is a Service Mesh2
    • Introducing Istio5
    • Architecture and Components7
    • Conclusion9
  • Setting up Kubernetes and Istio
    • Installing Hypervisor/VirtualBox11
    • Installing Minikube13
    • Running Minikube15
    • Kubernetes Command Line Interface (CLI)16
    • Installing Istio19
    • Deplying Istio to Kubernetes cluster21
    • Enable automatic sidecar injection23
    • Uninstalling Istio24
    • Conclusion25
  • Traffic Management
    • Deploying Sample Services27
    • Acccesing Deployed Services31
    • Using Istio Gateway34
    • Virtual Services34
    • Service Entries40
    • Basic Traffic Splitting45
    • Advanced Traffic Splitting58
    • Dark Traffic (Mirroring)65
    • Sidecar Proxy67
    • Conclusion70
  • Service Resiliency
    • What is Resiliency?71
    • How to Achieve Resiliency?72
    • Service Resiliency Strategies74
    • Istio Monitoring and Tracing Tools76
    • Service Mesh Observability with Kiali80
    • Distributed Tracing with Jaeger86
    • Istio Resiliency Features90
    • Circuit Breakers95
    • Policies and Telemetry99
    • Conclusion106
  • Testing Services
    • Making Service Fail108
    • Injecting HTTP Delays109
    • Injecting HTTP Aborts115
    • Advanced Scenarios117
    • Conclusion119
  • Security
    • Istio Security Architecture121
    • Authentication122
    • Identity123
    • Authorization130
    • Examples136
    • Conclusion142
  • Istio in Practice
    • Zero Downtime Releases145
    • A/B Testing153
    • Debugging Services with Istio155
    • Rate Limiting163
    • Sticky Sessions171
    • gRPC and Istio176
    • Setting up SSL Certificates183
    • Conclusion194
  • Appendix I: Kubernetes CLI Cheatsheet
    • Basic Resource Information196
    • Detailed Resource Information197
    • Sorting and Filtering198
    • Labelling and Annotating Resources199
    • Creating, Editing, and Deleting Resources200
    • Advanced Commands201
    • Resource Names202
  • Appendix II: Attribute List
    • Attribute List203