SlideShare a Scribd company logo
Confidential | ©A10 Networks, Inc.
Using Kubernetes as Orchestrator for
A10 Lightning Controller
Akshay Mathur
Manu Dilip Shah
A10 Lightning Application
Delivery Service
DATA
CONTROL
Analytics
Admin Portal API Client
A10 Lightning
Controller
REST
API
LADC Cluster Application ServicesClients
Lightning Controller
• A micro services based application
• Configuration, Visibility, Analytics
• Multi-tenant portal
• Programmability with REST APIs
Lightning ADC
• Scale-out
• Traffic Management
• App Security
Controller Architecture
Why we thought of Kubernetes
• On failure, K8s brings up the pod automatically
• Rolling upgrade of code can be done easily
• Scaling policy can be setup to scale each micro service as needed
• Pod health can be monitored easily and acted upon
What we achieved at high level
• Controller was only available as SaaS
• Launch and Scaling was manual
• Installation was dependent on
underlying infrastructure platform
• Controller is available for on-premise
• It can be scaled from One VM to
Multiple depending on use case
• Launch and Scaling is automated
• Installation is independent of underlying
infrastructure platform
From AWS VMs to K8s Containers in Multiple Environments
Current Environment for Controller
• Kubernetes core components
• Kube-dns – Internal DNS service
• Flannel – Overlay networking
• Heapster – Monitoring of pods
• Kubernetes Dashboard - Helps monitoring the pods
• jq – Programmatically Editing JSONs for K8s objects
The Journey: From  to 
• Everything was manual to start with
• Selecting Master and Minion
• Mapping node port to container port
• Cross node communication Configuration
• Limitations Realized
• Cant run same type of pod on one node
• Packaging and distribution issues e.g. build process automation
• Data loss when node stops
The Journey: From  to 
• Second Level Issues – After some level of simplifications
• Cumbersome overlay network configuration
• Passing env info to pod – Startup script env variables are not scalable
• Installation was still too many steps
• Thought for Future – Solved now
• Adding node to the K8s cluster when more capacity is needed
• Migrating static IP of the node to other node when node is replaced
• Adding component in future with minimal change in existing components
Design Choices
• Keep all micro-services as is
• One K8s service per micro-service
• One pod per k8s deployment
• Multiple services exposed externally
• Continue to use third-party registry service
• Kubernetes Registry Service can be used instead of third-party
Accessing Micro Services
• Multiple micro services of Controller are required to be accessed from
outside
• Micro services accessing each other also can’t depend on IP address
• Kubernetes Services and kube-dns allow fixing name as well as a fixed IP
address for each service
• All internal access (between components) is using service name
• Service IP is mapped to Node IP for all external access
• Public static IP is assigned to the node for external access
Simplifying Networking
• Each pod gets the IP address that is internal to the node
• Overlay networking facilitates communication between pods across nodes
• Flannel creates an overlay network that spans across nodes
• Each pod gets IP address from same subnet
• This subnet is internal to the K8s cluster
• This provides seamless communication between pods across nodes
• Private Subnet for Service IPs is configured in K8s configuration
Overlay Network
Persisting Data
• Pods may come and go or can spawn across nodes
• Persistence is required for maintaining the state across reboots or across
clusters
• NFS, AWS EBS, GCE Persistent Disk or Azure Disk can be used as K8s
Persistent Volume (PV)
• In K8s Deployment object, ‘PV Claims’ can be done by each Pod, as needed
• K8s provides PV matching the Claim to the Pod
• This mounts the PV file system into container’s file system
Storage Objects in Kubernetes
Deploying Clustered Applications
• Cluster application (e.g. datastores) each pod need to know about other pod
running same application
• Such applications needs to be deployed using K8s Stateful Set
• K8s Stateful Set provide fixed names for each instance/pod
• PV Claims in each instance of Stateful Set also have fixed names
• Having fix names help a lot in the configuration and functioning of clustered
applications
• When the application requires more capacity, it is easy to add
We do many exciting things
You can join the team
mshah@a10networks.com
amathur@a10networks.com
 Thanks 

More Related Content

PPTX
Techniques for scaling application with security and visibility in cloud
Akshay Mathur
 
PDF
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
RightScale
 
PPTX
Kubernetes on OpenStack @eBay
Sriram Subramanian
 
PDF
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
CodeOps Technologies LLP
 
PPTX
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load Balancer
Alibaba Cloud
 
PPTX
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
Docker, Inc.
 
PDF
Kafka for begginer
Yousun Jeong
 
PPTX
Amazon Virtual Private Cloud - VPC 1
AWS Riyadh User Group
 
Techniques for scaling application with security and visibility in cloud
Akshay Mathur
 
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
RightScale
 
Kubernetes on OpenStack @eBay
Sriram Subramanian
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
CodeOps Technologies LLP
 
Discovering Cloud Networking: VPC, VPN, Express Connect & Server Load Balancer
Alibaba Cloud
 
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
Docker, Inc.
 
Kafka for begginer
Yousun Jeong
 
Amazon Virtual Private Cloud - VPC 1
AWS Riyadh User Group
 

What's hot (20)

PDF
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, Cloudera
HostedbyConfluent
 
PPTX
Launch and Scale Your E-commerce Website with Magento
Alibaba Cloud
 
PPTX
AliCloud Object Storage Service (OSS) Core Features
Alibaba Cloud
 
PPTX
Responding to Digital Transformation With RDS Database Technology
Alibaba Cloud
 
PDF
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
HostedbyConfluent
 
PPTX
Tokyo azure meetup #9 azure update, october
Tokyo Azure Meetup
 
PPTX
Building an Event-oriented Data Platform with Kafka, Eric Sammer
confluent
 
PDF
Storage os kubernetes clusters need persistent data
LibbySchulze
 
PDF
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Cloud Native Day Tel Aviv
 
PPTX
Stratoscale Latest and Greatest
Zach Lanksbury
 
PDF
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
John Burwell
 
PPTX
Azure service fabric
Fernando Mejía
 
PPTX
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup
 
PPTX
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
PDF
Azure Cosmos DB Kafka Connectors | Abinav Rameesh, Microsoft
HostedbyConfluent
 
PDF
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
HostedbyConfluent
 
PPTX
Cloudsolutionday 2016: Docker & FAAS at getvero.com
AWS Vietnam Community
 
PDF
Mainframe Integration, Offloading and Replacement with Apache Kafka | Kai Wae...
HostedbyConfluent
 
PPTX
Containers on AWS
AWS Riyadh User Group
 
PPTX
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
Docker, Inc.
 
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, Cloudera
HostedbyConfluent
 
Launch and Scale Your E-commerce Website with Magento
Alibaba Cloud
 
AliCloud Object Storage Service (OSS) Core Features
Alibaba Cloud
 
Responding to Digital Transformation With RDS Database Technology
Alibaba Cloud
 
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
HostedbyConfluent
 
Tokyo azure meetup #9 azure update, october
Tokyo Azure Meetup
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
confluent
 
Storage os kubernetes clusters need persistent data
LibbySchulze
 
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Cloud Native Day Tel Aviv
 
Stratoscale Latest and Greatest
Zach Lanksbury
 
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
John Burwell
 
Azure service fabric
Fernando Mejía
 
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
Azure Cosmos DB Kafka Connectors | Abinav Rameesh, Microsoft
HostedbyConfluent
 
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
HostedbyConfluent
 
Cloudsolutionday 2016: Docker & FAAS at getvero.com
AWS Vietnam Community
 
Mainframe Integration, Offloading and Replacement with Apache Kafka | Kai Wae...
HostedbyConfluent
 
Containers on AWS
AWS Riyadh User Group
 
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
Docker, Inc.
 
Ad

Viewers also liked (20)

PPTX
Introduction to container mangement
Martin Marcher
 
PPTX
K8S in prod
Mageshwaran Rajendran
 
PPTX
Monitoring, Logging and Tracing on Kubernetes
Martin Etmajer
 
PPTX
Stateful set in kubernetes implementation & usecases
Krishna-Kumar
 
PPTX
Docker and kubernetes
Dongwon Kim
 
PPTX
More tips and tricks for running containers like a pro - Rancher Online MEetu...
Shannon Williams
 
PDF
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Nane Kratzke
 
PPTX
RackN DevOps meetup NYC
Bob Sokol
 
PDF
Welcome talk for Moscow Kubernetes Meetup 1
MoscowKubernetes
 
PDF
Opening: builderscon tokyo 2016
lestrrat
 
PDF
Net core, mssql, container und kubernetes
Thomas Fricke
 
PDF
Mirantis Contributions to Kubernetes Ecosystem
MoscowKubernetes
 
PPTX
Microservices summit talk 1/31
Varun Talwar
 
PPTX
Keeping up with Tech
Elana Krasner
 
PPTX
Ростислав Фридман: “Kubernetes как средство управления микросервисами"
Provectus
 
PDF
Docker Containers in Azure
Aarno Aukia
 
PPTX
Deploy your favorite apps on Kubernetes
Adnan Abdulhussein
 
PDF
Google Cloud Computing compares GCE, GAE and GKE
Simon Su
 
PDF
Kubernetes API - deep dive into the kube-apiserver
Stefan Schimanski
 
PDF
Bangalore Container Conference - Sponsor Deck
CodeOps Technologies LLP
 
Introduction to container mangement
Martin Marcher
 
Monitoring, Logging and Tracing on Kubernetes
Martin Etmajer
 
Stateful set in kubernetes implementation & usecases
Krishna-Kumar
 
Docker and kubernetes
Dongwon Kim
 
More tips and tricks for running containers like a pro - Rancher Online MEetu...
Shannon Williams
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Nane Kratzke
 
RackN DevOps meetup NYC
Bob Sokol
 
Welcome talk for Moscow Kubernetes Meetup 1
MoscowKubernetes
 
Opening: builderscon tokyo 2016
lestrrat
 
Net core, mssql, container und kubernetes
Thomas Fricke
 
Mirantis Contributions to Kubernetes Ecosystem
MoscowKubernetes
 
Microservices summit talk 1/31
Varun Talwar
 
Keeping up with Tech
Elana Krasner
 
Ростислав Фридман: “Kubernetes как средство управления микросервисами"
Provectus
 
Docker Containers in Azure
Aarno Aukia
 
Deploy your favorite apps on Kubernetes
Adnan Abdulhussein
 
Google Cloud Computing compares GCE, GAE and GKE
Simon Su
 
Kubernetes API - deep dive into the kube-apiserver
Stefan Schimanski
 
Bangalore Container Conference - Sponsor Deck
CodeOps Technologies LLP
 
Ad

Similar to Kubernetes as Orchestrator for A10 Lightning Controller (20)

PPTX
KuberNETes - meetup
Nathan Ness
 
PPTX
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Cynthia Thomas
 
PDF
Migrating a build farm from on-prem to AWS
Claes Buckwalter
 
PDF
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
Docker, Inc.
 
PDF
Kubernetes Networking 101 kubecon EU 2022
ssuser1490e8
 
PPTX
AKS
girish goudar
 
PPTX
DevOps Fest 2019. Stanislav Kolenkin. Сonnecting pool Kubernetes clusters: Fe...
DevOps_Fest
 
PDF
Kube ovn-sandbox-proposal
梦馨 刘
 
PDF
Google Kubernetes Engine Deep Dive Meetup
Iftach Schonbaum
 
PPTX
Container world hybridnetworking_rev2
Prem Sankar Gopannan
 
PPTX
Open stackaustinmeetupsept21
Brent Doncaster
 
PDF
(SACON) Anand Tapikar - Attack vectors of Kubernetes infra. Are we on right ...
Priyanka Aash
 
PPTX
COE Integration - OPNFV
Prem Sankar Gopannan
 
PPTX
Kubernetes Internals
Shimi Bandiel
 
PPTX
Simplify Your Way To Expert Kubernetes Management
DevOps.com
 
PPTX
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Tony Erwin
 
PPTX
EKS AWS Presentation kuberneted oriented
anabella881965
 
PDF
Future of Serverless
Srinath Perera
 
PPT
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
PROIDEA
 
PPT
Flying to clouds - can it be easy? Cloud Native Applications
Jacek Bukowski
 
KuberNETes - meetup
Nathan Ness
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Cynthia Thomas
 
Migrating a build farm from on-prem to AWS
Claes Buckwalter
 
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
Docker, Inc.
 
Kubernetes Networking 101 kubecon EU 2022
ssuser1490e8
 
DevOps Fest 2019. Stanislav Kolenkin. Сonnecting pool Kubernetes clusters: Fe...
DevOps_Fest
 
Kube ovn-sandbox-proposal
梦馨 刘
 
Google Kubernetes Engine Deep Dive Meetup
Iftach Schonbaum
 
Container world hybridnetworking_rev2
Prem Sankar Gopannan
 
Open stackaustinmeetupsept21
Brent Doncaster
 
(SACON) Anand Tapikar - Attack vectors of Kubernetes infra. Are we on right ...
Priyanka Aash
 
COE Integration - OPNFV
Prem Sankar Gopannan
 
Kubernetes Internals
Shimi Bandiel
 
Simplify Your Way To Expert Kubernetes Management
DevOps.com
 
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Tony Erwin
 
EKS AWS Presentation kuberneted oriented
anabella881965
 
Future of Serverless
Srinath Perera
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
PROIDEA
 
Flying to clouds - can it be easy? Cloud Native Applications
Jacek Bukowski
 

More from Akshay Mathur (20)

PPTX
Documentation with Sphinx
Akshay Mathur
 
PPTX
Kubernetes Journey of a Large FinTech
Akshay Mathur
 
PPTX
Security and Observability of Application Traffic in Kubernetes
Akshay Mathur
 
PPTX
Enhanced Security and Visibility for Microservices Applications
Akshay Mathur
 
PPTX
Considerations for East-West Traffic Security and Analytics for Kubernetes En...
Akshay Mathur
 
PPTX
Cloud Bursting with A10 Lightning ADS
Akshay Mathur
 
PPTX
Shared Security Responsibility Model of AWS
Akshay Mathur
 
PPTX
Introduction to Node js
Akshay Mathur
 
PPTX
Object Oriented Programing in JavaScript
Akshay Mathur
 
PPTX
Getting Started with Angular JS
Akshay Mathur
 
PDF
Releasing Software Without Testing Team
Akshay Mathur
 
PPTX
Getting Started with jQuery
Akshay Mathur
 
PPTX
CoffeeScript
Akshay Mathur
 
PPTX
Creating Single Page Web App using Backbone JS
Akshay Mathur
 
PPTX
Getting Started with Web
Akshay Mathur
 
PPTX
Getting Started with Javascript
Akshay Mathur
 
PPTX
Using Google App Engine Python
Akshay Mathur
 
PPTX
Working with GIT
Akshay Mathur
 
PPTX
Testing Single Page Webapp
Akshay Mathur
 
PPTX
Mongo db
Akshay Mathur
 
Documentation with Sphinx
Akshay Mathur
 
Kubernetes Journey of a Large FinTech
Akshay Mathur
 
Security and Observability of Application Traffic in Kubernetes
Akshay Mathur
 
Enhanced Security and Visibility for Microservices Applications
Akshay Mathur
 
Considerations for East-West Traffic Security and Analytics for Kubernetes En...
Akshay Mathur
 
Cloud Bursting with A10 Lightning ADS
Akshay Mathur
 
Shared Security Responsibility Model of AWS
Akshay Mathur
 
Introduction to Node js
Akshay Mathur
 
Object Oriented Programing in JavaScript
Akshay Mathur
 
Getting Started with Angular JS
Akshay Mathur
 
Releasing Software Without Testing Team
Akshay Mathur
 
Getting Started with jQuery
Akshay Mathur
 
CoffeeScript
Akshay Mathur
 
Creating Single Page Web App using Backbone JS
Akshay Mathur
 
Getting Started with Web
Akshay Mathur
 
Getting Started with Javascript
Akshay Mathur
 
Using Google App Engine Python
Akshay Mathur
 
Working with GIT
Akshay Mathur
 
Testing Single Page Webapp
Akshay Mathur
 
Mongo db
Akshay Mathur
 

Recently uploaded (20)

PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
PDF
Google’s NotebookLM Unveils Video Overviews
SOFTTECHHUB
 
PDF
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Make GenAI investments go further with the Dell AI Factory - Infographic
Principled Technologies
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PPTX
The Power of IoT Sensor Integration in Smart Infrastructure and Automation.pptx
Rejig Digital
 
PDF
Test Bank, Solutions for Java How to Program, An Objects-Natural Approach, 12...
famaw19526
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
This slide provides an overview Technology
mineshkharadi333
 
PDF
Shreyas_Phanse_Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
SHREYAS PHANSE
 
PPTX
C Programming Basics concept krnppt.pptx
Karan Prajapat
 
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
AbdullahSani29
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
Google’s NotebookLM Unveils Video Overviews
SOFTTECHHUB
 
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Make GenAI investments go further with the Dell AI Factory - Infographic
Principled Technologies
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
The Power of IoT Sensor Integration in Smart Infrastructure and Automation.pptx
Rejig Digital
 
Test Bank, Solutions for Java How to Program, An Objects-Natural Approach, 12...
famaw19526
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
This slide provides an overview Technology
mineshkharadi333
 
Shreyas_Phanse_Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
SHREYAS PHANSE
 
C Programming Basics concept krnppt.pptx
Karan Prajapat
 
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
AbdullahSani29
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 

Kubernetes as Orchestrator for A10 Lightning Controller

  • 1. Confidential | ©A10 Networks, Inc. Using Kubernetes as Orchestrator for A10 Lightning Controller Akshay Mathur Manu Dilip Shah
  • 2. A10 Lightning Application Delivery Service DATA CONTROL Analytics Admin Portal API Client A10 Lightning Controller REST API LADC Cluster Application ServicesClients Lightning Controller • A micro services based application • Configuration, Visibility, Analytics • Multi-tenant portal • Programmability with REST APIs Lightning ADC • Scale-out • Traffic Management • App Security
  • 4. Why we thought of Kubernetes • On failure, K8s brings up the pod automatically • Rolling upgrade of code can be done easily • Scaling policy can be setup to scale each micro service as needed • Pod health can be monitored easily and acted upon
  • 5. What we achieved at high level • Controller was only available as SaaS • Launch and Scaling was manual • Installation was dependent on underlying infrastructure platform • Controller is available for on-premise • It can be scaled from One VM to Multiple depending on use case • Launch and Scaling is automated • Installation is independent of underlying infrastructure platform From AWS VMs to K8s Containers in Multiple Environments
  • 6. Current Environment for Controller • Kubernetes core components • Kube-dns – Internal DNS service • Flannel – Overlay networking • Heapster – Monitoring of pods • Kubernetes Dashboard - Helps monitoring the pods • jq – Programmatically Editing JSONs for K8s objects
  • 7. The Journey: From  to  • Everything was manual to start with • Selecting Master and Minion • Mapping node port to container port • Cross node communication Configuration • Limitations Realized • Cant run same type of pod on one node • Packaging and distribution issues e.g. build process automation • Data loss when node stops
  • 8. The Journey: From  to  • Second Level Issues – After some level of simplifications • Cumbersome overlay network configuration • Passing env info to pod – Startup script env variables are not scalable • Installation was still too many steps • Thought for Future – Solved now • Adding node to the K8s cluster when more capacity is needed • Migrating static IP of the node to other node when node is replaced • Adding component in future with minimal change in existing components
  • 9. Design Choices • Keep all micro-services as is • One K8s service per micro-service • One pod per k8s deployment • Multiple services exposed externally • Continue to use third-party registry service • Kubernetes Registry Service can be used instead of third-party
  • 10. Accessing Micro Services • Multiple micro services of Controller are required to be accessed from outside • Micro services accessing each other also can’t depend on IP address • Kubernetes Services and kube-dns allow fixing name as well as a fixed IP address for each service • All internal access (between components) is using service name • Service IP is mapped to Node IP for all external access • Public static IP is assigned to the node for external access
  • 11. Simplifying Networking • Each pod gets the IP address that is internal to the node • Overlay networking facilitates communication between pods across nodes • Flannel creates an overlay network that spans across nodes • Each pod gets IP address from same subnet • This subnet is internal to the K8s cluster • This provides seamless communication between pods across nodes • Private Subnet for Service IPs is configured in K8s configuration
  • 13. Persisting Data • Pods may come and go or can spawn across nodes • Persistence is required for maintaining the state across reboots or across clusters • NFS, AWS EBS, GCE Persistent Disk or Azure Disk can be used as K8s Persistent Volume (PV) • In K8s Deployment object, ‘PV Claims’ can be done by each Pod, as needed • K8s provides PV matching the Claim to the Pod • This mounts the PV file system into container’s file system
  • 14. Storage Objects in Kubernetes
  • 15. Deploying Clustered Applications • Cluster application (e.g. datastores) each pod need to know about other pod running same application • Such applications needs to be deployed using K8s Stateful Set • K8s Stateful Set provide fixed names for each instance/pod • PV Claims in each instance of Stateful Set also have fixed names • Having fix names help a lot in the configuration and functioning of clustered applications • When the application requires more capacity, it is easy to add
  • 16. We do many exciting things You can join the team [email protected] [email protected]  Thanks 

Editor's Notes

  • #10: External access Least expensive and can be used across clouds Drawback is node monitoring
  • #12: Why