sloop - Kubernetes History Visualization
Sloop monitors Kubernetes, recording histories of events and resource state changes and providing visualizations to aid in debugging past events.
- Allows you to find and inspect resources that no longer exist (example: discover what host the pod from the previous deployment was using).
- Provides timeline displays that show rollouts of related resources in updates to Deployments, ReplicaSets, and StatefulSets.
- Helps debug transient and intermittent errors.
- Allows you to see changes over time in a Kubernetes application.
- Is a self-contained service with no dependencies on distributed storage.
Sloop can be installed using any of these options:
Users can install sloop by using helm chart now, for instructions refer helm readme
DockerHub images coming soon.
Build from Source
Building Sloop from source needs a working Go environment with version 1.13 or greater installed.
Clone the sloop repository and build using
mkdir -p $GOPATH/src/github.com/salesforce cd $GOPATH/src/github.com/salesforce git clone https://github.com/salesforce/sloop.git cd sloop make $GOPATH/bin/sloop
When complete, you should have a running Sloop version accessing the current context from your kubeConfig. Just point your browser at http://localhost:8080/
Other makefile targets:
- docker: Builds a Docker image.
- cover: Runs unit tests with code coverage.
- generate: Updates genny templates for typed table classes.
- protobuf: Generates protobuf code-gen.
Local Docker Run
To run from Docker you need to host mount your kubeconfig:
make docker docker run --rm -it -p 8080:8080 -v ~/.kube/:/kube/ -e KUBECONFIG=/kube/config sloop
In this mode, data is written to a memory-backed volume and is discarded after each run. To preserve the data, you can host-mount /data with something like