Compatibility
The following matrices show the operability of Gremlin on various platforms. Following the compatibility matrices is a list of caveats for installing Gremlin on specific operating systems. At times Gremlin cannot be installed directly on an operating system due to mitigating factors such as dependency issues. In these instances, the matrix shows whether another means of deployment is available and has been tested, such as Docker. Note that you should always apply the latest software updates before installing Gremlin.
Linux
You can install Gremlin directly on these Linux distributions.
Containers and orchestration platforms
Gremlin natively supports Kubernetes, OpenShift, Argo Rollouts, Docker, and many standard container runtimes. Gremlin also supports Istio (via Envoy).
Windows
Gremlin supports the following versions of Microsoft Windows:
Cloud platforms
Gremlin is designed to work on any cloud platform that provides Linux or Windows-based hosts. Gremlin has been tested on these platforms:
Caveats
Some platforms have limitations or require additional configuration. These caveats are listed below.
Ubuntu
The dependency apt-transport-https must be installed:
Debian
The following dependencies must be installed:
- apt-transport-https
- dirmngr (Debian 9)
SUSE
The dependency libcap-progs must be installed:
Amazon Linux 2
The dependency iproute-tc must be installed:
RHEL 8
The dependency kernel-modules-extra must be installed:
Fedora Atomic
Latency and Packet Loss experiments do not succeed due to an unavailable dependency:
- Tc Error: RTNETLINK answers: No such file or directory
Google Container Optimized OS (COS)
When running network experiments, Gremlin recommends using the latest version of COS. Prior versions of COS did not include kernel modules necessary to apply network impacts. For GKE users, the following minimum versions are recommended:
- 1.15.9-gke.17+
- 1.16.6-gke.5+
Windows
Azure Windows instances may throttle disk I/O such that large disk experiments will take an excessive amount of time to complete.
Client overhead
The Gremlin Agent that runs on the client requires very little overhead. Here are the needs in a couple of sample use cases.
Note: For information about network bandwidth usage by the Gremlin Agent, refer to Bandwidth usage.
Linux single-task host
The Gremlin Agent has very low performance overhead on a classic, single-task host. Our benchmarks for this type of host are based on an Amazon EC2 t2.micro:
- vCPUs: 1 vCPUs
- Memory: 1 GiB
- Operating System: Ubuntu 16.04 LTS (Debian agent instructions found here)
Linux Host DIY
May require elevated privileges
Linux Docker host
The Gremlin Agent has very low performance overhead on a host running Docker, with exact usage depending on the number of Docker containers your machine hosts, and whether those processes are long- or short-lived. Our benchmarks for this type of host are based on an Amazon EC2 t2.micro:
- vCPUs: 1 vCPUs
- Memory: 1 GiB
- Operating system: Ubuntu 16.04 LTS
- Docker Client Version: 19.03.5-ce
- Docker Engine Version: 19.03.5-ce
- Number of containers: 1 container
For this type of Docker host, typical usage is
Docker DIY
May require elevated privileges
Windows single-task host
The Gremlin Agent has very low performance overhead on a classic, single-task host. Our benchmarks for this type of host are based on an Amazon EC2 t2.micro:
- vCPUs: 1 vCPUs
- Memory: 1 GiB
- Operating System: Windows Server 2019 Datacenter (Windows agent instructions found here)
Windows host DIY
The typeperf commands in the table below output each second. The -si option can be used to average over longer time periods. For example, -si 29:00 averages over 29 minutes.
Multiple typeperf counters can be included; just seperate them with a space.
Installing Gremlin
Once you've verified compatability, continue to Installing Gremlin to start the installation process.