iter8

command module
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

README ยถ

Iter8: Kubernetes Release Optimizer

Iter8 release GoDoc

Iter8 is the Kubernetes release optimizer built for DevOps, MLOps, SRE and data science teams. Iter8 makes it easy to ensure that Kubernetes apps and ML models perform well and maximize business value.

Iter8 supports the following use-cases.

  1. Performance testing of HTTP services.
  2. Performance testing of gRPC services.
  3. A/B/n testing of applications and ML models
  4. Reliable and automated traffic engineering: blue-green and canary

๐Ÿš€ Iter8 experiment

Iter8 introduces the notion of an experiment, which is a list of configurable tasks that are executed in a specific sequence.

Iter8 packs a number of powerful features that facilitate Kubernetes app testing and experimentation. They include the following.

  1. Generating load and collecting built-in metrics for HTTP and gRPC services. Simplifies performance testing by eliminating the need to setup and use metrics databases.
  2. Readiness check. The performance testing portion of the experiment begins only after the service is ready.
  3. Experiment anywhere. Iter8 experiments can be launched inside a Kubernetes cluster, in local environments, or inside a GitHub Actions pipeline.
  4. Traffic controller. Automatically and dynamically reconfigures routing resources based on the state of Kubernetes apps/ML models.
  5. Client-side SDK. Facilitates routing and metrics collection task associated with distributed (i.e., client-server architecture-based) A/B/n testing in Kubernetes.

Please see https://iter8.tools for the complete documentation.

๐Ÿ Issues

Iter8 issues are tracked here.

๐ŸŽ‰ Contributing

We welcome PRs!

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

๐ŸŒบ Credits

Iter8 is primarily written in Go and builds on a few awesome open source projects including:

Documentation ยถ

Overview ยถ

Package main is the entry point for the Iter8 CLI. Iter8 is the Kubernetes release optimizer built for DevOps, MLOps, SRE and data science teams. Iter8 makes it easy to ensure that Kubernetes apps and ML models perform well and maximize business value.

Directories ยถ

Path Synopsis
abn
Package abn contains the implementation of the A/B/n service (via gRPC)
Package abn contains the implementation of the A/B/n service (via gRPC)
Package action contains the logic for each action that Iter8 can perform.
Package action contains the logic for each action that Iter8 can perform.
Package base defines Iter8's experiment, task and metric data structures.
Package base defines Iter8's experiment, task and metric data structures.
internal
Package internal provides gRPC code used for testing load-test-grpc
Package internal provides gRPC code used for testing load-test-grpc
internal/helloworld/helloworld
Package helloworld implements the helloworld grpc service.
Package helloworld implements the helloworld grpc service.
log
Package log enables logging for Iter8.
Package log enables logging for Iter8.
summarymetrics
Package summarymetrics provides a summary metric implementation
Package summarymetrics provides a summary metric implementation
Package cmd defines the Iter8 CLI commands and their flags.
Package cmd defines the Iter8 CLI commands and their flags.
Package controllers provides Iter8 controller for reconciling Iter8 routemap resources
Package controllers provides Iter8 controller for reconciling Iter8 routemap resources
k8sclient
Package k8sclient provides the Kubernetes client for the controllers package
Package k8sclient provides the Kubernetes client for the controllers package
k8sclient/fake
Package fake provides fake Kuberntes clients for testing
Package fake provides fake Kuberntes clients for testing
Package driver enables interaction with experiment resources.
Package driver enables interaction with experiment resources.
Package metrics implements an HTTP service that exposes A/B/n SDK metrics
Package metrics implements an HTTP service that exposes A/B/n SDK metrics
Package storage provides the storage client for the controllers package
Package storage provides the storage client for the controllers package
badgerdb
Package badgerdb implements the storageclient interface with BadgerDB
Package badgerdb implements the storageclient interface with BadgerDB

Jump to

Keyboard shortcuts

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