SlideShare a Scribd company logo
Wicked fast PaaS: Performance tuning of
OpenShift 3.5 and Docker 1.12
Red Hat OpenShift Engineering
Jeremy Eder and Mike Fiedler, 2017-05-03
Red Hat Summit 2017:  Wicked Fast PaaS: Performance Tuning of OpenShift and Docker
Awesome titles such as ...
Red Hat Summit 2017:  Wicked Fast PaaS: Performance Tuning of OpenShift and Docker
if [ “$containers” = “linux” ];
then
echo “fundamentals don’t change”
fi
Subsystem Food Groups
Terminology Overview
Control Plane
Compute Nodes and Storage Tier
Infrastructure
master
and etcd
master
and etcd
master
and etcd
registry
and
router
registry
and
router
LB
Let’s just get this out of the way
● We’re talking about OCP 3.5 or later
● Slides: https://www.slideshare.net/jeremyeder/
● Code: https://github.com/openshift/svt
● There’s no video recording of this.
Deploying 2048 OpenShift nodes on the CNCF Cluster
https://www.cncf.io/blog/2017/03/28/deploying-2048-openshift-nodes-cncf-cluster-part-2/
OpenShift 3.5: Installation
https://docs.openshift.org/latest/scaling_performance/install_practices.html
[defaults]
forks = 20
gathering = smart
fact_caching = jsonfile
fact_caching_timeout = 600
callback_whitelist = profile_tasks
[ssh_connection]
ssh_args = -o ControlMaster=auto -o
ControlPersist=600s
control_path = %(directory)s/%%h-%%r
pipelining = True
timeout = 10
Docker Graph Driver: devicemapper vs overlay2
● RHEL 7.4
● SELinux
● Overlay2
Container Native Storage
● Dynamic
● Hyperconverged
● Scalable
● Performant
CNS Session Thu 11:30a, Rm 157A
NODENODENODE NODE
POD POD POD POD POD POD POD
POD POD POD
RHGS RHGS RHGS
POD POD POD
MASTER
Container Native Storage: StorageClasses
apiVersion: storage.k8s.io/v1beta1
kind: StorageClass
metadata:
name: cnsclass
provisioner: kubernetes.io/glusterfs
parameters:
resturl: "http://172.25.87.92:8080"
restuser: "admin"
apiVersion: storage.k8s.io/v1beta1
kind: StorageClass
metadata:
name: ec2class
provisioner: kubernetes.io/aws-ebs
parameters:
type: io1
zone: us-west-2b
Container Native Storage
● Dynamic
● Hyperconverged
● Scalable
● Performant
Container Native Storage
distributed key value store that provides a
reliable way to store data across a cluster
of machines
OpenShift 3.5: etcd-3.1.x
● etcd-2.x limited node scalability
● etcd-3.x gets us to 2000+ nodes comfortably
● Image metadata moved from etcd to registry in
3.4.z and 3.5.
https://www.cncf.io/blog/2017/03/28/deploying-2048-openshift-nodes-cncf-cluster-part-2/
OpenShift 3.5: Image Metadata moved to Registry
OpenShift 3.5: etcd-3.1, storage mode v2, 5K
projects
Quorum Reads added in OCP 3.4 for data safety
OpenShift 3.5: etcd-3.1.x, 1k proj/4k pods
OpenShift 3.5: Metrics
● Bump scalability limits 12,000 → 25,000 pods
● METRICS_DURATION=7, METRICS_RESOLUTION=30
● Capacity Planning and Scalability docs
Heapster Hawkular Cassandra
(collection) (metrics) (storage)
OpenShift 3.5: Logging (EFK)
● Logging Sizing Guidelines
systemd/Fluentd Elasticsearch Kibana
(collection) (storage) (visualization)
OpenShift 3.5: Routing/Network Ingress Tier
● HAProxy-based ingress tier (haproxy runs as a
pod)
OpenShift 3.5: Routing/Network Ingress Tier
OpenShift 3.5: Alpha Support for GPUs
● Works fine
● Mostly manual for now
● GA gated on finalizing resource management
https://blog.openshift.com/use-gpus-openshift-kubernetes/
Tooling
“I want an environment with thousands of
deployments, pods (with persistent storage), build
configurations, routes, services, secrets and
more…”
http://sandeen.net/wordpress/uncategorized/coming-clean-on-o_ponies/
“I want an environment with thousands of
deployments, pods (with persistent storage), build
configurations, routes, services, secrets and
more…”
http://sandeen.net/wordpress/uncategorized/coming-clean-on-o_ponies/
OpenShift Scalability Testing
● Cluster horizontal scale
○ # of nodes, # of running pods across all nodes
○ application traffic
● Node vertical scale
○ # of pods running on a single node
○ work that 1 node can support (applications, builds, storage)
● Application scalability
○ Scale # of application replicas up/down
OpenShift Performance Tests
● Resource usage/response times for scenarios
○ Application workload and access performance
○ Builds (OpenShift)
○ Metrics and Log collection
● OpenShift infrastructure performance
○ Resource usage of processes under load
○ Network (SDN) throughput
○ Routing
○ Storage (EBS, Ceph, Gluster, Cinder, etc)
Tools
● https://github.com/openshift/svt
○ cluster load-up
○ traffic generation
○ concurrent builds, deployments, pod start/stop
○ reliability testing
○ network performance
○ logging and metrics tests
Cluster loader
● cluster-loader - python tool
to quickly load clusters
according to a YAML test
specification.
● Can be used with Kubernetes
or OpenShift
projects:
- num: 1000
basename: nginx-explorer
tuning: default
templates:
- num: 10
file:
cluster-loader/nginx.yaml
- num: 20
file:
cluster-loader/explorer-pod.yaml
Demo
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

More Related Content

PDF
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
PDF
OSCON 2017: To contain or not to contain
PDF
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...
PDF
DevConf 2017 - Realistic Container Platform Simulations
PDF
CEPH DAY BERLIN - DEPLOYING CEPH IN KUBERNETES WITH ROOK
PDF
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
PDF
Red Hat Storage Roadmap
PDF
Ceph Tech Talk: Ceph at DigitalOcean
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
OSCON 2017: To contain or not to contain
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...
DevConf 2017 - Realistic Container Platform Simulations
CEPH DAY BERLIN - DEPLOYING CEPH IN KUBERNETES WITH ROOK
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Red Hat Storage Roadmap
Ceph Tech Talk: Ceph at DigitalOcean

What's hot (20)

PDF
Remote secured storage
PDF
Manila, an update from Liberty, OpenStack Summit - Tokyo
PDF
HPC in a Box - Docker Workshop at ISC 2015
PPTX
Containers and HPC
PPTX
Why you’re going to fail running java on docker!
PDF
NantOmics
PPTX
RedisConf17- Using Redis at scale @ Twitter
PDF
Supercomputing by API: Connecting Modern Web Apps to HPC
PDF
Cephfs - Red Hat Openstack and Ceph meetup, Pune 28th november 2015
PPTX
Kubernetes and OpenStack at Scale
PDF
Data Reduction for Gluster with VDO
PDF
Ceph RBD Update - June 2021
PDF
K8s storage-glusterfs-20180210
PDF
2021.06. Ceph Project Update
PDF
AWS Lambda and serverless Java | DevNation Live
PDF
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
ODP
Persistent Storage in Openshift using GlusterFS
KEY
Handling Redis failover with ZooKeeper
PDF
How to Prepare for CKA Exam
PDF
Ceph Month 2021: RADOS Update
Remote secured storage
Manila, an update from Liberty, OpenStack Summit - Tokyo
HPC in a Box - Docker Workshop at ISC 2015
Containers and HPC
Why you’re going to fail running java on docker!
NantOmics
RedisConf17- Using Redis at scale @ Twitter
Supercomputing by API: Connecting Modern Web Apps to HPC
Cephfs - Red Hat Openstack and Ceph meetup, Pune 28th november 2015
Kubernetes and OpenStack at Scale
Data Reduction for Gluster with VDO
Ceph RBD Update - June 2021
K8s storage-glusterfs-20180210
2021.06. Ceph Project Update
AWS Lambda and serverless Java | DevNation Live
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
Persistent Storage in Openshift using GlusterFS
Handling Redis failover with ZooKeeper
How to Prepare for CKA Exam
Ceph Month 2021: RADOS Update
Ad

Similar to Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and Docker (20)

PDF
Ippevent : openshift Introduction
PDF
Scaling Up Logging and Metrics
PDF
Testing kubernetes and_open_shift_at_scale_20170209
PDF
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
PPTX
openshift technical overview - Flow of openshift containerisatoin
PDF
F5 OpenShift Workshop
PPTX
Jaspreet webinar-cns
PDF
OpenShift-Technical-Overview.pdf
PPTX
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
PDF
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
PDF
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
PDF
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
PDF
Scalability and Performance of CNS 3.6
PDF
Open shift 4 infra deep dive
PDF
Open shift deployment review getting ready for day 2 operations
PDF
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
PPTX
DevOps best practices with OpenShift
PDF
OpenShift As A DevOps Platform
PDF
CNCF Meetup - OpenShift Overview
PDF
Kubernetes: My BFF
Ippevent : openshift Introduction
Scaling Up Logging and Metrics
Testing kubernetes and_open_shift_at_scale_20170209
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
openshift technical overview - Flow of openshift containerisatoin
F5 OpenShift Workshop
Jaspreet webinar-cns
OpenShift-Technical-Overview.pdf
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Scalability and Performance of CNS 3.6
Open shift 4 infra deep dive
Open shift deployment review getting ready for day 2 operations
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
DevOps best practices with OpenShift
OpenShift As A DevOps Platform
CNCF Meetup - OpenShift Overview
Kubernetes: My BFF
Ad

More from Jeremy Eder (7)

PDF
NVIDIA GTC 2019: Red Hat and the NVIDIA DGX: Tried, Tested, Trusted
PDF
Best practices for optimizing Red Hat platforms for large scale datacenter de...
PDF
Red Hat Summit 2018 5 New High Performance Features in OpenShift
PDF
NVIDIA GTC 2018: Spectre/Meltdown Impact on High Performance Workloads
PDF
NVIDIA GTC 2018: Enabling GPU-as-a-Service Providers with Red Hat OpenShift
PDF
Triangle Kubernetes Meetup - Performance Sensitive Apps in OpenShift
PDF
KubeCon 2017 - Kubernetes SIG Scheduling and Resource Management Working Grou...
NVIDIA GTC 2019: Red Hat and the NVIDIA DGX: Tried, Tested, Trusted
Best practices for optimizing Red Hat platforms for large scale datacenter de...
Red Hat Summit 2018 5 New High Performance Features in OpenShift
NVIDIA GTC 2018: Spectre/Meltdown Impact on High Performance Workloads
NVIDIA GTC 2018: Enabling GPU-as-a-Service Providers with Red Hat OpenShift
Triangle Kubernetes Meetup - Performance Sensitive Apps in OpenShift
KubeCon 2017 - Kubernetes SIG Scheduling and Resource Management Working Grou...

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Modernizing your data center with Dell and AMD
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
PPTX
A Presentation on Artificial Intelligence
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Modernizing your data center with Dell and AMD
Understanding_Digital_Forensics_Presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.
A Presentation on Artificial Intelligence

Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and Docker

  • 1. Wicked fast PaaS: Performance tuning of OpenShift 3.5 and Docker 1.12 Red Hat OpenShift Engineering Jeremy Eder and Mike Fiedler, 2017-05-03
  • 5. if [ “$containers” = “linux” ]; then echo “fundamentals don’t change” fi
  • 7. Terminology Overview Control Plane Compute Nodes and Storage Tier Infrastructure master and etcd master and etcd master and etcd registry and router registry and router LB
  • 8. Let’s just get this out of the way ● We’re talking about OCP 3.5 or later ● Slides: https://www.slideshare.net/jeremyeder/ ● Code: https://github.com/openshift/svt ● There’s no video recording of this.
  • 9. Deploying 2048 OpenShift nodes on the CNCF Cluster https://www.cncf.io/blog/2017/03/28/deploying-2048-openshift-nodes-cncf-cluster-part-2/
  • 10. OpenShift 3.5: Installation https://docs.openshift.org/latest/scaling_performance/install_practices.html [defaults] forks = 20 gathering = smart fact_caching = jsonfile fact_caching_timeout = 600 callback_whitelist = profile_tasks [ssh_connection] ssh_args = -o ControlMaster=auto -o ControlPersist=600s control_path = %(directory)s/%%h-%%r pipelining = True timeout = 10
  • 11. Docker Graph Driver: devicemapper vs overlay2 ● RHEL 7.4 ● SELinux ● Overlay2
  • 12. Container Native Storage ● Dynamic ● Hyperconverged ● Scalable ● Performant CNS Session Thu 11:30a, Rm 157A NODENODENODE NODE POD POD POD POD POD POD POD POD POD POD RHGS RHGS RHGS POD POD POD MASTER
  • 13. Container Native Storage: StorageClasses apiVersion: storage.k8s.io/v1beta1 kind: StorageClass metadata: name: cnsclass provisioner: kubernetes.io/glusterfs parameters: resturl: "http://172.25.87.92:8080" restuser: "admin" apiVersion: storage.k8s.io/v1beta1 kind: StorageClass metadata: name: ec2class provisioner: kubernetes.io/aws-ebs parameters: type: io1 zone: us-west-2b
  • 14. Container Native Storage ● Dynamic ● Hyperconverged ● Scalable ● Performant
  • 16. distributed key value store that provides a reliable way to store data across a cluster of machines
  • 17. OpenShift 3.5: etcd-3.1.x ● etcd-2.x limited node scalability ● etcd-3.x gets us to 2000+ nodes comfortably ● Image metadata moved from etcd to registry in 3.4.z and 3.5. https://www.cncf.io/blog/2017/03/28/deploying-2048-openshift-nodes-cncf-cluster-part-2/
  • 18. OpenShift 3.5: Image Metadata moved to Registry
  • 19. OpenShift 3.5: etcd-3.1, storage mode v2, 5K projects Quorum Reads added in OCP 3.4 for data safety
  • 20. OpenShift 3.5: etcd-3.1.x, 1k proj/4k pods
  • 21. OpenShift 3.5: Metrics ● Bump scalability limits 12,000 → 25,000 pods ● METRICS_DURATION=7, METRICS_RESOLUTION=30 ● Capacity Planning and Scalability docs Heapster Hawkular Cassandra (collection) (metrics) (storage)
  • 22. OpenShift 3.5: Logging (EFK) ● Logging Sizing Guidelines systemd/Fluentd Elasticsearch Kibana (collection) (storage) (visualization)
  • 23. OpenShift 3.5: Routing/Network Ingress Tier ● HAProxy-based ingress tier (haproxy runs as a pod)
  • 25. OpenShift 3.5: Alpha Support for GPUs ● Works fine ● Mostly manual for now ● GA gated on finalizing resource management https://blog.openshift.com/use-gpus-openshift-kubernetes/
  • 27. “I want an environment with thousands of deployments, pods (with persistent storage), build configurations, routes, services, secrets and more…” http://sandeen.net/wordpress/uncategorized/coming-clean-on-o_ponies/
  • 28. “I want an environment with thousands of deployments, pods (with persistent storage), build configurations, routes, services, secrets and more…” http://sandeen.net/wordpress/uncategorized/coming-clean-on-o_ponies/
  • 29. OpenShift Scalability Testing ● Cluster horizontal scale ○ # of nodes, # of running pods across all nodes ○ application traffic ● Node vertical scale ○ # of pods running on a single node ○ work that 1 node can support (applications, builds, storage) ● Application scalability ○ Scale # of application replicas up/down
  • 30. OpenShift Performance Tests ● Resource usage/response times for scenarios ○ Application workload and access performance ○ Builds (OpenShift) ○ Metrics and Log collection ● OpenShift infrastructure performance ○ Resource usage of processes under load ○ Network (SDN) throughput ○ Routing ○ Storage (EBS, Ceph, Gluster, Cinder, etc)
  • 31. Tools ● https://github.com/openshift/svt ○ cluster load-up ○ traffic generation ○ concurrent builds, deployments, pod start/stop ○ reliability testing ○ network performance ○ logging and metrics tests
  • 32. Cluster loader ● cluster-loader - python tool to quickly load clusters according to a YAML test specification. ● Can be used with Kubernetes or OpenShift projects: - num: 1000 basename: nginx-explorer tuning: default templates: - num: 10 file: cluster-loader/nginx.yaml - num: 20 file: cluster-loader/explorer-pod.yaml
  • 33. Demo