SlideShare a Scribd company logo
Viet OpenInfra Days 2019
Nguyen Phuong An <annp.cs51@gmail.com>
Nguyen Hai Truong <nguyenhaitruonghp@gmail.com>
Bare metal cluster
with Kubernetes, Istio & MetalLB
Viet OpenInfra Days 2019
Agenda
Kubernetes - Cluster
MetalLB - Load balancer
Istio - Service Mesh
Demo - Hands on
2
Viet OpenInfra Days 2019
Who are we?
💼 Software Engineers Fujitsu Vietnam
📝 Organizers of VietKubers <https://vietkubers.github.io>
@truongnh92 @annp87
3
Viet OpenInfra Days 2019
Kubernetes - Cluster
4
Viet OpenInfra Days 2019
Kubernetes architecture
5
Viet OpenInfra Days 2019
Control Plane
Control plane
kube-apiserver
controller-manager
kube-scheduler
kube-proxy
etcd
6
Viet OpenInfra Days 2019
Node
Cluster Nodes
Containers
pod pod
kube-proxy
Container Runtime
kubelet
System services
Pod
Network Namespace 10.244.0.0/16
Container Container
Pod Network
External
volume
7
Viet OpenInfra Days 2019
Service discovery
Service
app=nginx
env=prod
Labels:
app=nginx
env=prod
Labels:
app=nginx
env=prod
Labels:
app=mysql
env=dev
Labels:
app=nginx
env=prod
Labels:
app=nginx
env=dev
Labels:
app=mysql
env=prod
8
Viet OpenInfra Days 2019
MetalLB - Load
balancer
9
Viet OpenInfra Days 2019
MetalLB (BGP mode)
BGP Router
Speaker
kube-proxy
pod
Speaker
kube-proxy
pod
VIP
Node 1
192.168.205.11
Node 2
192.168.205.12
192.168.205.1
10
Viet OpenInfra Days 2019
Istio - Service Mesh
11
Viet OpenInfra Days 2019
Microservices
Front-end Account
Payment shipping
Front-end
service
Account
service
Payment
service
Shipping
service
MONOLITHIC APPLICATION MICROSERVICES APPLICATION
12
Viet OpenInfra Days 2019
Advantages and Drawbacks of Microservices
Advantages Drawbacks
● Smaller codebase
● Without depend on language programing
● CD will be easier
● Scalability
● Decentralized data
● Isolate failures
● Hard to keep track of microservices
● Complexity
● Routing microservices will need more work
● Consume more resources
13
Istio addresses some of the drawbacks in microservices
Viet OpenInfra Days 2019
Istio
An open platform to connect, manage and secure microservices
14
Viet OpenInfra Days 2019
Sidecar on Kubernetes
15
Pod
Container
Service A
Sidecar Container
Pod
Container
Service C
Sidecar Container
Pod
Container
Service B
Sidecar Container
The sidecars intercepts all network traffic
15
Viet OpenInfra Days 2019
Envoy
Pod
Container
Service A
Sidecar Container
Pod
Container
Service C
Sidecar Container
is the sidecar in Istio
16
Pod
Container
Service B
Sidecar Container
16
Viet OpenInfra Days 2019
Envoy
17
An open source edge and service proxy, designed for cloud-native applications
- L3/4 network filter
- Advanced load balancing
- Stats, metrics, tracing
Viet OpenInfra Days 2019
Istio high level architecture
18
Pilot Mixer Citadel
Pod
Container
svcA
Service A
Pod
Container
svcB
Service B
Control Plane API
Configure
data to
proxies
TLS certs to
proxy
Policy
checks
telemetry
Viet OpenInfra Days 2019
How Istio works
19
Pilot Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Service A comes up
Envoy is deployed alongside it
Routing and configuration policy from Pilot
Viet OpenInfra Days 2019
How Istio works
20
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Service A calls service B
Envoy intercepts the call
Envoy consults Pilot to know How/Where to
route call to service B
Viet OpenInfra Days 2019
How Istio works
21
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Envoy forwards request to appropriate instance
of service B
Viet OpenInfra Days 2019
How Istio works
22
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Server-side Envoy checks with Mixer to
validate that call should be allowed
Viet OpenInfra Days 2019
How Istio works
23
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Mixer checks with appropriate adaptors to
verify that the call can proceed
Policy engine
Quota adaptor
Viet OpenInfra Days 2019
How Istio works
24
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Server-side Envoy forwards requests to service
B
Service B processes the request and returns
response
Viet OpenInfra Days 2019
How Istio works
25
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Envoy forwards response to the caller
Client-side Envoy forwards response to the
original caller
Viet OpenInfra Days 2019
How Istio works
26
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Envoy reports telemetry to Mixer, which in turn
notifies appropriate plugins
Logging plugin
Monitoring plugin
Viet OpenInfra Days 2019
How Istio works
27
Mixer
Pod
svcA
Service A
Control Plane API
Pod
Service B
svcB
Client-side Envoy reports telemetry to Mixer
(including client-perceived latency)
Logging plugin
Monitoring plugin
Viet OpenInfra Days 2019
Demo - Hands on
https://github.com/vietkubers/k8s-istio-metallb-hands-on-lab
28
Viet OpenInfra Days 2019
References
● TBD
29
Viet OpenInfra Days 2019 30

More Related Content

PPTX
Enable DPDK and SR-IOV for containerized virtual network functions with zun
PDF
rtpengine and kamailio - or how to simulate calls at scale
PPTX
Envoy and Kafka
PPTX
Linux Network Stack
PDF
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
PDF
Kubernetes a comprehensive overview
PDF
Kubernetes Introduction
PDF
Open vSwitch 패킷 처리 구조
Enable DPDK and SR-IOV for containerized virtual network functions with zun
rtpengine and kamailio - or how to simulate calls at scale
Envoy and Kafka
Linux Network Stack
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Kubernetes a comprehensive overview
Kubernetes Introduction
Open vSwitch 패킷 처리 구조

What's hot (20)

PDF
DevJam 2019 - Introduction to Kubernetes
PPTX
Adopting OpenTelemetry
PDF
Kubernetes 101
PPTX
Understanding DPDK
PPTX
OpenTelemetry For Architects
PDF
Service Function Chaining in Openstack Neutron
PDF
Introduction to kubernetes
PDF
Introduction to FreeSWITCH
ODP
Kubernetes Architecture
PDF
Open vSwitch Introduction
PDF
오픈스택 멀티노드 설치 후기
PDF
Kubernetes internals (Kubernetes 해부하기)
PDF
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
PDF
LISA2019 Linux Systems Performance
PDF
Linux Networking Explained
PDF
Deep Dive into Kubernetes - Part 1
PPTX
Introduction to helm
PDF
Red Hat OpenShift Container Platform Overview
ODP
Introduction to Ansible
PDF
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
DevJam 2019 - Introduction to Kubernetes
Adopting OpenTelemetry
Kubernetes 101
Understanding DPDK
OpenTelemetry For Architects
Service Function Chaining in Openstack Neutron
Introduction to kubernetes
Introduction to FreeSWITCH
Kubernetes Architecture
Open vSwitch Introduction
오픈스택 멀티노드 설치 후기
Kubernetes internals (Kubernetes 해부하기)
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
LISA2019 Linux Systems Performance
Linux Networking Explained
Deep Dive into Kubernetes - Part 1
Introduction to helm
Red Hat OpenShift Container Platform Overview
Introduction to Ansible
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Ad

Similar to Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Nguyen Hai Truong (20)

PDF
KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
PDF
Cloud Native API Management : Microservices to APIs in Kubernetes
PDF
Managing microservices with istio on OpenShift - Meetup
PDF
Matt Turner: Istio, The Packet's-Eye View (DevSecOps - London Gathering, Janu...
PPTX
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
PDF
2019 09-13 kubernetes is hard - k8s community days
PDF
Open Service Broker APIとKubernetes Service Catalog #k8sjp
PPTX
Building Service Mesh with .NET Core, Сергей Калинец
PDF
Istio, The Packet's-Eye View - KubeCon NA 2018
PDF
Heptio Contour - talk CNCF Nantes
PDF
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
PPTX
Building a scalable microservice architecture with envoy, kubernetes and istio
PDF
Quo Vadis Netflix Stack?
PDF
Dev conf .in cloud native reference architecture .advance
PDF
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
PDF
Elasticsearch Monitoring in Openshift
PDF
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
PDF
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
PPTX
Istio canaries and kubernetes
PDF
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
Cloud Native API Management : Microservices to APIs in Kubernetes
Managing microservices with istio on OpenShift - Meetup
Matt Turner: Istio, The Packet's-Eye View (DevSecOps - London Gathering, Janu...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
2019 09-13 kubernetes is hard - k8s community days
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Building Service Mesh with .NET Core, Сергей Калинец
Istio, The Packet's-Eye View - KubeCon NA 2018
Heptio Contour - talk CNCF Nantes
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
Building a scalable microservice architecture with envoy, kubernetes and istio
Quo Vadis Netflix Stack?
Dev conf .in cloud native reference architecture .advance
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
Elasticsearch Monitoring in Openshift
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
Istio canaries and kubernetes
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
Ad

More from Vietnam Open Infrastructure User Group (20)

PDF
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
PDF
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
PDF
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
PDF
Room 3 - 4 - Lê Quang Hiếu - How to be a cool dad: Leverage DIY Home Automati...
PDF
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
PPTX
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
PDF
Room 3 - 1 - Nguyễn Xuân Trường Lâm - Zero touch on-premise storage infrastru...
PPTX
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
PDF
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
PPTX
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
PDF
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
PPTX
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
PDF
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
PDF
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
PPTX
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
PPTX
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
PPTX
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
PDF
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
PDF
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
PDF
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 4 - Lê Quang Hiếu - How to be a cool dad: Leverage DIY Home Automati...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 1 - Nguyễn Xuân Trường Lâm - Zero touch on-premise storage infrastru...
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Modernizing your data center with Dell and AMD
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
cuic standard and advanced reporting.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Approach and Philosophy of On baking technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Modernizing your data center with Dell and AMD
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
Machine learning based COVID-19 study performance prediction
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
cuic standard and advanced reporting.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Approach and Philosophy of On baking technology
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto

Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Nguyen Hai Truong

  • 1. Viet OpenInfra Days 2019 Nguyen Phuong An <annp.cs51@gmail.com> Nguyen Hai Truong <nguyenhaitruonghp@gmail.com> Bare metal cluster with Kubernetes, Istio & MetalLB
  • 2. Viet OpenInfra Days 2019 Agenda Kubernetes - Cluster MetalLB - Load balancer Istio - Service Mesh Demo - Hands on 2
  • 3. Viet OpenInfra Days 2019 Who are we? 💼 Software Engineers Fujitsu Vietnam 📝 Organizers of VietKubers <https://vietkubers.github.io> @truongnh92 @annp87 3
  • 4. Viet OpenInfra Days 2019 Kubernetes - Cluster 4
  • 5. Viet OpenInfra Days 2019 Kubernetes architecture 5
  • 6. Viet OpenInfra Days 2019 Control Plane Control plane kube-apiserver controller-manager kube-scheduler kube-proxy etcd 6
  • 7. Viet OpenInfra Days 2019 Node Cluster Nodes Containers pod pod kube-proxy Container Runtime kubelet System services Pod Network Namespace 10.244.0.0/16 Container Container Pod Network External volume 7
  • 8. Viet OpenInfra Days 2019 Service discovery Service app=nginx env=prod Labels: app=nginx env=prod Labels: app=nginx env=prod Labels: app=mysql env=dev Labels: app=nginx env=prod Labels: app=nginx env=dev Labels: app=mysql env=prod 8
  • 9. Viet OpenInfra Days 2019 MetalLB - Load balancer 9
  • 10. Viet OpenInfra Days 2019 MetalLB (BGP mode) BGP Router Speaker kube-proxy pod Speaker kube-proxy pod VIP Node 1 192.168.205.11 Node 2 192.168.205.12 192.168.205.1 10
  • 11. Viet OpenInfra Days 2019 Istio - Service Mesh 11
  • 12. Viet OpenInfra Days 2019 Microservices Front-end Account Payment shipping Front-end service Account service Payment service Shipping service MONOLITHIC APPLICATION MICROSERVICES APPLICATION 12
  • 13. Viet OpenInfra Days 2019 Advantages and Drawbacks of Microservices Advantages Drawbacks ● Smaller codebase ● Without depend on language programing ● CD will be easier ● Scalability ● Decentralized data ● Isolate failures ● Hard to keep track of microservices ● Complexity ● Routing microservices will need more work ● Consume more resources 13 Istio addresses some of the drawbacks in microservices
  • 14. Viet OpenInfra Days 2019 Istio An open platform to connect, manage and secure microservices 14
  • 15. Viet OpenInfra Days 2019 Sidecar on Kubernetes 15 Pod Container Service A Sidecar Container Pod Container Service C Sidecar Container Pod Container Service B Sidecar Container The sidecars intercepts all network traffic 15
  • 16. Viet OpenInfra Days 2019 Envoy Pod Container Service A Sidecar Container Pod Container Service C Sidecar Container is the sidecar in Istio 16 Pod Container Service B Sidecar Container 16
  • 17. Viet OpenInfra Days 2019 Envoy 17 An open source edge and service proxy, designed for cloud-native applications - L3/4 network filter - Advanced load balancing - Stats, metrics, tracing
  • 18. Viet OpenInfra Days 2019 Istio high level architecture 18 Pilot Mixer Citadel Pod Container svcA Service A Pod Container svcB Service B Control Plane API Configure data to proxies TLS certs to proxy Policy checks telemetry
  • 19. Viet OpenInfra Days 2019 How Istio works 19 Pilot Mixer Pod svcA Service A Control Plane API Pod Service B svcB Service A comes up Envoy is deployed alongside it Routing and configuration policy from Pilot
  • 20. Viet OpenInfra Days 2019 How Istio works 20 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Service A calls service B Envoy intercepts the call Envoy consults Pilot to know How/Where to route call to service B
  • 21. Viet OpenInfra Days 2019 How Istio works 21 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Envoy forwards request to appropriate instance of service B
  • 22. Viet OpenInfra Days 2019 How Istio works 22 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Server-side Envoy checks with Mixer to validate that call should be allowed
  • 23. Viet OpenInfra Days 2019 How Istio works 23 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Mixer checks with appropriate adaptors to verify that the call can proceed Policy engine Quota adaptor
  • 24. Viet OpenInfra Days 2019 How Istio works 24 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Server-side Envoy forwards requests to service B Service B processes the request and returns response
  • 25. Viet OpenInfra Days 2019 How Istio works 25 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Envoy forwards response to the caller Client-side Envoy forwards response to the original caller
  • 26. Viet OpenInfra Days 2019 How Istio works 26 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Envoy reports telemetry to Mixer, which in turn notifies appropriate plugins Logging plugin Monitoring plugin
  • 27. Viet OpenInfra Days 2019 How Istio works 27 Mixer Pod svcA Service A Control Plane API Pod Service B svcB Client-side Envoy reports telemetry to Mixer (including client-perceived latency) Logging plugin Monitoring plugin
  • 28. Viet OpenInfra Days 2019 Demo - Hands on https://github.com/vietkubers/k8s-istio-metallb-hands-on-lab 28
  • 29. Viet OpenInfra Days 2019 References ● TBD 29

Editor's Notes

  • #13: Microservices là một loại kiến trúc mà phân tách ứng dụng thành nhiều services nhỏ thực hiện mỗi chức năng chuyên biệt. Các microservices sẽ được chứa trong các Containers. Containers đóng gói mọi thứ cần thiết để phần mềm có thể hoạt động như: mã nguồn, dependencies, thư viện, binaries,...