SlideShare a Scribd company logo
Testing Kubernetes and OpenShift
@ Scale
Mike Fiedler - OpenShift System Test
Agenda
● Kubernetes/OpenShift runtimes & scalability goals
● OpenShift system testing: what does it cover?
● Installing large clusters
● Scalability test tools (the Kubernetes performance
test repo and the the OpenShift SVT repo)
● Sample results
Testing kubernetes and_open_shift_at_scale_20170209
K8s and OpenShift runtimes
● Primarily targeted at cloud platforms
○ Amazon EC2, Google Cloud Platform, Microsoft Azure
○ Enterprise-hosted cloud offerings/infra
○ On-prem cloud infra such as OpenStack
○ Bare metal and other virtualization environments, too
● Cluster sizes from all-in-one dev/sandbox to
multi-master, 1000+ nodes or federated clusters
Persistent Volume StorageNodes
node
1
node
2
EBS
(Persistent
Volumes)
S3 (Registry)
node
1000
Control Plane
master1
+ etcd1
SSD
master2
+ etcd2
SSD
master3
+ etcd3
SSD
Infrastructure Group
infra2:
HAProxy router2
docker-registry2
infra1:
HAProxy router1
docker-registry1
Application
ELB
(Routes)
External
ELB
(Console)
Internet
Int
ELB
(Nodes)
What does a cluster look like?
AWS sample:
Kubernetes SIG-scale
● Scalability special interest group
○ https://github.com/kubernetes/community/tree/master/sig-scalability
● Container workload is what matters - listen to your applications
○ The numbers here are more “control plane” - think small pods/containers
● Stated future goals:
○ Assumption: core/node = 64 (higher in the future)
○ Pods/core = 10 (depends on workload)
○ Pods/node = 500 - 640 (depends on workload, these would be small pods)
○ nodes/cluster = 5000
○ pods/cluster = 500,000 (note: less than node x pods/node)
○ pod startup time < 5 seconds
○ Schedule 100 pods/second
Current OpenShift numbers
● Nodes/cluster = 1000
● Pods/core = 10 (default, tunable)
● Pods/node = 250
OpenShift System Test
System Test team in Red Hat
● Kubernetes and OpenShift Scalability
○ Cluster horizontal scale
■ # of nodes
■ # of running pods across all nodes
■ application traffic
○ Node vertical scale
■ # of pods running on a single node
■ workload that a single node can support (applications, builds, storage)
○ Application scalability
■ Scale # of application replicas up/down
System Test team in Red Hat
● Performance
○ Resource usage and response times for scenarios and workloads
■ 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)
System Test team in Red Hat
● Reliability
○ Simulated user workloads
■ monthly, weekly, daily, hourly, minute activities
■ accelerated to run faster than real-time
○ Run for extended periods and measure CPU, memory, I/O,
network over time
SVT Challenges/Fun
● Installation
○ 1000+ node installs are time consuming (multiple hours)
○ On public cloud providers, time = $$$. Maximize time testing
○ 500 node test cluster on AWS is around USD $1500 - 2000/day
● Verifying that a cluster is viable
○ Don’t waste time on buggy clusters
● Loading up a cluster with application containers
● Putting a workload on the cluster
● Collecting performance data in large clusters
Installing Large Clusters
Install
● Upstream Kubernetes has a variety of install methods
○ Scripted, kubeadm, GKE, Ansible
● OpenShift install is Ansible-based
○ RPM install + pull of docker images. Containerized install available, too.
○ Network intensive - try to minimize downloads
● OpenShift SVT Gold image provisioner
○ Watches for new builds of OpenShift - multiple per week
○ Creates AMI and qcow2 images for every OpenShift puddle
○ RHEL OS setup, filesystem setup, tools
○ Pre-install OpenShift RPMs and pre-pull all docker images
○ Clone git repos and install performance tools
Install
● Ansible install and then verify cluster “core”
○ masters, etcd, load balancer, infrastructure + 3-5 app nodes
○ run e2e conformance tests (more on this later)
● Scale up with additional application nodes
● Playbooks:
○ github.com/openshift/openshift-ansible/playbooks/byo/config.yml
○ github.com/openshift/openshift-ansible/playbooks/byo/openshift-node/scaleup.yml
Persistent Volume StorageNodes
node
1
node
2
EBS
(Persistent
Volumes)
S3
(Registry)
node
1000
Control Plane
master1
+ etcd1
SSD
master2
+ etcd2
SSD
master3
+ etcd3
SSD
Infra Group infra2:
HAProxy
router2
docker-registry2
infra1:
HAProxy
router1
docker-registry1
Application
ELB
(Routes)
External
ELB
(Console)
Internet
Int
ELB
(Nodes)
Scalability Test Tools
Kubernetes e2e and perf test
● e2e (end-to-end) tests
○ https://github.com/kubernetes/community/blob/master/contributors/devel/e2e-te
sts.md
○ Subset of e2e tests are tagged as Conformance.
○ Conformance = minimum supported functionality for operational cluster
○ OpenShift also adds some additional Conformance tests if you yum install
atomic-openshift-tests on top of OpenShift
● Performance tests
○ https://github.com/kubernetes/perf-tests
○ Work in progress
OpenShift SVT repo
● https://github.com/openshift/svt
● Tools for OpenShift performance, scale, reliability
○ cluster load-up
○ traffic generation
○ concurrent builds, deployments, pod start/stop
○ reliability testing
○ network performance
○ logging and metrics tests
● Automated and executed from Jenkins
Cluster load-up
● cluster-loader - python tool to quickly load clusters according to a YAML test
specification. Takes advantage of OpenShift’s template capabilities
● Can be used with Kubernetes or OpenShift
● SVT repository has sample YAML configurations for node vertical, cluster horizontal,
“Quick Start” applications with and without persistent storage.
“I want an environment with thousands of deployments, pods (with persistent storage), build
configurations, routes, services, secrets and more…”
projects:
- num: 1000
basename: nginx-explorer
tuning: default
templates:
- num: 10
file: cluster-loader/nginx.yaml
- num: 20
file: cluster-loader/explorer-pod.yaml
Cluster traffic generation
● cluster-loader can also run in traffic generation mode
● Runs a JMeter pod to generate traffic against applications (installed
by cluster-loader or otherwise)
● Hit rate, throughput, response codes, response times, etc
● Discovers applications, exposed routes, etc
● Currently OpenShift only, but working on an upstream version.
Short Demo
Cluster-loader Demo
Performance Tools
● PBench: Performance and Benchmark Analysis
Framework
○ pbench-agent: collection agent and harness for running tests.
■ Collects data from sar, vmstat, iostat, pidstat, perf, etc
■ Extensible: additional data collectors can be added
■ Packages raw data from a test and ships it to pbench-server
○ pbench-server: processes raw data from all systems under test
○ web-server: provides visualization of data
https://github.com/distributed-system-analysis/pbench
Sample Results
Loading 250 pods/node 20 pods at
a time with 3 minute pauses
Master 1 - is the controller leader for
most of the run
Master 2 - has to pick up controller
leader when Master 1 fails
Loading on OSP 8 cluster:
● 500 nodes
● 20K projects
● 52K pods
Masters are 40vCPU and peak out at
22 cores used.
Create/delete hundreds of pods : Amazon EBS IOPs credit exhaustion - AWS “I/O
cliff”
gp2 EBS volumes on EC2 can run “fast” until their IOPS credits are exhausted
After that, they are throttled to 3 iops/gb until credits build back up
Resources
Kubernetes sig-testing: https://kubernetes.slack.com/messages/sig-testing/
Kubernetes sig-scale: https://kubernetes.slack.com/messages/sig-scale/
OpenShift IRC: #openshift-dev
OpenShift SVT repo: https://github.com/openshift/svt

More Related Content

PDF
KubeCon EU 2016: Heroku to Kubernetes
PDF
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
PDF
From Code to Kubernetes
PDF
OpenShift v3 Internal networking details
PDF
Deploying WSO2 Middleware on Kubernetes
PPTX
K8s best practices from the field!
PDF
DevConf 2017 - Realistic Container Platform Simulations
ODP
Build a PaaS with OpenShift Origin
KubeCon EU 2016: Heroku to Kubernetes
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
From Code to Kubernetes
OpenShift v3 Internal networking details
Deploying WSO2 Middleware on Kubernetes
K8s best practices from the field!
DevConf 2017 - Realistic Container Platform Simulations
Build a PaaS with OpenShift Origin

What's hot (20)

PDF
Docker for HPC in a Nutshell
PPTX
Containers and HPC
PPTX
Kubernetes and OpenStack at Scale
PDF
Kubernetes in Docker
PDF
DockerCon US 2016 - Extending Docker With APIs, Drivers, and Plugins
PDF
Fabric8 - Being devOps doesn't suck anymore
PPTX
containerd the universal container runtime
PDF
Dockerizing OpenStack for High Availability
PDF
Linuxcon secureefficientcontainerimagemanagementharbor
PDF
Building stateful applications on Kubernetes with Rook
PPTX
Kubernetes Introduction & Whats new in Kubernetes 1.6
PDF
Running Production-Grade Kubernetes on AWS
PDF
Releasing a Distribution in the Age of DevOps.
PPTX
HP Advanced Technology Group: Docker and Ansible
PPTX
OpenShift Application Development | DO288 | Red Hat OpenShift
PDF
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
PPTX
KubeCon EU 2016: Multi-Tenant Kubernetes
PPTX
Docker for PHP Developers - Jetbrains
PDF
Deep dive into Kubernetes Networking
PDF
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Docker for HPC in a Nutshell
Containers and HPC
Kubernetes and OpenStack at Scale
Kubernetes in Docker
DockerCon US 2016 - Extending Docker With APIs, Drivers, and Plugins
Fabric8 - Being devOps doesn't suck anymore
containerd the universal container runtime
Dockerizing OpenStack for High Availability
Linuxcon secureefficientcontainerimagemanagementharbor
Building stateful applications on Kubernetes with Rook
Kubernetes Introduction & Whats new in Kubernetes 1.6
Running Production-Grade Kubernetes on AWS
Releasing a Distribution in the Age of DevOps.
HP Advanced Technology Group: Docker and Ansible
OpenShift Application Development | DO288 | Red Hat OpenShift
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
KubeCon EU 2016: Multi-Tenant Kubernetes
Docker for PHP Developers - Jetbrains
Deep dive into Kubernetes Networking
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Ad

Viewers also liked (20)

PPTX
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
PDF
Scalable Python with Docker, Kubernetes, OpenShift
PDF
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
PPTX
RackN DevOps meetup NYC
PDF
Welcome talk for Moscow Kubernetes Meetup 1
PDF
Net core, mssql, container und kubernetes
PDF
Opening: builderscon tokyo 2016
PDF
Mirantis Contributions to Kubernetes Ecosystem
PPTX
Keeping up with Tech
PPTX
Microservices summit talk 1/31
PPTX
Ростислав Фридман: “Kubernetes как средство управления микросервисами"
PDF
Docker Containers in Azure
PPTX
Deploy your favorite apps on Kubernetes
PPTX
Kubernetes as Orchestrator for A10 Lightning Controller
PDF
Google Cloud Computing compares GCE, GAE and GKE
PPTX
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
PDF
Kubernetes API - deep dive into the kube-apiserver
PDF
Bangalore Container Conference - Sponsor Deck
PDF
Kubernetes - Starting with 1.2
PPTX
Introduction to container mangement
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Scalable Python with Docker, Kubernetes, OpenShift
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
RackN DevOps meetup NYC
Welcome talk for Moscow Kubernetes Meetup 1
Net core, mssql, container und kubernetes
Opening: builderscon tokyo 2016
Mirantis Contributions to Kubernetes Ecosystem
Keeping up with Tech
Microservices summit talk 1/31
Ростислав Фридман: “Kubernetes как средство управления микросервисами"
Docker Containers in Azure
Deploy your favorite apps on Kubernetes
Kubernetes as Orchestrator for A10 Lightning Controller
Google Cloud Computing compares GCE, GAE and GKE
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
Kubernetes API - deep dive into the kube-apiserver
Bangalore Container Conference - Sponsor Deck
Kubernetes - Starting with 1.2
Introduction to container mangement
Ad

Similar to Testing kubernetes and_open_shift_at_scale_20170209 (20)

PDF
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
PDF
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
PDF
High%20Level%20-%20OpenShift%204%20Technical%20Deep%20Dive%20-%202024%20-%20I...
PDF
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
PDF
CNCF Meetup - OpenShift Overview
PPTX
OpenShift Enterprise 3.1 vs kubernetes
PDF
Scaling Up Logging and Metrics
PPTX
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
PDF
F5 OpenShift Workshop
PDF
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
PDF
8 - OpenShift - A look at a container platform: what's in the box
PDF
Openshift: The power of kubernetes for engineers - Riga Dev Days 18
PDF
Ippevent : openshift Introduction
PPTX
DEVNET-1183 OpenShift + Kubernetes + Docker
PPTX
APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
PDF
Red Hat OpenShift & CoreOS by Ludovic Aelbrecht, Senior Solution Architect at...
PDF
Kubernetes: My BFF
PPTX
OCP Datacomm RedHat - Kubernetes Launch
PDF
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
PPTX
Open shift enterprise 3.1 paas on kubernetes
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
High%20Level%20-%20OpenShift%204%20Technical%20Deep%20Dive%20-%202024%20-%20I...
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
CNCF Meetup - OpenShift Overview
OpenShift Enterprise 3.1 vs kubernetes
Scaling Up Logging and Metrics
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
F5 OpenShift Workshop
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
8 - OpenShift - A look at a container platform: what's in the box
Openshift: The power of kubernetes for engineers - Riga Dev Days 18
Ippevent : openshift Introduction
DEVNET-1183 OpenShift + Kubernetes + Docker
APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Red Hat OpenShift & CoreOS by Ludovic Aelbrecht, Senior Solution Architect at...
Kubernetes: My BFF
OCP Datacomm RedHat - Kubernetes Launch
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Open shift enterprise 3.1 paas on kubernetes

Recently uploaded (20)

PDF
Mushroom cultivation and it's methods.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPT
Teaching material agriculture food technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
A Presentation on Artificial Intelligence
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Spectral efficient network and resource selection model in 5G networks
Mushroom cultivation and it's methods.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
TLE Review Electricity (Electricity).pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
OMC Textile Division Presentation 2021.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
Diabetes mellitus diagnosis method based random forest with bat algorithm
A Presentation on Artificial Intelligence
NewMind AI Weekly Chronicles - August'25-Week II
Heart disease approach using modified random forest and particle swarm optimi...
Spectroscopy.pptx food analysis technology
Empathic Computing: Creating Shared Understanding
Reach Out and Touch Someone: Haptics and Empathic Computing
Programs and apps: productivity, graphics, security and other tools
A comparative analysis of optical character recognition models for extracting...
Spectral efficient network and resource selection model in 5G networks

Testing kubernetes and_open_shift_at_scale_20170209

  • 1. Testing Kubernetes and OpenShift @ Scale Mike Fiedler - OpenShift System Test
  • 2. Agenda ● Kubernetes/OpenShift runtimes & scalability goals ● OpenShift system testing: what does it cover? ● Installing large clusters ● Scalability test tools (the Kubernetes performance test repo and the the OpenShift SVT repo) ● Sample results
  • 4. K8s and OpenShift runtimes ● Primarily targeted at cloud platforms ○ Amazon EC2, Google Cloud Platform, Microsoft Azure ○ Enterprise-hosted cloud offerings/infra ○ On-prem cloud infra such as OpenStack ○ Bare metal and other virtualization environments, too ● Cluster sizes from all-in-one dev/sandbox to multi-master, 1000+ nodes or federated clusters
  • 5. Persistent Volume StorageNodes node 1 node 2 EBS (Persistent Volumes) S3 (Registry) node 1000 Control Plane master1 + etcd1 SSD master2 + etcd2 SSD master3 + etcd3 SSD Infrastructure Group infra2: HAProxy router2 docker-registry2 infra1: HAProxy router1 docker-registry1 Application ELB (Routes) External ELB (Console) Internet Int ELB (Nodes) What does a cluster look like? AWS sample:
  • 6. Kubernetes SIG-scale ● Scalability special interest group ○ https://github.com/kubernetes/community/tree/master/sig-scalability ● Container workload is what matters - listen to your applications ○ The numbers here are more “control plane” - think small pods/containers ● Stated future goals: ○ Assumption: core/node = 64 (higher in the future) ○ Pods/core = 10 (depends on workload) ○ Pods/node = 500 - 640 (depends on workload, these would be small pods) ○ nodes/cluster = 5000 ○ pods/cluster = 500,000 (note: less than node x pods/node) ○ pod startup time < 5 seconds ○ Schedule 100 pods/second
  • 7. Current OpenShift numbers ● Nodes/cluster = 1000 ● Pods/core = 10 (default, tunable) ● Pods/node = 250
  • 9. System Test team in Red Hat ● Kubernetes and OpenShift Scalability ○ Cluster horizontal scale ■ # of nodes ■ # of running pods across all nodes ■ application traffic ○ Node vertical scale ■ # of pods running on a single node ■ workload that a single node can support (applications, builds, storage) ○ Application scalability ■ Scale # of application replicas up/down
  • 10. System Test team in Red Hat ● Performance ○ Resource usage and response times for scenarios and workloads ■ 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)
  • 11. System Test team in Red Hat ● Reliability ○ Simulated user workloads ■ monthly, weekly, daily, hourly, minute activities ■ accelerated to run faster than real-time ○ Run for extended periods and measure CPU, memory, I/O, network over time
  • 12. SVT Challenges/Fun ● Installation ○ 1000+ node installs are time consuming (multiple hours) ○ On public cloud providers, time = $$$. Maximize time testing ○ 500 node test cluster on AWS is around USD $1500 - 2000/day ● Verifying that a cluster is viable ○ Don’t waste time on buggy clusters ● Loading up a cluster with application containers ● Putting a workload on the cluster ● Collecting performance data in large clusters
  • 14. Install ● Upstream Kubernetes has a variety of install methods ○ Scripted, kubeadm, GKE, Ansible ● OpenShift install is Ansible-based ○ RPM install + pull of docker images. Containerized install available, too. ○ Network intensive - try to minimize downloads ● OpenShift SVT Gold image provisioner ○ Watches for new builds of OpenShift - multiple per week ○ Creates AMI and qcow2 images for every OpenShift puddle ○ RHEL OS setup, filesystem setup, tools ○ Pre-install OpenShift RPMs and pre-pull all docker images ○ Clone git repos and install performance tools
  • 15. Install ● Ansible install and then verify cluster “core” ○ masters, etcd, load balancer, infrastructure + 3-5 app nodes ○ run e2e conformance tests (more on this later) ● Scale up with additional application nodes ● Playbooks: ○ github.com/openshift/openshift-ansible/playbooks/byo/config.yml ○ github.com/openshift/openshift-ansible/playbooks/byo/openshift-node/scaleup.yml
  • 16. Persistent Volume StorageNodes node 1 node 2 EBS (Persistent Volumes) S3 (Registry) node 1000 Control Plane master1 + etcd1 SSD master2 + etcd2 SSD master3 + etcd3 SSD Infra Group infra2: HAProxy router2 docker-registry2 infra1: HAProxy router1 docker-registry1 Application ELB (Routes) External ELB (Console) Internet Int ELB (Nodes)
  • 18. Kubernetes e2e and perf test ● e2e (end-to-end) tests ○ https://github.com/kubernetes/community/blob/master/contributors/devel/e2e-te sts.md ○ Subset of e2e tests are tagged as Conformance. ○ Conformance = minimum supported functionality for operational cluster ○ OpenShift also adds some additional Conformance tests if you yum install atomic-openshift-tests on top of OpenShift ● Performance tests ○ https://github.com/kubernetes/perf-tests ○ Work in progress
  • 19. OpenShift SVT repo ● https://github.com/openshift/svt ● Tools for OpenShift performance, scale, reliability ○ cluster load-up ○ traffic generation ○ concurrent builds, deployments, pod start/stop ○ reliability testing ○ network performance ○ logging and metrics tests ● Automated and executed from Jenkins
  • 20. Cluster load-up ● cluster-loader - python tool to quickly load clusters according to a YAML test specification. Takes advantage of OpenShift’s template capabilities ● Can be used with Kubernetes or OpenShift ● SVT repository has sample YAML configurations for node vertical, cluster horizontal, “Quick Start” applications with and without persistent storage. “I want an environment with thousands of deployments, pods (with persistent storage), build configurations, routes, services, secrets and more…” projects: - num: 1000 basename: nginx-explorer tuning: default templates: - num: 10 file: cluster-loader/nginx.yaml - num: 20 file: cluster-loader/explorer-pod.yaml
  • 21. Cluster traffic generation ● cluster-loader can also run in traffic generation mode ● Runs a JMeter pod to generate traffic against applications (installed by cluster-loader or otherwise) ● Hit rate, throughput, response codes, response times, etc ● Discovers applications, exposed routes, etc ● Currently OpenShift only, but working on an upstream version.
  • 23. Performance Tools ● PBench: Performance and Benchmark Analysis Framework ○ pbench-agent: collection agent and harness for running tests. ■ Collects data from sar, vmstat, iostat, pidstat, perf, etc ■ Extensible: additional data collectors can be added ■ Packages raw data from a test and ships it to pbench-server ○ pbench-server: processes raw data from all systems under test ○ web-server: provides visualization of data https://github.com/distributed-system-analysis/pbench
  • 25. Loading 250 pods/node 20 pods at a time with 3 minute pauses
  • 26. Master 1 - is the controller leader for most of the run Master 2 - has to pick up controller leader when Master 1 fails Loading on OSP 8 cluster: ● 500 nodes ● 20K projects ● 52K pods Masters are 40vCPU and peak out at 22 cores used.
  • 27. Create/delete hundreds of pods : Amazon EBS IOPs credit exhaustion - AWS “I/O cliff” gp2 EBS volumes on EC2 can run “fast” until their IOPS credits are exhausted After that, they are throttled to 3 iops/gb until credits build back up
  • 28. Resources Kubernetes sig-testing: https://kubernetes.slack.com/messages/sig-testing/ Kubernetes sig-scale: https://kubernetes.slack.com/messages/sig-scale/ OpenShift IRC: #openshift-dev OpenShift SVT repo: https://github.com/openshift/svt