SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
How Self-Healing Nodes and Infrastructure
Management Impact Reliability
Oleg Chunikhin |CTO
Introductions
Oleg Chunikhin
CTO, Kublr
✔ 20+ years in software architecture & development
✔ Working w/ Kubernetes since its release in 2015
✔ CTO at Kublr—an enterprise ready container
management platform
✔ Twitter @olgch; @kublr
Like what you hear? Tweet at us!
Automation
Ingress
Custom
Clusters
Infrastructure
Logging Monitoring
Observability
API
Usage
Reporting
RBAC IAM
Air Gap TLS
Certificate
Rotation
Audit
Storage Networking
Container
Registry
CI / CD App Mgmt
Infrastructure
Container Runtime Kubernetes
OPERATIONS SECURITY &
GOVERNANCE
What’s Kublr?
@olgch, @kublr
Building a Reliable System with Kubernetes
• Day 1: trivial, K8S will restart my pod!
• Day 30: this is not so simple...
• What Kubernetes does, can, and doesn’t do
• Full stack reliability: tools and approaches
@olgch, @kublr
Kubernetes Cluster
K8S Architecture Refresher: Components
The Master, agent, etcd, API, overlay network, and DNS
Master
API Server
etcd data
controller
manager
scheduler etcd
kubectl
Worker
kubelet
container
runtime
overlay
network
cluster
DNS
kube-proxy
@olgch, @kublr
Cluster
K8S Architecture Refresher: API Objects
Nodes, pods, services, and persistent volumes
Node 1 Node 2
Pod A-1
10.0.0.3
Cnt1
Cnt2
Pod A-2
10.0.0.5
Cnt1
Cnt2
Pod B-1
10.0.0.8
Cnt3
SrvA
10.7.0.1
SrvB
10.7.0.3
Persistent
Volume
@olgch, @kublr
Reliability Tools: Pod Probes and Controllers
Probes
Liveness and readiness check
• TCP, HTTP(S), exec
Controllers
ReplicaSet
• Maintain specific number of identical replicas
Deployment
• ReplicaSet + update strategy, rolling update
StatefulSet
• Deployment + replica identity, persistent volume stability
DaemonSet
• Maintain identical replicas on each node (of a specified set)
Operators
@olgch, @kublr
• Resource framework
• Standard: CPU, memory, disk
• Custom: GPU, FPGA, etc.
• Requests and limits
• Kube and system reservations
• no swap
• Pod eviction and disruption budget (resource starving)
• Pod priority and preemption (critical pods)
• Affinity, anti-affinity, node selectors & matchers
Reliability Tools: Resource & Location Mgmt
@olgch, @kublr
Reliability Tools: Autoscaling
Horizontal pod autoscaler (HPA)
Vertical pod autoscaler (VPA)
• In-place updates - WIP (issue #5774)
Cluster Autoscaler
• Depends on infrastructure provider - uses node groups
AWS ASG, Azure ScaleSets, ...
• Supports AWS, Azure, GCE, GKE, Openstack, Alibaba Cloud
@olgch, @kublr
Applications/pods/containers
“Middleware”
• Operations: monitoring, log collection, alerting, etc.
• Lifecycle: CI/CD, SCM, binary repo, etc.
• Container management: registry, scanning, governance, etc.
Container Persistence: cloud native storage, DB, messaging
Container Orchestrator: Kubernetes
• “Essentials”: overlay network, DNS, autoscaler, etc.
• Core: K8S etcd, master, worker components
• Container engine: Docker, CRI-O, etc.
OS: kernel, network, devices, services, etc.
Infrastructure: “raw” compute, network, storage
Full Stack Reliability
@olgch, @kublr
Architecture 101
• Layers are separate and independent
• Disposable/restartable components
• Reattachable dependencies (including data)
• Persistent state is separate from disposable
processes
Pets vs cattle - only data is allowed to be pets
(ideally)
@olgch, @kublr
If a node has a problem...
• Try to fix it (pet)
• Replace or reset it (cattle)
Infrastructure and OS
Tools
• In-cluster: npd, weaveworks kured, ...
• hardware, kernel, servicer, container
runtime issues
• reboot
• Infrastructure provider automation
• AWS ASG, Azure Scale Set, ...
• External auto node recovery logic
• Custom + infrastructure provider API
• Cluster management solution
• (Future) cluster API
@olgch, @kublr
Components
• etcd
• Master: API server, controller
manager, scheduler
• Worker: kubelet, kube-proxy
• Container runtime: Docker,
CRI-O
Already 12 factor
Kubernetes Components: Auto-Recovery
Monitor liveliness, automate
restart
• Run as services
• Run as static pods
Dependencies to care about
• etcd data
• K8S keys and certificates
• Configuration
@olgch, @kublr
API Server
controller
manager
scheduler
API Server
controller
manager
scheduler
etcd data
etcd
etcd data
etcd
K8S multi-master
• Pros: HA, scaling
• Cons: need LB (server or client)
etcd cluster
• Pros: HA, data replication
• Cons: latency, ops complexity
etcd data
• Local ephemeral
• Local persistent (survives node failure)
• Remote persistent (survives node replacement)
Kubernetes Components: Multi-Master
API Server
etcd data
controller
manager
scheduler
etcd
kubectl
kubelet
@olgch, @kublr
• Persistent volumes
• Volume provisioning
• Storage categories
• Native block storage: AWS EBS, Azure Disk, vSphere volume,
attached block device, etc.
• HostPath
• Managed network storage: NFS, iSCSI, NAS/SAN, AWS EFS, etc.
• Some of the idiosyncrasies
• Topology sensitivity (e.g. AZ-local, host-local)
• Cloud provider limitations (e.g. number of attached disks)
• Kubernetes integration (e.g. provisioning and snapshots)
Container Persistence
@olgch, @kublr
• Integrates with Kubernetes
• CSI, FlexVolume, or native
• Volume provisioners
• Snapshots support
• Runs in cluster or externally
• Approach
• Flexible storage on top of backing storage
• Augmenting and extending backing storage
• Backing storage: local, managed, Kubernetes PV
• Examples: Rook/Ceph, Portworx, Nuvoloso, GlusterFS, Linstor,
OpenEBS, etc.
Cloud Native Storage
@olgch, @kublr
Data pool
mon
config
data
config
data
monmon
config
data
Cloud Native Storage: Rook/Ceph
raw data
osd
raw data
osd
raw data
mdsosd
Data pool
Image Image
Ceph
Filesystem
Components
Abstractions
Ceph
rgw
S3/Swift
Object Store
mgr
Rook
Operator
CSI plugins
osdosdganesha
NFS
CephCluster
Block Pool
Object Store
Filesystem
NFS
Object Store User
Provisioners
rbd-mirror
@olgch, @kublr
Operations: monitoring, log collection, alerting, etc.
Lifecycle: CI/CD, SCM, binary repo, etc.
Container management: registry, scanning, governance, etc.
Deployment options:
• Managed service
• In Kubernetes
• Deploy separately
Middleware
@olgch, @kublr
• Region to region; cloud to cloud; cloud to on-prem (hybrid)
• One cluster (⚠) vs cluster per location (✔)
Tasks
• Physical network connectivity: VPN, direct
• Overlay network connectivity: Calico BGP peering, Native routing
• Cross-cluster DNS: CoreDNS
• Cross-cluster deployment: K8S federation
• Cross-cluster ingress, load balancing: K8S federation, DNS, CDN
• Cross-cluster data replication
• native: e.g. AWS EBS, Snapshots inter-region transfer
• CNS level: e.g. Ceph geo-replication
• database level: e.g. Yugabyte geo-replication, sharding, ...
• application level
Something Missing? Multi-Site
@olgch, @kublr
To Recap...
• Kubernetes provides robust tools for application reliability
• Underlying infrastructure and Kubernetes components
recovery is responsibility of the cluster operator
• Kubernetes is just one of the layers
• Remember Architecture 101 and assess all layers accordingly
• Middleware, and even CNS, can run in Kubernetes and be
treated as regular applications to benefit from K8S capabilities
• Multi-site HA, balancing, failover is much easier with K8S and
the cloud native ecosystem. Still requires careful planning!
@olgch, @kublr
Q&A
@olgch, @kublr
Oleg Chunikhin
CTO | Kublr
oleg@kublr.com
Thank you!
Take Kublr for a test drive!
kublr.com/deploy
Free non-production license
@olgch, @kublr

Mais conteúdo relacionado

Mais procurados

Storage as a service OpenStack
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStackopenstackindia
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Odinot Stanislas
 
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Sean Cohen
 
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons Learned
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons LearnedCeph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons Learned
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons LearnedCeph Community
 
Ceph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing GuideCeph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing GuideKaran Singh
 
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!smalltown
 
Bare Metal Kubernetes - More Containers, Less Overhead
Bare Metal Kubernetes  - More Containers, Less OverheadBare Metal Kubernetes  - More Containers, Less Overhead
Bare Metal Kubernetes - More Containers, Less OverheadDustin Kirkland
 
Using Cinder Block Storage
Using Cinder Block StorageUsing Cinder Block Storage
Using Cinder Block StorageRed_Hat_Storage
 
Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases Krishna-Kumar
 
Kubernetes Meetup - Seattle 2017-06-01
Kubernetes Meetup - Seattle 2017-06-01Kubernetes Meetup - Seattle 2017-06-01
Kubernetes Meetup - Seattle 2017-06-01Bassam Tabbara
 
reInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s reviewreInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s reviewFaheem Memon
 
OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deploymentsAtul Jha
 
Production Ready Docker Stack for Alfresco Deployments
Production Ready Docker Stack for Alfresco DeploymentsProduction Ready Docker Stack for Alfresco Deployments
Production Ready Docker Stack for Alfresco DeploymentsRoxana Angheluta
 
Ceph storage for ocp deploying and managing ceph on top of open shift conta...
Ceph storage for ocp   deploying and managing ceph on top of open shift conta...Ceph storage for ocp   deploying and managing ceph on top of open shift conta...
Ceph storage for ocp deploying and managing ceph on top of open shift conta...OrFriedmann
 
Introducing SciaaS @ Sanger
Introducing SciaaS @ SangerIntroducing SciaaS @ Sanger
Introducing SciaaS @ SangerPeter Clapham
 
Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Dave Holland
 
Flying Circus Ceph Case Study (CEPH Usergroup Berlin)
Flying Circus Ceph Case Study (CEPH Usergroup Berlin)Flying Circus Ceph Case Study (CEPH Usergroup Berlin)
Flying Circus Ceph Case Study (CEPH Usergroup Berlin)Christian Theune
 
[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about ContainersDustin Kirkland
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Matt Ray
 

Mais procurados (20)

Storage as a service OpenStack
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStack
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
 
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
 
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons Learned
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons LearnedCeph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons Learned
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons Learned
 
Ceph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing GuideCeph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing Guide
 
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
 
Bare Metal Kubernetes - More Containers, Less Overhead
Bare Metal Kubernetes  - More Containers, Less OverheadBare Metal Kubernetes  - More Containers, Less Overhead
Bare Metal Kubernetes - More Containers, Less Overhead
 
Using Cinder Block Storage
Using Cinder Block StorageUsing Cinder Block Storage
Using Cinder Block Storage
 
Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases
 
OpenStack Momentum
OpenStack  MomentumOpenStack  Momentum
OpenStack Momentum
 
Kubernetes Meetup - Seattle 2017-06-01
Kubernetes Meetup - Seattle 2017-06-01Kubernetes Meetup - Seattle 2017-06-01
Kubernetes Meetup - Seattle 2017-06-01
 
reInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s reviewreInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s review
 
OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deployments
 
Production Ready Docker Stack for Alfresco Deployments
Production Ready Docker Stack for Alfresco DeploymentsProduction Ready Docker Stack for Alfresco Deployments
Production Ready Docker Stack for Alfresco Deployments
 
Ceph storage for ocp deploying and managing ceph on top of open shift conta...
Ceph storage for ocp   deploying and managing ceph on top of open shift conta...Ceph storage for ocp   deploying and managing ceph on top of open shift conta...
Ceph storage for ocp deploying and managing ceph on top of open shift conta...
 
Introducing SciaaS @ Sanger
Introducing SciaaS @ SangerIntroducing SciaaS @ Sanger
Introducing SciaaS @ Sanger
 
Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017
 
Flying Circus Ceph Case Study (CEPH Usergroup Berlin)
Flying Circus Ceph Case Study (CEPH Usergroup Berlin)Flying Circus Ceph Case Study (CEPH Usergroup Berlin)
Flying Circus Ceph Case Study (CEPH Usergroup Berlin)
 
[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013
 

Semelhante a Kubernetes stack reliability

Hybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stackHybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stackKublr
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsKublr
 
DevOps in AWS with Kubernetes
DevOps in AWS with KubernetesDevOps in AWS with Kubernetes
DevOps in AWS with KubernetesOleg Chunikhin
 
The Evolution of your Kubernetes Cluster
The Evolution of your Kubernetes ClusterThe Evolution of your Kubernetes Cluster
The Evolution of your Kubernetes ClusterKublr
 
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes OperationsDevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes OperationsDevOpsDays Houston
 
Kubernetes – An open platform for container orchestration
Kubernetes – An open platform for container orchestrationKubernetes – An open platform for container orchestration
Kubernetes – An open platform for container orchestrationinovex GmbH
 
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsPortable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsKublr
 
Monitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloudMonitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloudDatadog
 
The State of Kubernetes Security
The State of Kubernetes Security The State of Kubernetes Security
The State of Kubernetes Security Jimmy Mesta
 
KT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnKT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnHui Cheng
 
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...tdc-globalcode
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes InternalsShimi Bandiel
 
Run Cloud Native MySQL NDB Cluster in Kubernetes
Run Cloud Native MySQL NDB Cluster in KubernetesRun Cloud Native MySQL NDB Cluster in Kubernetes
Run Cloud Native MySQL NDB Cluster in KubernetesBernd Ocklin
 
Storage as a service and OpenStack Cinder
Storage as a service and OpenStack CinderStorage as a service and OpenStack Cinder
Storage as a service and OpenStack Cinderopenstackindia
 
Kubernetes data science and machine learning
Kubernetes data science and machine learningKubernetes data science and machine learning
Kubernetes data science and machine learningKublr
 
DCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDocker, Inc.
 
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин ВладевPlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин ВладевPlovDev Conference
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Cynthia Thomas
 

Semelhante a Kubernetes stack reliability (20)

Hybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stackHybrid architecture solutions with kubernetes and the cloud native stack
Hybrid architecture solutions with kubernetes and the cloud native stack
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container Operations
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
DevOps in AWS with Kubernetes
DevOps in AWS with KubernetesDevOps in AWS with Kubernetes
DevOps in AWS with Kubernetes
 
The Evolution of your Kubernetes Cluster
The Evolution of your Kubernetes ClusterThe Evolution of your Kubernetes Cluster
The Evolution of your Kubernetes Cluster
 
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes OperationsDevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
 
Kubernetes – An open platform for container orchestration
Kubernetes – An open platform for container orchestrationKubernetes – An open platform for container orchestration
Kubernetes – An open platform for container orchestration
 
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsPortable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
 
Monitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloudMonitoring kubernetes across data center and cloud
Monitoring kubernetes across data center and cloud
 
The State of Kubernetes Security
The State of Kubernetes Security The State of Kubernetes Security
The State of Kubernetes Security
 
KT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnKT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk Ahn
 
Am 02 osac_kt_swift
Am 02 osac_kt_swiftAm 02 osac_kt_swift
Am 02 osac_kt_swift
 
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
 
Run Cloud Native MySQL NDB Cluster in Kubernetes
Run Cloud Native MySQL NDB Cluster in KubernetesRun Cloud Native MySQL NDB Cluster in Kubernetes
Run Cloud Native MySQL NDB Cluster in Kubernetes
 
Storage as a service and OpenStack Cinder
Storage as a service and OpenStack CinderStorage as a service and OpenStack Cinder
Storage as a service and OpenStack Cinder
 
Kubernetes data science and machine learning
Kubernetes data science and machine learningKubernetes data science and machine learning
Kubernetes data science and machine learning
 
DCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at Netflix
 
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин ВладевPlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
 

Último

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Último (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

Kubernetes stack reliability

  • 1. How Self-Healing Nodes and Infrastructure Management Impact Reliability Oleg Chunikhin |CTO
  • 2. Introductions Oleg Chunikhin CTO, Kublr ✔ 20+ years in software architecture & development ✔ Working w/ Kubernetes since its release in 2015 ✔ CTO at Kublr—an enterprise ready container management platform ✔ Twitter @olgch; @kublr Like what you hear? Tweet at us!
  • 3. Automation Ingress Custom Clusters Infrastructure Logging Monitoring Observability API Usage Reporting RBAC IAM Air Gap TLS Certificate Rotation Audit Storage Networking Container Registry CI / CD App Mgmt Infrastructure Container Runtime Kubernetes OPERATIONS SECURITY & GOVERNANCE What’s Kublr? @olgch, @kublr
  • 4. Building a Reliable System with Kubernetes • Day 1: trivial, K8S will restart my pod! • Day 30: this is not so simple... • What Kubernetes does, can, and doesn’t do • Full stack reliability: tools and approaches @olgch, @kublr
  • 5. Kubernetes Cluster K8S Architecture Refresher: Components The Master, agent, etcd, API, overlay network, and DNS Master API Server etcd data controller manager scheduler etcd kubectl Worker kubelet container runtime overlay network cluster DNS kube-proxy @olgch, @kublr
  • 6. Cluster K8S Architecture Refresher: API Objects Nodes, pods, services, and persistent volumes Node 1 Node 2 Pod A-1 10.0.0.3 Cnt1 Cnt2 Pod A-2 10.0.0.5 Cnt1 Cnt2 Pod B-1 10.0.0.8 Cnt3 SrvA 10.7.0.1 SrvB 10.7.0.3 Persistent Volume @olgch, @kublr
  • 7. Reliability Tools: Pod Probes and Controllers Probes Liveness and readiness check • TCP, HTTP(S), exec Controllers ReplicaSet • Maintain specific number of identical replicas Deployment • ReplicaSet + update strategy, rolling update StatefulSet • Deployment + replica identity, persistent volume stability DaemonSet • Maintain identical replicas on each node (of a specified set) Operators @olgch, @kublr
  • 8. • Resource framework • Standard: CPU, memory, disk • Custom: GPU, FPGA, etc. • Requests and limits • Kube and system reservations • no swap • Pod eviction and disruption budget (resource starving) • Pod priority and preemption (critical pods) • Affinity, anti-affinity, node selectors & matchers Reliability Tools: Resource & Location Mgmt @olgch, @kublr
  • 9. Reliability Tools: Autoscaling Horizontal pod autoscaler (HPA) Vertical pod autoscaler (VPA) • In-place updates - WIP (issue #5774) Cluster Autoscaler • Depends on infrastructure provider - uses node groups AWS ASG, Azure ScaleSets, ... • Supports AWS, Azure, GCE, GKE, Openstack, Alibaba Cloud @olgch, @kublr
  • 10. Applications/pods/containers “Middleware” • Operations: monitoring, log collection, alerting, etc. • Lifecycle: CI/CD, SCM, binary repo, etc. • Container management: registry, scanning, governance, etc. Container Persistence: cloud native storage, DB, messaging Container Orchestrator: Kubernetes • “Essentials”: overlay network, DNS, autoscaler, etc. • Core: K8S etcd, master, worker components • Container engine: Docker, CRI-O, etc. OS: kernel, network, devices, services, etc. Infrastructure: “raw” compute, network, storage Full Stack Reliability @olgch, @kublr
  • 11. Architecture 101 • Layers are separate and independent • Disposable/restartable components • Reattachable dependencies (including data) • Persistent state is separate from disposable processes Pets vs cattle - only data is allowed to be pets (ideally) @olgch, @kublr
  • 12. If a node has a problem... • Try to fix it (pet) • Replace or reset it (cattle) Infrastructure and OS Tools • In-cluster: npd, weaveworks kured, ... • hardware, kernel, servicer, container runtime issues • reboot • Infrastructure provider automation • AWS ASG, Azure Scale Set, ... • External auto node recovery logic • Custom + infrastructure provider API • Cluster management solution • (Future) cluster API @olgch, @kublr
  • 13. Components • etcd • Master: API server, controller manager, scheduler • Worker: kubelet, kube-proxy • Container runtime: Docker, CRI-O Already 12 factor Kubernetes Components: Auto-Recovery Monitor liveliness, automate restart • Run as services • Run as static pods Dependencies to care about • etcd data • K8S keys and certificates • Configuration @olgch, @kublr
  • 14. API Server controller manager scheduler API Server controller manager scheduler etcd data etcd etcd data etcd K8S multi-master • Pros: HA, scaling • Cons: need LB (server or client) etcd cluster • Pros: HA, data replication • Cons: latency, ops complexity etcd data • Local ephemeral • Local persistent (survives node failure) • Remote persistent (survives node replacement) Kubernetes Components: Multi-Master API Server etcd data controller manager scheduler etcd kubectl kubelet @olgch, @kublr
  • 15. • Persistent volumes • Volume provisioning • Storage categories • Native block storage: AWS EBS, Azure Disk, vSphere volume, attached block device, etc. • HostPath • Managed network storage: NFS, iSCSI, NAS/SAN, AWS EFS, etc. • Some of the idiosyncrasies • Topology sensitivity (e.g. AZ-local, host-local) • Cloud provider limitations (e.g. number of attached disks) • Kubernetes integration (e.g. provisioning and snapshots) Container Persistence @olgch, @kublr
  • 16. • Integrates with Kubernetes • CSI, FlexVolume, or native • Volume provisioners • Snapshots support • Runs in cluster or externally • Approach • Flexible storage on top of backing storage • Augmenting and extending backing storage • Backing storage: local, managed, Kubernetes PV • Examples: Rook/Ceph, Portworx, Nuvoloso, GlusterFS, Linstor, OpenEBS, etc. Cloud Native Storage @olgch, @kublr
  • 17. Data pool mon config data config data monmon config data Cloud Native Storage: Rook/Ceph raw data osd raw data osd raw data mdsosd Data pool Image Image Ceph Filesystem Components Abstractions Ceph rgw S3/Swift Object Store mgr Rook Operator CSI plugins osdosdganesha NFS CephCluster Block Pool Object Store Filesystem NFS Object Store User Provisioners rbd-mirror @olgch, @kublr
  • 18. Operations: monitoring, log collection, alerting, etc. Lifecycle: CI/CD, SCM, binary repo, etc. Container management: registry, scanning, governance, etc. Deployment options: • Managed service • In Kubernetes • Deploy separately Middleware @olgch, @kublr
  • 19. • Region to region; cloud to cloud; cloud to on-prem (hybrid) • One cluster (⚠) vs cluster per location (✔) Tasks • Physical network connectivity: VPN, direct • Overlay network connectivity: Calico BGP peering, Native routing • Cross-cluster DNS: CoreDNS • Cross-cluster deployment: K8S federation • Cross-cluster ingress, load balancing: K8S federation, DNS, CDN • Cross-cluster data replication • native: e.g. AWS EBS, Snapshots inter-region transfer • CNS level: e.g. Ceph geo-replication • database level: e.g. Yugabyte geo-replication, sharding, ... • application level Something Missing? Multi-Site @olgch, @kublr
  • 20. To Recap... • Kubernetes provides robust tools for application reliability • Underlying infrastructure and Kubernetes components recovery is responsibility of the cluster operator • Kubernetes is just one of the layers • Remember Architecture 101 and assess all layers accordingly • Middleware, and even CNS, can run in Kubernetes and be treated as regular applications to benefit from K8S capabilities • Multi-site HA, balancing, failover is much easier with K8S and the cloud native ecosystem. Still requires careful planning! @olgch, @kublr
  • 22. Oleg Chunikhin CTO | Kublr oleg@kublr.com Thank you! Take Kublr for a test drive! kublr.com/deploy Free non-production license @olgch, @kublr