Kubernetes

Before you begin, you need to make a code change! Here's why.

Watch our demonstration video!

Overview

Sprkl Integration with Kubernetes provides auto instrumentation with both OpenTelemetry and Sprkl instrumentation for all the services in the cluster.

Currently, we provide OpenTelemetry instrumentation (libraries and infrastructure level instrumentation) for:

  • Java

  • C#

  • Python

  • Node.js

And Sprkl Instrumentation (code changes instrumentation) for:

  • Node.js

Usage

To run Sprkl in your Kubernetes environment:

  1. Make sure kubectl is configured to work with your cluster.

  2. Deploy Sprkl Operator on your development cluster:

sprkl kubectl apply

The Sprkl Operator is an improvement of the OpenTelemetry Operator. The OpenTelemetry Operator applies automatic library and infrastructure-level instrumentation. The Sprkl Operator provides the same functionality and integrates Sprkl instrumentation with it. Together Sprkl brings you Cluster-level distributed tracing with personalization on your NodeJS services.

4. Restart your pods to trigger the instrumentation:

kubectl delete pods --all

From now on, every new pod will be instrumented.

The instrumentation is according to the latest analysis done on your local machine. So, when trying new code changes, make sure they are analyzed before deploying them to the cluster.

To provide analysis that can be consumed by sprkl within the cluster, use the sprkl apply command on the target repository.

5. Make a code change and run sprkl apply . Sprkl will ingest the changes.

In the video below, we do it automatically using Tilt.

6. Deploy the changes to your cluster and execute the code changes. For example: run a curl command to the micro-service in which the code was changed) and see the relevant traces in the Sprkl Dashboard.

Video of Sprkl on a Kubernetes cluster using Okteto

Video of Sprkl on a local Kubernetes cluster using TILT

Last updated