Skip to main content
Skip table of contents

Generate a Support Bundle

Follow these instructions to generate a support bundle with data collected for the last 48 hours of the life of the cluster.

Prerequisites

Before generating a support bundle, verify that you have:

  • An AMD64-based Linux or macOS machine with a supported version of the operating system.

  • A running Kubernetes cluster.

  • Access to the DKP CLI.

Diagnostic Bundle

dkp diagnose was developed by D2iQ and builds on the open source troubleshoot.sh project.

The command dkp diagnose is based on version 0.13.16 of troubleshoot.sh with custom modifications. The D2iQ fork is open source and available from this public GitHub repository.

dkp diagnose supports multiple support bundle collectors and can be configured as a SupportBundle Kubernetes resource in a YAML file.

The following list is the minimum set of resources that is required to debug a cluster, but can be further customized.

The bundle uses the following collectors:

  • clusterInfo collects basic information about the cluster

  • clusterResources collects a subset of available resources in the cluster

  • configMap collects the values of Kubernetes ConfigMaps

  • secrets collects the names and metadata of secrets, but NOT the secret values or keys

  • execCopyFromHost runs a container on each node on the cluster and copies the created data

  • allLogs is capable of collecting logs from all containers on the cluster

  • cpuMemoryUtilisation collects the average CPU and memory utilization of the last 30 days.

Generate a Support Bundle

The command dkp diagnose uses the same Kubernetes configuration as kubectl. dkp diagnose can also be pointed at a specific configuration by using the --kubeconfig parameter.

To generate the support bundle, perform the following steps:

  1. Run the dkp diagnose command by running the default collectors configuration.

    CODE
    dkp diagnose

    The output looks similar to this:

    CODE
    Collecting support bundle ...
    
    support-bundle-2021-08-13T14_44_23.tar.gz
  2. To view the bundle contents, extract the bundle (replacing support-bundle-2021-08-13T14_44_23.tar.gz with the location from the previous step):

    CODE
    tar -xzvf support-bundle-2021-08-13T14_44_23.tar.gz
  3. A new directory named support-bundle-<date-created>is created. This directory contains the files specified:

    CODE
    ls support-bundle-2021-08-13T14_44_23

    The output looks similar to this:

    CODE
    cluster-info  cluster-resources  configmaps  node-diagnostics  pod-logs  secrets  version.yaml

Collect Information from a Bootstrap Cluster

In the case where your bootstrap cluster has not yet pivoted towards your Konvoy cluster, you can collect log information from that bootstrap cluster as well, and there are a preconfigured set of relevant collectors. Specify an additional bootstrap cluster kubeconfig using the --bootstrap-kubeconfig parameter to activate bootstrap cluster diagnostics. You will receive an additional support bundle named bootstrap-support-bundle-<date created>.

Note that the bootstrap cluster diagnostics are independent of the configuration of the “main” or Konvoy cluster diagnostics. We run a static collector set that collects the following bootstrap cluster information:

  • ClusterInfo

  • ClusterResources

  • AllLogs

  • ConfigMaps

  • Secrets

  1. Run the dkp diagnose command with bootstrap bundle configuration.

CODE
    dkp diagnose bundle.yaml

Customizations

To print the default collectors configuration, run the following command:

CODE
dkp diagnose default-config > bundle.yaml

Edit the file to make appropriate modifications.

By default, dkp diagnose does not require that you supply a configuration. You can print the default bundle by running dkp diagnose default-config.

Next Topic

SSH and Ansible

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.