Skip to main content
Version: Next

Kubernetes Fury Tracing

Kubernetes Fury Tracing provides a tracing stack for the Kubernetes Fury Distribution (KFD).

If you are new to KFD please refer to the official documentation on how to get started with KFD.

Overview

Kubernetes Fury Tracing uses a collection of open source tools to provide the most resilient and robust tracing stack for the cluster.

The module contains the tempo tool from grafana.

All the components are deployed in the tracing namespace in the cluster.

PackageVersionDescription
tempo-distributed2.3.1Distributed Tempo deployment
minio-havRELEASE.2023-01-12T02-06-16ZThree nodes HA MinIO deployment

Click on each package to see its full documentation.

Compatibility

Kubernetes VersionCompatibilityNotes
1.26.xNo known issues
1.27.xNo known issues
1.28.xNo known issues
1.29.xNo known issues

Check the compatibility matrix for additional informations about previous releases of the modules.

Usage

Prerequisites

ToolVersionDescription
furyctl>=0.25.0The recommended tool to download and manage KFD modules and their packages. To learn more about furyctl read the official documentation.
kustomize>=3.5.3Packages are customized using kustomize. To learn how to create your customization layer with kustomize, please refer to the repository.

Deployment

Include the tracing module configuration in your furyctl.yaml file, specifically under the spec.distribution.modules.tracing section. This streamlined approach enhances the deployment process by seamlessly integrating with the Kubernetes Fury Distribution management tools.

Here is an example snippet for the furyctl.yaml file that demonstrates how to configure the tracing module with Tempo as the tracing system and High Availability (HA) MinIO instance for storage:

spec:
distribution:
modules:
tracing:
type: tempo
minio:
storageSize: "20Gi"

Legacy Deployment

  1. List the packages you want to deploy and their version in a Furyfile.yml
bases:
- name: tracing
version: "v1.0.3"

See furyctl documentation for additional details about Furyfile.yml format.

  1. Execute furyctl legacy vendor -H to download the packages

  2. Inspect the download packages under ./vendor/katalog/tracing.

  3. Define a kustomization.yaml that includes the ./vendor/katalog/logging directory as resource.

resources:
- ./vendor/katalog/logging/minio-ha
- ./vendor/katalog/logging/tempo-distributed
  1. To deploy the packages to your cluster, execute:
kustomize build . | kubectl apply -f -

Note: When installing the packages, you need to ensure that the Prometheus operator is also installed. Otherwise, the API server will reject all ServiceMonitor resources.