Skip to main content

Overview

There are a few different ways to get up and running with Speedscale. Installing Speedscale next to your running application is required to observe your service's traffic.

Quick install for Kubernetes

Start by installing speedctl the Speedscale CLI-based API via Homebrew:

brew install speedscale/tap/speedctl

Or via the install script:

sh -c "$(curl -Lfs https://downloads.speedscale.com/speedctl/install)"

Then run speedctl install, choose "Kubernetes" and follow the prompts. The install wizard will walk you through installing the Speedscale Kubernetes Operator and adding the Speedscale Sidecar to your deployment.

Quick install for VM or local

Start by installing speedctl the Speedscale CLI-based API via Homebrew:

brew install speedscale/tap/speedctl

Or via the install script:

sh -c "$(curl -Lfs https://downloads.speedscale.com/speedctl/install)"

Then run speedctl install, choose "Docker" and follow the prompts. The install wizard will walk you through creating Docker Compose files which can be used to record your traffic, stand up Speedscale Responders to mock your dependencies, and replay traffic against your service for load or contract testing.

GitOps install for Kubernetes via manifests

Start by installing speedctl the Speedscale CLI-based API via Homebrew:

brew install speedscale/tap/speedctl

Or via the install script:

sh -c "$(curl -Lfs https://downloads.speedscale.com/speedctl/install)"

Then apply manifests to your cluster.

speedctl deploy operator -e $(kubectl config current-context) | kubectl apply -f -

Or write locally and inspect or commit to version control first.

speedctl deploy operator -e $(kubectl config current-context) --dir

Once the Speedscale Operator is installed you will need to add annotations to your application's deployment. This can be done once via the install wizard or by adding Speedscale annotations to your application's deployment.

GitOps install for Kubernetes via Helm

Navigate to the Helm repository for instructions on installing the Speedscale Kubernetes Operator.

Once the Speedscale Operator is installed you will need to add annotations to your application's deployment. This can be done once via the install wizard or by adding Speedscale annotations to your application's deployment.

Installation Permissions

No matter what deployment method you use, the following create permissions are required to install Speedscale.

  • Cluster-wide resources:
    • CustomResourceDefinitions
    • ClusterRole
    • ClusterRoleBinding
    • MutatingWebhookConfiguration
    • ValidatingWebhookConfiguration
  • Namespaced resources
    • ConfigMap
    • Deployment
    • Job
    • Role
    • Service
    • Secret

You can verify you have permissions and other prerequisites by running speedctl check operator --pre. This will not modify anything within your cluster.

Operation Permissions

Once Speedscale is installed in your cluster, the speedscale-operator cluster role will have permissions to create, list, watch, and modify workload manifests. Speedscale will use these permissions to add a sidecar container to the workload. Workloads include Deployment, DaemonSet, and StatefulSet. Additionally, the speedscale-operator role can create, modify, and watch configuration such as Istio's Sidecar.

For a full list of permissions that Speedscale is using, you may use one of the following methods:

  • Review the latest version of the Helm chart
  • Run speedctl deploy operator --dir output> and inspect rbac.yaml to read the manifest
  • Run kubectl get -n speedscale clusterrole/speedscale-operator -o yaml to see the installed manifest.