Agents & Extensions
Setting Up Steadybit Agents and Extensions
The Steadybit platform acts as the central control plane for your experiments, but it needs to actually connect with your tech stack. To do that, you will need to install Steadybit Agents and Extensions for each type of technology you are using.
Steadybit Agents are the communication channels to your environments, installed one per network anywhere you want to do chaos engineering.
Extensions are integrations with specific technologies, written as deployable units (typically containers) that expose a remote HTTP interface with which Steadybit agents communicate. Extensions allow Steadybit to discover any potential Targets, and then deploy actions for experiments.
For example, you can install a Steadybit Agent on one of your networks that has multiple Kubernetes clusters. Once you install the Kubernetes extension, Steadybit will automatically discover these clusters. You can group and filter with attribute metadata and then carry out experiments with actions like draining a node, restarting a deployment rollout, or downscaling a deployment.
In this lesson, we’ll get into the details on working with Agents and Extensions to connect and run experiments across your full tech stack.
Installing the Steadybit Agent
To integrate Steadybit with your systems, first you need to install a lightweight agent on each network you want to run experiments on. This agent establishes secure HTTPS and WebSocket connections to both the Steadybit platform and all relevant extensions. It’s the critical link that allows Steadybit to interact with your testing environment.
For more information on installing the Steadybit Agent, you can see the exact steps in our documentation. For example, if you are using Kubernetes, you can install agents on your Clusters; along with the Container, Host, and Kubernetes extensions, all with one Helm chart.
Installing Open Source Extensions
With every Steadybit extension you install, you connect another piece of your tech stack to Steadybit, including hosts, containers, VMs, cloud resources, load testing, observability tools, and internal services.
Extensions can be written in any coding language, and are most often written as GO scripts. There are 27 open source extensions for popular technologies available in the Reliability Hub. You can also contribute to this extension library or even develop your own custom extensions to integrate proprietary or currently unsupported technologies.
For more information on how-to install extensions, you can see the exact steps in our documentation.
Utilizing the Reliability Hub
The Reliability Hub is a component library hosted by Steadybit that features open source extensions, actions, targets, advice, and templates. By browsing the Reliability Hub, you can see examples of all the types of things you can build with our extension framework.
For example, there are dozens of pre-built extensions for connecting with popular tools and technologies, like:
- Containers, Hosts, & VMs: Linux, Windows, Kubernetes, Docker, JVM
- Cloud and API tools: AWS, Azure, GCP, Kong, Postman, HTTP, Kafka, RabbitMQ, Istio, Jenkins
- Observability tools: Datadog, Dynatrace, Grafana, Prometheus, New Relic, Splunk, AppDynamics, Instana, StackState by Suse
- Load testing tools: JMeter, K6 & K6 Cloud, Gatling & Gatling Enterprise
You can also create custom extensions for any system or tool you want to connect with. You can write extensions in any coding language, and we help you get started with Extension Kits.
Lesson Summary
In summary, Steadybit’s architecture enables you to easily match your reliability efforts to your unique tech stack. Get started fast with pre-built components and integrations, or create a custom extension to meet your exact needs. With this extensibility, you can truly make Steadybit your own.
