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:
And Sprkl Instrumentation (code changes instrumentation) for:
How it works?
To run Sprkl in your Kubernetes environment:
- 1.Make sure
kubectlis configured to work with your cluster.
- 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
- 4.Select pod instrumentation mode
- 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.
- 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 applycommand 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
curlcommand to the micro-service in which the code was changed) and see the relevant traces in the Sprkl Dashboard.