diff --git a/docs-web/configuration/global-configuration/configmap-resource.md b/docs-web/configuration/global-configuration/configmap-resource.md index 9c3f5a5b0f..1cb2fd6d09 100644 --- a/docs-web/configuration/global-configuration/configmap-resource.md +++ b/docs-web/configuration/global-configuration/configmap-resource.md @@ -405,15 +405,15 @@ See the doc about [VirtualServer and VirtualServerRoute resources](/nginx-ingres * - ``opentracing`` - Enables `OpenTracing `_ globally (for all Ingress, VirtualServer and VirtualServerRoute resources). Note: requires the Ingress Controller image with OpenTracing module and a tracer. See the `docs `_ for more information. - ``False`` - - `Support for OpenTracing `_. + - * - ``opentracing-tracer`` - Sets the path to the vendor tracer binary plugin. - N/A - - `Support for OpenTracing `_. + - * - ``opentracing-tracer-config`` - Sets the tracer configuration in JSON format. - N/A - - `Support for OpenTracing `_. + - * - ``app-protect-cookie-seed`` - Sets the ``app_protect_cookie_seed`` `global directive `_. - Random automatically generated string diff --git a/docs-web/third-party-modules/opentracing.md b/docs-web/third-party-modules/opentracing.md index cc263c88ac..c57e61d3db 100644 --- a/docs-web/third-party-modules/opentracing.md +++ b/docs-web/third-party-modules/opentracing.md @@ -2,7 +2,7 @@ The Ingress Controller supports [OpenTracing](https://opentracing.io/) with the third-party module [opentracing-contrib/nginx-opentracing](https://github.com/opentracing-contrib/nginx-opentracing). -This document explains how to use OpenTracing with the Ingress Controller. Additionally, we have an [example](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/opentracing) on how to enable OpenTracing for a simple web application using Jaeger as a tracer. +This document explains how to use OpenTracing with the Ingress Controller. ## Prerequisites 1. **Use the Ingress Controller image with OpenTracing.** The default Ingress Controller images don’t include the OpenTracing module. To use OpenTracing, you need to build the image with that module. Follow the build instructions to build the image using `openshift-image` for NGINX or `openshift-image-plus` for NGINX Plus. diff --git a/examples/opentracing/README.md b/examples/opentracing/README.md deleted file mode 100644 index 1d5ef97e0b..0000000000 --- a/examples/opentracing/README.md +++ /dev/null @@ -1,48 +0,0 @@ - -# OpenTracing Support - -In this example we deploy the NGINX or NGINX Plus Ingress Controller and a simple web application. Then we enable OpenTracing and use a tracer (Jaeger) for tracing the requests that go through NGINX or NGINX Plus to the web application. - -## Prerequisites - -The default Ingress Controller images do not include the OpenTracing module required for this example. See Step 1 of the [Prerequisites section](https://docs.nginx.com/nginx-ingress-controller/third-party-modules/opentracing/#prerequisites) in the OpenTracing doc for the instructions on how to get the right image with Jaeger tracer. - -## Step 1 - Deploy Ingress Controller and the Cafe App - -Follow steps 1-3 of the [complete example](../complete-example/README.md) to deploy the Ingress Controller and the cafe app. Make sure to use the Ingress Controller image with the OpenTracing module and the tracer installed. - -## Step 2 - Deploy a Tracer - -1. Use the [all-in-one dev template](https://github.com/jaegertracing/jaeger-kubernetes#development-setup) to deploy Jaeger in the default namespace. **Note:** This template should be only used for development or testing. - ``` - kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml - ``` - -2. Wait for the jaeger pod to be ready: - ``` - $ kubectl get pod - - NAME READY STATUS - jaeger-6c996dbcd9-j5jzf 1/1 Running - ``` - -## Step 3 - Enable OpenTracing -1. Update the ConfigMap with the keys required to load OpenTracing module with Jaeger and enable OpenTracing for all Ingress resources. - ``` - kubectl apply -f nginx-config.yaml - ``` - -## Step 4 - Test Tracing -1. Make a request to the app. - - **Note:** $IC_HTTPS_PORT and $IC_IP env variables should have been set from the Prerequisites step in the complete-example installation instructions. - ``` - curl --resolve cafe.example.com:$IC_HTTPS_PORT:$IC_IP https://cafe.example.com:$IC_HTTPS_PORT/coffee --insecure - ``` -1. Forward a local port to the Jaeger UI port on the Jaeger pod: - ``` - kubectl port-forward 16686:16686 - ``` -1. Open Jaeger dashboard in your browser available via http://localhost:16686. Search for the traces by specifying the name of the service to `nginx-ingress` and clicking `Find Traces`. You will see: - -![Jaeger UI](./jaeger-ui.png) diff --git a/examples/opentracing/jaeger-ui.png b/examples/opentracing/jaeger-ui.png deleted file mode 100644 index d4c4fa06fe..0000000000 Binary files a/examples/opentracing/jaeger-ui.png and /dev/null differ diff --git a/examples/opentracing/nginx-config.yaml b/examples/opentracing/nginx-config.yaml deleted file mode 100644 index 43b06e536d..0000000000 --- a/examples/opentracing/nginx-config.yaml +++ /dev/null @@ -1,20 +0,0 @@ -kind: ConfigMap -apiVersion: v1 -metadata: - name: nginx-config - namespace: nginx-ingress -data: - opentracing: "True" - opentracing-tracer: "/usr/local/lib/libjaegertracing_plugin.so" - opentracing-tracer-config: | - { - "service_name": "nginx-ingress", - "sampler": { - "type": "const", - "param": 1 - }, - "reporter": { - "localAgentHostPort": "jaeger-agent.default.svc.cluster.local:6831" - } - } -