Skip to content

Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner. Brought to you by Heptio.

License

Notifications You must be signed in to change notification settings

dbenhur/sonobuoy

 
 

Repository files navigation

Sonobuoy

Maintainers: Heptio

Build Status

Overview

Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner. It is a customizable, extendable, and cluster-agnostic way to generate clear, informative reports about your cluster.

Its selective data dumps of Kubernetes resource objects and cluster nodes allow for the following use cases:

  • Integrated end-to-end (e2e) conformance-testing
  • Workload debugging
  • Custom data collection via extensible plugins

Sonobuoy supports all upstream supported versions of Kubernetes (1.7.x-v1.9.y).

Prerequisites

Getting Started

To easily get a Sonobuoy scan started on your cluster, use the browser-based Sonobuoy Scanner tool. Sonobuoy Scanner also provides a more user-friendly way of viewing your scan results.

Note that Sonobuoy Scanner runs conformance tests only.

tarball overview screenshot

Using the CLI

This guide executes a Sonobuoy run on your cluster, and records the following results:

  • Basic info about your cluster's hosts, Kubernetes resources, and versions.
  • (Via plugin) systemd logs from each host
  • (Via plugin) The results of a single e2e conformance test ("Pods should be submitted and removed"). See the conformance guide for configuration details.

1. Download

Sonobuoy is written in golang and can easily be obtained by running:

$ go get github.com/heptio/sonobuoy

2. Run

Now you're ready to deploy a Sonobuoy pod to your cluster! Run the following command:

$ sonobuoy run

You can view actively running pods with the following command:

$ sonobuoy status 

To inspect the logs:

$ sonobuoy logs

To view the output, copy the output directory from the main Sonobuoy pod to somewhere local:

$ sonobuoy retrieve .

This should copy a single .tar.gz snapshot from the Sonobuoy pod into your local . directory. You can extract its contents into ./results with:

mkdir ./results; tar xzf *.tar.gz -C ./results

For information on the contents of the snapshot, see the documentation.

3. Cleanup

To clean up Kubernetes objects created by Sonobuoy, run the following command:

sonobuoy delete

Further documentation

To learn how to configure your Sonobuoy runs and integrate plugins, see the /docs directory.

Troubleshooting

If you encounter any problems that the documentation does not address, file an issue.

Contributing

Thanks for taking the time to join our community and start contributing! We welcome pull requests. Feel free to dig through the issues and jump in.

Before you start

Changelog

See the list of releases to find out about feature changes.

About

Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner. Brought to you by Heptio.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.2%
  • Makefile 1.1%
  • Shell 0.7%