iter8

command module
v0.8.24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

README

Iter8

Iter8

Kubernetes Release Engineering

GitHub stars Slack channel Community meetups GitHub issues

Safely rollout new versions of apps and ML models. Maximize business value with each release.

Use Cases

  1. Load testing with SLOs
  2. A/B(/n) testing for improving business value with each release of app/ML model
  3. Safe rollout for multi-cluster and edge
  4. Traffic mirroring experiments

The traffic mirroring use-case is achieved by using Iter8 along with a Kubernetes service mesh or ingress that supports mirroring.

Quick Start

1. Install Iter8
Using Brew
brew tap iter8-tools/iter8
brew install iter8
Using Go 1.16+
go install github.com/iter8-tools/iter8@latest

You can now run iter8 (from your gopath bin/ directory)

Using pre-compiled binary

Pre-compiled Iter8 binaries for many platforms are available here. Uncompress the iter8-X-Y.tar.gz archive for your platform, and move the iter8 binary to any folder in your PATH.

2. Download experiment chart

Download the load-test experiment chart from Iter8 hub as follows.

iter8 hub -e load-test

This creates a local folder called load-test containing the chart.

3. Run experiment

The iter8 run command generates the experiment.yaml file from an experiment chart, runs the experiment, and writes the results of the experiment into the result.yaml file. Run the load test experiment as follows.

cd load-test
iter8 run --set url=https://example.com

4. Assert outcomes

Assert that the experiment completed without any failures and SLOs are satisfied.

iter8 assert -c completed -c nofailure -c slos

5. Generate report

Generate a report of the experiment in HTML or text formats as follows.

HTML Report
iter8 report -o html > report.html
# open report.html with a browser. In MacOS, you can use the command:
# open report.html

The HTML report looks as follows.

HTML report

Text Report
iter8 report -o text

Congratulations! 🎉 You completed your first Iter8 experiment.

Documentation

Iter8 documentation is available at https://iter8.tools.

Contributing

We are delighted that you want to contribute to Iter8! 💖

As you get started, you are in the best position to give us feedback on areas of our project that we need help with including:

  • Problems found during setup of Iter8
  • Gaps in our quick start tutorial and other documentation
  • Bugs in our test and automation scripts

If anything doesn't make sense, or doesn't work when you run it, please open a bug report and let us know!

See here for information about ways to contribute, Iter8 community meetings, finding an issue, asking for help, pull-request lifecycle, and more.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package base provides the core definitions and primitives for Iter8 experiment and experimeent tasks.
Package base provides the core definitions and primitives for Iter8 experiment and experimeent tasks.
log
Package log provides primitives for logging.
Package log provides primitives for logging.
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL