All Projects → cloud-bulldozer → Benchmark Operator

cloud-bulldozer / Benchmark Operator

Licence: apache-2.0
The Chuck Norris of cloud benchmarks

Projects that are alternatives of or similar to Benchmark Operator

k6-operator
An operator for running distributed k6 tests.
Stars: ✭ 170 (+30.77%)
Mutual labels:  kubernetes-operator, performance-testing
Argocd Operator
A Kubernetes operator for managing Argo CD clusters.
Stars: ✭ 151 (+16.15%)
Mutual labels:  openshift, kubernetes-operator
K8up
Kubernetes and OpenShift Backup Operator
Stars: ✭ 130 (+0%)
Mutual labels:  openshift, kubernetes-operator
pulp-operator
Kubernetes Operator for Pulp 3. Under active development.
Stars: ✭ 32 (-75.38%)
Mutual labels:  openshift, kubernetes-operator
abstract-operator
Library/SDK for creating the operators for Kubernetes and Openshift.
Stars: ✭ 60 (-53.85%)
Mutual labels:  openshift, kubernetes-operator
infinispan-operator
Infinispan Operator
Stars: ✭ 32 (-75.38%)
Mutual labels:  openshift, kubernetes-operator
Strimzi Kafka Operator
Apache Kafka running on Kubernetes
Stars: ✭ 2,833 (+2079.23%)
Mutual labels:  openshift, kubernetes-operator
grafana-operator
An operator for Grafana that installs and manages Grafana instances, Dashboards and Datasources through Kubernetes/OpenShift CRs
Stars: ✭ 449 (+245.38%)
Mutual labels:  openshift, kubernetes-operator
spark-operator
Operator for managing the Spark clusters on Kubernetes and OpenShift.
Stars: ✭ 129 (-0.77%)
Mutual labels:  openshift, kubernetes-operator
Moon
An efficient Selenium protocol implementation running everything in Kubernetes or Openshift
Stars: ✭ 116 (-10.77%)
Mutual labels:  openshift
Casl Ansible
Ansible automation for Managing OpenShift Container Platform clusters
Stars: ✭ 123 (-5.38%)
Mutual labels:  openshift
Sakuli
Sakuli is an end-2-end testing and monitoring tool for web sites and common UIs with multiple monitoring integrations
Stars: ✭ 115 (-11.54%)
Mutual labels:  openshift
Mysql Container
MySQL container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 117 (-10%)
Mutual labels:  openshift
Sample Spring Microservices Kubernetes
sample spring boot application that uses some features provided by spring cloud kubernetes, spring cloud ribbon and zuul proxy deployed on Kubernetes
Stars: ✭ 123 (-5.38%)
Mutual labels:  openshift
K8gb
A cloud native Kubernetes Global Balancer
Stars: ✭ 113 (-13.08%)
Mutual labels:  kubernetes-operator
S2i Nodejs Container
NodeJS images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running NodeJS applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 128 (-1.54%)
Mutual labels:  openshift
Optaweb Employee Rostering
Web application for solving Employee Rostering using OptaPlanner
Stars: ✭ 115 (-11.54%)
Mutual labels:  openshift
Lenses Docker
❤for real-time DataOps - where the application and data fabric blends - Lenses
Stars: ✭ 115 (-11.54%)
Mutual labels:  openshift
Postgres Operator
Production PostgreSQL for Kubernetes, from high availability Postgres clusters to full-scale database-as-a-service.
Stars: ✭ 2,166 (+1566.15%)
Mutual labels:  kubernetes-operator
Postgresql Container
PostgreSQL container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 128 (-1.54%)
Mutual labels:  openshift

Benchmark Operator

The intent of this Operator is to deploy common workloads to establish a performance baseline of Kubernetes cluster on your provider.

Installation

Installing the benchmark-operator is easiest by using the helm chart and can be done with the following commands. This requires your machine to have Helm installed. Install Helm

Note: If running on openshift you'll need to run this command before installing the chart. oc adm policy -n my-ripsaw add-scc-to-user privileged -z benchmark-operator

git clone https://github.com/cloud-bulldozer/benchmark-operator
cd benchmark-operator/charts/benchmark-operator
helm install benchmark-operator . -n my-ripsaw --create-namespace

To delete this release, you can do so with the following command:

helm delete benchmark-operator -n my-ripsaw --purge

Workloads status

Workload Use ElasticSearch indexing Reconciliation usage VM support (kubevirt) Kata Containers CI Tested
UPerf Network Performance Yes Used, default : 3second Working Working Yes
Iperf3 Network Performance No Used, default : 3second Not Supported Preview Yes
fio Storage IO Yes Used, default : 3second Working Working Yes
Sysbench System Performance No Used, default : 3second Not Supported Preview Yes
YCSB Database Performance Yes Used, default : 3second Not Supported Preview Yes
Byowl User defined workload Yes Used, default : 3second Not Supported Preview Yes
Pgbench Postgres Performance Yes Used, default : 3second Not Supported Preview Yes
Smallfile Storage IO Performance Yes Used, default : 3second Not Supported Preview Yes
fs-drift Storage IO Longevity Yes Not used Not Supported Preview Yes
hammerdb Database Performance Yes Used, default : 3second Not Supported Preview Yes
Service Mesh Microservices No Used, default : 3second Not Supported Preview No
Vegeta HTTP Performance Yes Used, default : 3second Not Supported Preview Yes
Scale Openshift Scale Openshift Cluster Yes Used, default : 3second Not Supported Preview Yes
stressng Stress system resources Yes Used, default: 3second Working Preview Yes
kube-burner k8s Performance Yes Used, default : 3second Not Supported Preview Yes
cyclictest Real-Time Performance Yes Used, default : 3second Not Supported Preview No
oslat Real-Time Latency Yes Used, default : 3second Not Supported Preview No
testpmd TestPMD DPDK App No Used Not Supported Preview No
Flent Network Performance Yes Used, default : 3second Not Supported Not Supported Yes

Reconciliation

Previously the Benchmark Operator didn't properly take advantage of the reconciliation period. Going forward we will make every attempt to utilize the reconciliation period.

Why did we decide to switch to this? Our operator would implement long running tasks, due to the nature of benchmarks. However, long running tasks blocks the Operator, causing us to delete the Operator and re-create the operator to un-block it. The benchmarks mentioned above that state Used for Reconciliation, no longer have this issue.

Optional workload images

Optional locations for workload images can now be added easily without the need to rebuild the operator. To do so in the workload args section of the CR add image: [location]

NOTE: This is not a required arguement. If omitted it will default to the currently verified workload image. Additionally, this is NOT enabled for YCSB

For Example:

apiVersion: ripsaw.cloudbulldozer.io/v1alpha1
kind: Benchmark
metadata:
  name: example-benchmark
  namespace: my-ripsaw
spec:
  elasticsearch:
    url: "http://my-es.foo.bar:80"
  metadata_collection: true
  cleanup: false
  workload:
    name: "foo"
    args:
      image: my.location/foo:latest

User Provided UUID

All benchmarks in the benchmark-operator utilize a UUID for tracking and indexing purposes. This UUID is, by default, generated when the workload is first started. However, if desired, a user provided UUID can be added to the workload cr.

NOTE: The provided UUID must be in format XXXXX-XXXXX-XXXXX

For Example:

apiVersion: ripsaw.cloudbulldozer.io/v1alpha1
kind: Benchmark
metadata:
  name: example-benchmark
  namespace: my-ripsaw
spec:
  uuid: 6060004a-7515-424e-93bb-c49844600dde
  elasticsearch:
    url: "http://my-es.foo.bar:80"
  metadata_collection: true
  cleanup: false
  workload:
    name: "foo"
    args:
      image: my.location/foo:latest

Installation

Installation

Contributing

Contributing

Metadata Collection

Metadata Collection

Cerberus Integration

Cerberus Integration

Indexing to Elasticsearch

Indexing to Elasticsearch

Capturing Prometheus Data

Capturing Prometheus Data

Cache dropping

Cache dropping

Community

Key Members(slack_usernames): ravi, mohit, dry923, rsevilla or rook

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].