Support bundle

The support bundle is a tool that gathers information both about StorageOS and the environment in which it is operating. It provides information about the state and configuration of the cluster, nodes and other Kubernetes objects, as well as system performance metrics.

The support bundle is an addition rather than a replacement to the diagnostic bundle.

Install Kubectl StorageOS plugin

The support bundle is generated with the StorageOS kubectl plugin, which can be installed as follows:

$ curl -sL https://docs.storageos.com/sh/storageos-support-bundle-install.sh | bash

If you prefer to run the installation commands individually, we provide them here:

# Create a temporary directory in which to store the plugin binaries
TMP_DIR=$(mktemp -d /tmp/storageos-kubectl-plugin-XXXXX)

# Download the plugin binaries and extract to the temporary directory
TARGET="kubectl-storageos_linux_amd64.tar.gz"
curl -sSL -o kubectl-storageos.tar.gz https://github.com/storageos/storageos.github.io/raw/master/sh/$TARGET
tar -xf kubectl-storageos.tar.gz -C $TMP_DIR/

# Clean up the tar file
rm -f kubectl-storageos.tar.gz

# Add executable permissions for the plugin binaries and move into system path
# For details of the bundle-generation tool's functionality, visit:
#https://docs.storageos.com/docs/bundles/support-bundle/
chmod +x $TMP_DIR/bin/kubectl-storageos-bundle
sudo mv $TMP_DIR/bin/kubectl-storageos-bundle /usr/local/bin/

For MacOS build, use TARGET=kubectl-storageos_darwin_amd64.tar.gz

Generate Bundle

To generate a bundle, use the following command, the specification of which can be viewed and edited by obtaining the bundle-configuration.yaml file, which is publicly available.

StorageOS is usually installed in the kube-system namespace. If you have installed StorageOS in a different namespace please replace the namespace in the storage bundle config as below.

STORAGEOS_NS=my-namespace
curl -s https://docs.storageos.com/yaml/bundle-configuration.yaml | sed "s/kube-system/$STORAGEOS_NS/g" > /tmp/storageos-kubectl-config.yaml
kubectl storageos bundle /tmp/storageos-kubectl-config.yaml

Please note that if you have a custom selector for your worker nodes you should update the bundle-configuration.yaml under spec.collectors.run.nodeselector to reflect this.

Note also that the bundle tool expects there to be a StorageOS CLI running in kube-system as a Pod with the label run=cli. The tool will exec into this pod to get information from the StorageOS API. If the StorageOS CLI Pod does not match this criteria, you can either pull the YAML file and change the selector in the file, or add the label to the Pod. You can run the cli container following these instructions.

Data collected in the bundle

The data collected covers both the state of the StorageOS cluster, and in particular information regarding the infrastructure on which StorageOS is operating. It includes:

  • StorageOS CLI information
  • StorageOS Operator logs
  • StorageOS logs
  • Cluster metadata
  • Cluster resources (DaemonSets, Events, Services, Pods, etc.)
  • Backend disk configuration and performance statistics
  • Load average
  • Network checks across StorageOS nodes and ports
  • Running processes

Privacy

StorageOS can only obtain the bundle if it is downloaded by the user and given to our engineering team, or uploaded for analysis. The data received by StorageOS is private and never leaves nor will leave StorageOS Inc.

The data contained in the support bundle has the sole purpose of helping customers troubleshoot their issues.