ingress-nginx-helm/docs/user-guide/opentracing.md
Manuel de Brito Fontes a9168f276e Split documentation
2017-10-13 18:13:51 -03:00

1.5 KiB

Opentracing

Using the third party module rnburn/nginx-opentracing the NGINX ingress controller can configure NGINX to enable OpenTracing instrumentation. By default this feature is disabled.

To enable the instrumentation we just need to enable the instrumentation in the configuration configmap and set the host where we should send the traces.

In the aledbf/zipkin-js-example github repository is possible to see a dockerized version of zipkin-js-example with the required Kubernetes descriptors. To install the example and the zipkin collector we just need to run:

kubectl create -f https://raw.githubusercontent.com/aledbf/zipkin-js-example/kubernetes/kubernetes/zipkin.yaml
kubectl create -f https://raw.githubusercontent.com/aledbf/zipkin-js-example/kubernetes/kubernetes/deployment.yaml

Also we need to configure the NGINX controller configmap with the required values:

apiVersion: v1
data:
  enable-opentracing: "true"
  zipkin-collector-host: zipkin.default.svc.cluster.local
kind: ConfigMap
metadata:
  labels:
    k8s-app: nginx-ingress-controller
  name: nginx-custom-configuration

Using curl we can generate some traces:

$ curl -v http://$(minikube ip)/api -H 'Host: zipkin-js-example'
$ curl -v http://$(minikube ip)/api -H 'Host: zipkin-js-example'

In the zipkin inteface we can see the details:

zipkin screenshot