Links

Kubernetes

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

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
How it works?

Usage

To run Sprkl in your Kubernetes environment:
  1. 1.
    Make sure kubectl is configured to work with your cluster.
  2. 3.
    Deploy Sprkl Operator on your development cluster:
For older versions (less than 0.0.63) use the following command:
sprkl kubectl apply
sprkl k8s apply
The Sprkl Operator applies automatic library and infrastructure-level instrumentation (using Opentelemetry libraries). It also integrates Sprkl instrumentation with it. Together Sprkl brings you Cluster-level distributed tracing with personalization on your NodeJS services.
For older versions (less than 0.0.63) you will need to restart your pods manually using the following command:
kubectl delete pods --all
Now you can continue to phase 7
  1. 4.
    Select pod instrumentation mode
Opt In
Will instrument only the pods you will select in the next phase
Opt out
Will instrument all pods (system-wide) except those you will select in the next phase
  1. 5.
    Select deployments/pods you want to instrument (opt-in mode) / avoid instrument (opt-out mode). This list will appear only if you have any pods running on your cluster.
  2. 6.
    Restart the relevant pods so the instrumentation will take effect.
From now on, every new pod which matches your selection - 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.
7. Make a code change and run sprkl apply . Sprkl will ingest the changes.
Checkout the demo videos below!
8. 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