joshuarobinson / fio-s3-benchmarking

Ansible and Kubernetes for benchmarking S3 with fio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fio-s3-benchmarking

Ansible and Kubernetes for benchmarking S3 with fio

Dockerfile builds fio from source with the necessary libraries to support s3.

Ansible instructions:

  • Update s3credentials.yaml with access and secret key. Do not check this in!
  • Update hosts, s3endpoint, and s3bucket info the vars section of playbook.yaml.
  • Run playbook to 1) write objects, 2) read objects, and then 3) delete objects.

Kubernetes instructions:

The Kubernetes benchmark is a set of three jobs that can be run in sequence, as well as a ConfigMap to store the fio job config.

See "run_k8s_jobs.sh" for an example of how to run the write/read/delete stages sequentially. This approach works by creating all jobs initially with 0 parallelism, i.e., idle. Then, increases the parallelism of each job one a time and waits for completion before moving on to the next.

To configure test parameters, edit the Configmap in jobs.yaml. Access/secret keys for S3 are found in a Kubernetes secret named 'my-s3-keys.'

To create the necessary secret for S3 access keys:

kubectl create secret generic my-s3-keys --from-literal=access-key='XXXXXXX' --from-literal=secret-key='YYYYYYY'

About

Ansible and Kubernetes for benchmarking S3 with fio


Languages

Language:Shell 74.8%Language:Dockerfile 25.2%