SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
SERVICE MESH FOR
BEGINNER
ISTIO & K8S
~ Mien Dinh ~
Contents
I. Service Mesh Definition
II. Istio & K8s
III. Istio Deployment Model
IV. Case Study - Mesh federation
V. References
I. SERVICE MESH DEFINITION
● A service mesh is a configurable, low‑latency infrastructure
layer designed to handle a high volume of network‑based
interprocess communication among application infrastructure
services using application programming interfaces (APIs).
● A service mesh ensures that communication among
containerized and often ephemeral application infrastructure
services is fast, reliable, and secure.
I. SERVICE MESH DEFINITION
● The mesh provides critical capabilities including:
○ Service Discovery
○ Load Balancing
○ Encryption
○ Observability
○ Traceability
○ Authentication and Authorization,
○ support for the Circuit Breaker Pattern.
I. SERVICE MESH DEFINITION
● Data plane:
- Touches every packet/request.
- Responsible for service discovery, health checking, routing, load
balancing, authentication/authorization, and observability.
- Eg: Linkerd, NGINX, HAProxy, Envoy, Traefik
● Control plane:
- Provides policy and configuration for all of the running data planes in
the mesh.
- Does not touch any packets/requests in the system.
- The control plane turns all of the data planes into a distributed
system.
- Eg: Istio, Nelson, SmartStack
II. ISTIO & K8S
● Remind K8S
II. ISTIO & K8S
● Istio, backed by Google, IBM, and Lyft, is currently the
best‑known service mesh architecture.
● Kubernetes, which was originally designed by Google, is
currently the only container orchestration framework
supported by Istio.
● Istio core concepts
○ Traffic Management
○ Policies and Security
○ Observability
○ Performance and Scalability
III. ISTIO & K8S - Istio’s key benefits
A service mesh is not a “mesh of services.” It is a mesh of
Layer 7 proxies that microservices can use to completely
abstract the network away. Service meshes are designed to
solve the many challenges developers face when talking to
remote endpoints:
● Traffic control features including routing rules,
retries, failovers, and fault injection
● Policy enforcement including access controls,
rate limits and quotas
● Built-in metrics, logs, and traces for all traffic
within a cluster
● Secure service-to-service communication
● Layer 7 load balancing
III. ISTIO & K8S - Istio Architecture
● GALLEY
- Configuration and Distribution
● PILOT
- Connectivity and Communication
- Service Discovery
- Traffic Management
- Resilience
● CITADEL
- Polit Enforcement
- Telemetry
- Encryption and Authentication
● MIXER
- Authentication
- Security
- Monitoring and Observability
III. ISTIO & K8S - Istio Architecture - Envoy
- Originally built at Lyft, Envoy is a C++ distributed proxy, runs
alongside each application, abstracts the network.
- Envoy is a data plane, specially designed for large service
mesh architectures.
- Envoy sidecar proxies deployed as an edge proxy can be
controlled using Istio or another control plane.
- Consistently control and observe what’s going on in your
network.
- The Envoy sidecar proxy will handle most network features–
service discovery, logging, monitoring, tracing, authentication
and authorization.
- Sidecar can be configured via the control plane.
- Developers can focus on the business logic.
- What is Envoy?
- The network should be transparent to applications
- When network and application problems do occur it should
be easy to determine the source of the problem.
III. ISTIO & K8S - Istio Architecture - Envoy
● L3 and L4 filters– to HTTP filters if it’s a protocol Envoy can
operate as an L7 layer
● Can modify data at the L4 layer:
○ HTTP headers.
○ Check and guide traffic.
○ Call out to an auth service,
○ Transcode between protocols.
● Envoy’s filters are powerful and configurable
○ Custom filters can be added via the data plane API
○ Envoy has a plug-in architecture for observability
outputs.
● Custom extensions
● Data plane API: https://github.com/envoyproxy/data-plane-api
(Istio control plane and data plane traffic management)
III. ISTIO & K8S - Istio Services & Pods
● https://istio.io/docs/setup/install/kubernetes/
● https://istio.io/docs/setup/platform-setup/minikube/
● Verify Istio Service & Pods after installing
○ $kubectl get svc -n istio-system
○ $kubectl get pods -n istio-system
III. ISTIO & K8S - Data plane - Inject Sidecar
● Auto inject sidecar by
namespace
$ kubectl label namespace <namespace>
istio-injection=enabled
● Inject sidecar manually
$ istioctl kube-inject -f <your-app-spec>.yaml |
kubectl apply -f -
Route Traffic in Istio Service Mesh
● K8s CRD (Customer
Resource Definition)
● Virtual services
● Destination rules
● Gateways
● Service entries
● Sidecars
III. ISTIO & K8S - ISTIO PROXY
vid@vid:~$ kubectl exec -it $(kubectl get pod | grep productpage | awk '{print $1}') -c
istio-proxy -- ps -ef
UID PID PPID C STIME TTY TIME CMD
istio-p+ 1 0 0 Nov05 ? 00:05:39 /usr/local/bin/pilot-agent proxy
istio-p+ 19 1 0 Nov05 ? 00:13:31 /usr/local/bin/envoy -c /etc/ist
istio-p+ 131 0 0 07:33 pts/0 00:00:00 ps -ef
vid@vid:~$
III. ISTIO & K8S - Observability
● Grafana
● Prothemeus
● Kiali
● …..
III. ISTIO & K8S - Istio Benchmarks
Performance summary for Istio 1.3.4
● Load tests mesh:
○ 1000 services
○ 2000 sidecars
○ 70,000 mesh-wide RPS.
● Results:
● The Envoy proxy uses 0.6 vCPU, 50 MB memory / 1000 RPS
● The istio-telemetry service uses 0.6 vCPU per 1000 mesh-wide RPS.
● Pilot uses 1 vCPU and 1.5 GB of memory.
● The Envoy proxy adds 8ms to the 90th percentile latency.
ISTIO DEPLOYMENT MODEL - Cluster
Single Cluster
Multiple Clusters
Single Network
Multiple Network
ISTIO DEPLOYMENT MODEL - Control Plane
Single Control Plane Shared Control Plane Across multiple clusters, zones,
or regions.
Case Study - Mesh federation
1. Mesh federation is the act of exposing services between
meshes and enabling communication across mesh
boundaries.
2. Each mesh may expose a subset of its services to enable
one or more other meshes to consume the exposed
services.
3. Use mesh federation to enable communication between
meshes in a multi-mesh deployment.
4. Multiple meshes afford the following capabilities beyond that
of a single mesh:
- Organizational boundaries: lines of business
- Service name or namespace reuse: multiple distinct uses of
the default namespace
- Stronger isolation: isolating test workloads from production
workloads
Case Study - Mesh federation
Should we use Istio ?
● What is the relevant Istio deployment model ?
● When we should use?
● What kind of services?
● Should we use Istio in both GCP and Datacenter?
● Use Across multiple clusters, zones, or regions Istio deployment model
○ High Available Control Plane
○ Centering observation monitoring
○ Service Breaker
○ ….
References
1. https://sysadmincasts.com/episodes/63-istio
2. https://www.nginx.com/blog/what-is-a-service-mesh/
3. https://blog.envoyproxy.io/the-universal-data-plane-api-d15cec7a
4. https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/arch_overview
5. https://blog.envoyproxy.io/service-mesh-data-plane-vs-control-plane-2774e720f7fc
6. https://dzone.com/articles/istio-service-mesh-data-plane
7. https://learning.oreilly.com/library/view/introducing-istio-service/9781492052630/
8. https://learning.oreilly.com/library/view/istio-up-and/9781492043775/ch01.html
9. https://istio.io/docs/tasks/telemetry/distributed-tracing/jaeger/
10. https://learning.oreilly.com/library/view/introducing-istio-service/9781492052630/ch03.html
11. https://dzone.com/articles/istio-service-mesh-data-plane
12. https://learning.oreilly.com/library/view/introducing-istio-service/9781492052630/ch03.html
13. https://kubernetes.io/docs/reference/kubectl/cheatsheet/
14. https://www.nginx.com/blog/what-is-a-service-mesh/
15. https://github.com/robinagandhi/CYBR4360-8366/blob/master/Firewalls-iptables.md
16. https://www.tetrate.io/blog/envoybasicsandextensibility/
17. https://medium.com/faun/understanding-how-envoy-sidecar-intercept-and-route-traffic-in-istio-service-m
esh-20fea2a78833
THANK YOU

Mais conteúdo relacionado

Mais procurados

Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with dockerVishwas N
 
Gentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetesGentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetesNills Franssens
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideBytemark
 
containerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerdcontainerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerdDocker, Inc.
 
Docker and containerization
Docker and containerizationDocker and containerization
Docker and containerizationAmulya Saxena
 
Virtualized Containers - How Good is it - Ananth - Siemens - CC18
Virtualized Containers - How Good is it - Ananth - Siemens - CC18Virtualized Containers - How Good is it - Ananth - Siemens - CC18
Virtualized Containers - How Good is it - Ananth - Siemens - CC18CodeOps Technologies LLP
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with KubernetesOVHcloud
 
Kubernetes Networking - Sreenivas Makam - Google - CC18
Kubernetes Networking - Sreenivas Makam - Google - CC18Kubernetes Networking - Sreenivas Makam - Google - CC18
Kubernetes Networking - Sreenivas Makam - Google - CC18CodeOps Technologies LLP
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetescsegayan
 
Kubernetes a comprehensive overview
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overviewGabriel Carro
 
Production ready tooling for microservices on kubernetes
Production ready tooling for microservices on kubernetesProduction ready tooling for microservices on kubernetes
Production ready tooling for microservices on kubernetesChandresh Pancholi
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGabriel Carro
 
Microservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many moreMicroservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many moreVishwas N
 
Containers and workload security an overview
Containers and workload security an overview Containers and workload security an overview
Containers and workload security an overview Krishna-Kumar
 
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad AfanahOn-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad AfanahDocker, Inc.
 
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...Docker, Inc.
 
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT SystemsIntegrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT SystemsDocker, Inc.
 
Introducing LinuxKit
Introducing LinuxKitIntroducing LinuxKit
Introducing LinuxKitDocker, Inc.
 

Mais procurados (20)

Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
Gentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetesGentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetes
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
containerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerdcontainerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerd
 
Docker and containerization
Docker and containerizationDocker and containerization
Docker and containerization
 
Virtualized Containers - How Good is it - Ananth - Siemens - CC18
Virtualized Containers - How Good is it - Ananth - Siemens - CC18Virtualized Containers - How Good is it - Ananth - Siemens - CC18
Virtualized Containers - How Good is it - Ananth - Siemens - CC18
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with Kubernetes
 
Kubernetes Networking - Sreenivas Makam - Google - CC18
Kubernetes Networking - Sreenivas Makam - Google - CC18Kubernetes Networking - Sreenivas Makam - Google - CC18
Kubernetes Networking - Sreenivas Makam - Google - CC18
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Kubernetes a comprehensive overview
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overview
 
Production ready tooling for microservices on kubernetes
Production ready tooling for microservices on kubernetesProduction ready tooling for microservices on kubernetes
Production ready tooling for microservices on kubernetes
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Microservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many moreMicroservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many more
 
Containers and workload security an overview
Containers and workload security an overview Containers and workload security an overview
Containers and workload security an overview
 
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad AfanahOn-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
 
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
 
Docker Datacenter - CaaS
Docker Datacenter - CaaSDocker Datacenter - CaaS
Docker Datacenter - CaaS
 
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT SystemsIntegrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
 
Introducing LinuxKit
Introducing LinuxKitIntroducing LinuxKit
Introducing LinuxKit
 

Semelhante a Istio Service Mesh for Beginners

Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Ram Vennam
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksMohammad Asif Siddiqui
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...WSO2
 
ISTIO Deep Dive
ISTIO Deep DiveISTIO Deep Dive
ISTIO Deep DiveYong Feng
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...apidays
 
Comparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesComparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesMirantis
 
Istio and Kubernetes Relationship
Istio and Kubernetes RelationshipIstio and Kubernetes Relationship
Istio and Kubernetes RelationshipKnoldus Inc.
 
Managing microservices with Istio Service Mesh
Managing microservices with Istio Service MeshManaging microservices with Istio Service Mesh
Managing microservices with Istio Service MeshRafik HARABI
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your AppKarenBruner
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your AppStackRox
 
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023SaiLinnThu2
 
Introduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetupIntroduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetupDaniel Ciruli
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Judy Breedlove
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API ManagementWSO2
 
Monoliths to Microservices: App Transformation - Jacksonville Workshop Slides
Monoliths to Microservices: App Transformation - Jacksonville Workshop SlidesMonoliths to Microservices: App Transformation - Jacksonville Workshop Slides
Monoliths to Microservices: App Transformation - Jacksonville Workshop SlidesTiera Fann, MBA
 
Aci presentation
Aci presentationAci presentation
Aci presentationJoe Ryan
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyLee Calcote
 

Semelhante a Istio Service Mesh for Beginners (20)

Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice Frameworks
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
ISTIO Deep Dive
ISTIO Deep DiveISTIO Deep Dive
ISTIO Deep Dive
 
Service mesh
Service meshService mesh
Service mesh
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
 
Comparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesComparison of Current Service Mesh Architectures
Comparison of Current Service Mesh Architectures
 
Istio and Kubernetes Relationship
Istio and Kubernetes RelationshipIstio and Kubernetes Relationship
Istio and Kubernetes Relationship
 
Managing microservices with Istio Service Mesh
Managing microservices with Istio Service MeshManaging microservices with Istio Service Mesh
Managing microservices with Istio Service Mesh
 
Istio
IstioIstio
Istio
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your App
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your App
 
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023
Istio Ambient Mesh in ACTION - Istio UG Singapore - 22June,2023
 
Introduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetupIntroduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetup
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Microservices on kubernetes
Microservices on kubernetesMicroservices on kubernetes
Microservices on kubernetes
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
 
Monoliths to Microservices: App Transformation - Jacksonville Workshop Slides
Monoliths to Microservices: App Transformation - Jacksonville Workshop SlidesMonoliths to Microservices: App Transformation - Jacksonville Workshop Slides
Monoliths to Microservices: App Transformation - Jacksonville Workshop Slides
 
Aci presentation
Aci presentationAci presentation
Aci presentation
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxy
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Istio Service Mesh for Beginners

  • 1. SERVICE MESH FOR BEGINNER ISTIO & K8S ~ Mien Dinh ~
  • 2. Contents I. Service Mesh Definition II. Istio & K8s III. Istio Deployment Model IV. Case Study - Mesh federation V. References
  • 3. I. SERVICE MESH DEFINITION ● A service mesh is a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). ● A service mesh ensures that communication among containerized and often ephemeral application infrastructure services is fast, reliable, and secure.
  • 4. I. SERVICE MESH DEFINITION ● The mesh provides critical capabilities including: ○ Service Discovery ○ Load Balancing ○ Encryption ○ Observability ○ Traceability ○ Authentication and Authorization, ○ support for the Circuit Breaker Pattern.
  • 5. I. SERVICE MESH DEFINITION ● Data plane: - Touches every packet/request. - Responsible for service discovery, health checking, routing, load balancing, authentication/authorization, and observability. - Eg: Linkerd, NGINX, HAProxy, Envoy, Traefik ● Control plane: - Provides policy and configuration for all of the running data planes in the mesh. - Does not touch any packets/requests in the system. - The control plane turns all of the data planes into a distributed system. - Eg: Istio, Nelson, SmartStack
  • 6. II. ISTIO & K8S ● Remind K8S
  • 7. II. ISTIO & K8S ● Istio, backed by Google, IBM, and Lyft, is currently the best‑known service mesh architecture. ● Kubernetes, which was originally designed by Google, is currently the only container orchestration framework supported by Istio. ● Istio core concepts ○ Traffic Management ○ Policies and Security ○ Observability ○ Performance and Scalability
  • 8. III. ISTIO & K8S - Istio’s key benefits A service mesh is not a “mesh of services.” It is a mesh of Layer 7 proxies that microservices can use to completely abstract the network away. Service meshes are designed to solve the many challenges developers face when talking to remote endpoints: ● Traffic control features including routing rules, retries, failovers, and fault injection ● Policy enforcement including access controls, rate limits and quotas ● Built-in metrics, logs, and traces for all traffic within a cluster ● Secure service-to-service communication ● Layer 7 load balancing
  • 9. III. ISTIO & K8S - Istio Architecture ● GALLEY - Configuration and Distribution ● PILOT - Connectivity and Communication - Service Discovery - Traffic Management - Resilience ● CITADEL - Polit Enforcement - Telemetry - Encryption and Authentication ● MIXER - Authentication - Security - Monitoring and Observability
  • 10. III. ISTIO & K8S - Istio Architecture - Envoy - Originally built at Lyft, Envoy is a C++ distributed proxy, runs alongside each application, abstracts the network. - Envoy is a data plane, specially designed for large service mesh architectures. - Envoy sidecar proxies deployed as an edge proxy can be controlled using Istio or another control plane. - Consistently control and observe what’s going on in your network. - The Envoy sidecar proxy will handle most network features– service discovery, logging, monitoring, tracing, authentication and authorization. - Sidecar can be configured via the control plane. - Developers can focus on the business logic. - What is Envoy? - The network should be transparent to applications - When network and application problems do occur it should be easy to determine the source of the problem.
  • 11. III. ISTIO & K8S - Istio Architecture - Envoy ● L3 and L4 filters– to HTTP filters if it’s a protocol Envoy can operate as an L7 layer ● Can modify data at the L4 layer: ○ HTTP headers. ○ Check and guide traffic. ○ Call out to an auth service, ○ Transcode between protocols. ● Envoy’s filters are powerful and configurable ○ Custom filters can be added via the data plane API ○ Envoy has a plug-in architecture for observability outputs. ● Custom extensions ● Data plane API: https://github.com/envoyproxy/data-plane-api (Istio control plane and data plane traffic management)
  • 12. III. ISTIO & K8S - Istio Services & Pods ● https://istio.io/docs/setup/install/kubernetes/ ● https://istio.io/docs/setup/platform-setup/minikube/ ● Verify Istio Service & Pods after installing ○ $kubectl get svc -n istio-system ○ $kubectl get pods -n istio-system
  • 13. III. ISTIO & K8S - Data plane - Inject Sidecar ● Auto inject sidecar by namespace $ kubectl label namespace <namespace> istio-injection=enabled ● Inject sidecar manually $ istioctl kube-inject -f <your-app-spec>.yaml | kubectl apply -f -
  • 14. Route Traffic in Istio Service Mesh ● K8s CRD (Customer Resource Definition) ● Virtual services ● Destination rules ● Gateways ● Service entries ● Sidecars
  • 15. III. ISTIO & K8S - ISTIO PROXY vid@vid:~$ kubectl exec -it $(kubectl get pod | grep productpage | awk '{print $1}') -c istio-proxy -- ps -ef UID PID PPID C STIME TTY TIME CMD istio-p+ 1 0 0 Nov05 ? 00:05:39 /usr/local/bin/pilot-agent proxy istio-p+ 19 1 0 Nov05 ? 00:13:31 /usr/local/bin/envoy -c /etc/ist istio-p+ 131 0 0 07:33 pts/0 00:00:00 ps -ef vid@vid:~$
  • 16. III. ISTIO & K8S - Observability ● Grafana ● Prothemeus ● Kiali ● …..
  • 17. III. ISTIO & K8S - Istio Benchmarks Performance summary for Istio 1.3.4 ● Load tests mesh: ○ 1000 services ○ 2000 sidecars ○ 70,000 mesh-wide RPS. ● Results: ● The Envoy proxy uses 0.6 vCPU, 50 MB memory / 1000 RPS ● The istio-telemetry service uses 0.6 vCPU per 1000 mesh-wide RPS. ● Pilot uses 1 vCPU and 1.5 GB of memory. ● The Envoy proxy adds 8ms to the 90th percentile latency.
  • 18. ISTIO DEPLOYMENT MODEL - Cluster Single Cluster Multiple Clusters Single Network Multiple Network
  • 19. ISTIO DEPLOYMENT MODEL - Control Plane Single Control Plane Shared Control Plane Across multiple clusters, zones, or regions.
  • 20. Case Study - Mesh federation 1. Mesh federation is the act of exposing services between meshes and enabling communication across mesh boundaries. 2. Each mesh may expose a subset of its services to enable one or more other meshes to consume the exposed services. 3. Use mesh federation to enable communication between meshes in a multi-mesh deployment. 4. Multiple meshes afford the following capabilities beyond that of a single mesh: - Organizational boundaries: lines of business - Service name or namespace reuse: multiple distinct uses of the default namespace - Stronger isolation: isolating test workloads from production workloads
  • 21. Case Study - Mesh federation Should we use Istio ? ● What is the relevant Istio deployment model ? ● When we should use? ● What kind of services? ● Should we use Istio in both GCP and Datacenter? ● Use Across multiple clusters, zones, or regions Istio deployment model ○ High Available Control Plane ○ Centering observation monitoring ○ Service Breaker ○ ….
  • 22. References 1. https://sysadmincasts.com/episodes/63-istio 2. https://www.nginx.com/blog/what-is-a-service-mesh/ 3. https://blog.envoyproxy.io/the-universal-data-plane-api-d15cec7a 4. https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/arch_overview 5. https://blog.envoyproxy.io/service-mesh-data-plane-vs-control-plane-2774e720f7fc 6. https://dzone.com/articles/istio-service-mesh-data-plane 7. https://learning.oreilly.com/library/view/introducing-istio-service/9781492052630/ 8. https://learning.oreilly.com/library/view/istio-up-and/9781492043775/ch01.html 9. https://istio.io/docs/tasks/telemetry/distributed-tracing/jaeger/ 10. https://learning.oreilly.com/library/view/introducing-istio-service/9781492052630/ch03.html 11. https://dzone.com/articles/istio-service-mesh-data-plane 12. https://learning.oreilly.com/library/view/introducing-istio-service/9781492052630/ch03.html 13. https://kubernetes.io/docs/reference/kubectl/cheatsheet/ 14. https://www.nginx.com/blog/what-is-a-service-mesh/ 15. https://github.com/robinagandhi/CYBR4360-8366/blob/master/Firewalls-iptables.md 16. https://www.tetrate.io/blog/envoybasicsandextensibility/ 17. https://medium.com/faun/understanding-how-envoy-sidecar-intercept-and-route-traffic-in-istio-service-m esh-20fea2a78833