Infrastructure Layer

Install Gremlin on Cri-O or Containerd

As of version 2.16.0, you can now install Gremlin into Kubernetes clusters runinng Cri-O or Containerd.

Pre-requisites

Helm

The following instructions use Helm to install the necessary Kubernetes objects for running Gremlin. Check out Gremlin's Helm Chart Repository for full documentation and usage.

Download authentication keys

Gremlin requires authentication during installation. You will need to download your Gremlin certificate key-pair in order to connect to your Gremlin team. With the key pair extracted to your local system, export the following variables into a local shell, supplying the appropriate values.

shell
1export GREMLIN_TEAM_ID=11111111-1111-1111-111111111111
2export GREMLIN_CLUSTER_ID=my-cluster
3export PATH_TO_CERTIFICATE=/path/to/unzipped/cert.pem
4export PATH_TO_PRIVATE_KEY=/path/to/unzipped/key.pem

Cri-O

shell
1kubectl create namespace gremlin
2helm repo add gremlin https://helm.gremlin.com/
3helm install gremlin gremlin/gremlin \
4 --namespace gremlin \
5 --set gremlin.hostPID=true \
6 --set gremlin.container.driver=crio-runc \
7 --set gremlin.secret.managed=true \
8 --set gremlin.secret.teamID=$GREMLIN_TEAM_ID \
9 --set gremlin.secret.clusterID=$GREMLIN_CLUSTER_ID \
10 --set-file gremlin.secret.certificate=$PATH_TO_CERTIFICATE \
11 --set-file gremlin.secret.key=$PATH_TO_PRIVATE_KEY

Containerd

shell
1kubectl create namespace gremlin
2helm repo add gremlin https://helm.gremlin.com/
3helm install gremlin gremlin/gremlin \
4 --namespace gremlin \
5 --set gremlin.hostPID=true \
6 --set gremlin.container.driver=containerd-runc \
7 --set gremlin.secret.managed=true \
8 --set gremlin.secret.teamID=$GREMLIN_TEAM_ID \
9 --set gremlin.secret.clusterID=$GREMLIN_CLUSTER_ID \
10 --set-file gremlin.secret.certificate=$PATH_TO_CERTIFICATE \
11 --set-file gremlin.secret.key=$PATH_TO_PRIVATE_KEY

Run Attacks

You can now run attacks on your cluster, including Kubernetes attacks.