Overview
In order to effectively troubleshoot a DKP{cluster, it may be necessary to gather a set of logs from all Kubernetes nodes and components. The following instructions will provide guidance for that task across DKP versions.
How-To
Collecting a Support Bundle in DKP 2.2.x+
In DKP 2.2+, the capability of collecting a support bundle has been included in the dkp binary, therefore collecting a diagnostic bundle is as simple as using the "diagnose" command:
dkp diagnose
For further details on the additional flags that can be used to collect diagnostic bundles, please run:
dkp diagnose --help
or refer to our documentation:
https://docs.d2iq.com/dkp/konvoy/latest/cli/dkp/diagnose/
Collecting a Support Bundle in DKP 2.1.x and previous releases
Download and extract the dkp-diagnose binary for MacOS or Linux.
Linux:
mkdir dkp-diagnose && curl -sL https://downloads.mesosphere.io/dkp/dkp-diagnose_v0.4.1_linux_amd64.tar.gz | tar -xz -C ./dkp-diagnose/
MacOS:
mkdir dkp-diagnose && curl -sL https://downloads.mesosphere.io/dkp/dkp-diagnose_v0.4.1_darwin_amd64.tar.gz | tar -xz -C ./dkp-diagnose/
After downloading and extracting the bundle tool, you can add it to your PATH:
export PATH=./dkp-diagnose/:$PATH
You can then run a version check to verify that it's working:
dkp-diagnose version
Generate a Support Bundle
Default Configuration
- Run the dkp-diagnose command by running the default collectors configuration:
dkp-diagnose
Once the bundle is generated, you should see a file in the current directory called "support-bundle-<date/time>.tar.gz".
SSH Fallback
In some cases, the Kubernetes API is not available for the cluster. In those scenarios, you can collect node-level information using SSH access to the diagnosed nodes. Be aware that not all clusters have SSH access configured. If they do not then access using SSH fallback is not possible.
To get node-level information from your cluster using SSH access, perform the following steps:
- Create an Ansible inventory file for the nodes in the cluster.
- Execute the dkp-diagnose ssh subcommand, passing the inventory file as an argument:
dkp-diagnose ssh <path/to/ansible-inventory.yaml
This process might take some time to run depending on the size of the cluster.
If you have filed a support ticket for the problem you're trying to solve, you can then attach this bundle to it which will help us triage and troubleshoot.
For more details about customizing the support bundle output, please refer to our documentation: https://docs.d2iq.com/dkp/konvoy/latest/troubleshooting/generate-a-support-bundle/.