diff --git a/daprdocs/content/en/concepts/service-mesh.md b/daprdocs/content/en/concepts/service-mesh.md index a5554515b..6110aa854 100644 --- a/daprdocs/content/en/concepts/service-mesh.md +++ b/daprdocs/content/en/concepts/service-mesh.md @@ -35,6 +35,8 @@ Watch these recordings from the Dapr community calls showing presentations on ru - General overview and a demo of [Dapr and Linkerd](https://youtu.be/xxU68ewRmz8?t=142) - Demo of running [Dapr and Istio](https://youtu.be/ngIDOQApx8g?t=335) +Also, learn more about [running Dapr with Open Service Mesh (OSM)]({{}}). + ## When to choose using Dapr, a service mesh, or both Should you be using Dapr, a service mesh, or both? The answer depends on your requirements. If, for example, you are looking to use Dapr for one or more building blocks such as state management or pub/sub, and you are considering using a service mesh just for network security or observability, you may find that Dapr is a good fit and that a service mesh is not required. diff --git a/daprdocs/content/en/developing-applications/building-blocks/service-invocation/howto-invoke-discover-services.md b/daprdocs/content/en/developing-applications/building-blocks/service-invocation/howto-invoke-discover-services.md index ea3ae05d5..f26facf54 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/service-invocation/howto-invoke-discover-services.md +++ b/daprdocs/content/en/developing-applications/building-blocks/service-invocation/howto-invoke-discover-services.md @@ -1,4 +1,4 @@ ---- +--- type: docs title: "How-To: Invoke services using HTTP" linkTitle: "How-To: Invoke with HTTP" @@ -18,13 +18,13 @@ Dapr allows you to assign a global, unique ID for your app. This ID encapsulates In self hosted mode, set the `--app-id` flag: ```bash -dapr run --app-id cart --app-port 5000 python app.py +dapr run --app-id cart --dapr-http-port 3500 --app-port 5000 python app.py ``` If your app uses an SSL connection, you can tell Dapr to invoke your app over an insecure SSL connection: ```bash -dapr run --app-id cart --app-port 5000 --app-ssl python app.py +dapr run --app-id cart --dapr-http-port 3500 --app-port 5000 --app-ssl python app.py ``` {{% /codetab %}} diff --git a/daprdocs/content/en/operations/monitoring/tracing/supported-tracing-backends/jaeger.md b/daprdocs/content/en/operations/monitoring/tracing/supported-tracing-backends/jaeger.md index 5698f430a..d1d2e7ff7 100644 --- a/daprdocs/content/en/operations/monitoring/tracing/supported-tracing-backends/jaeger.md +++ b/daprdocs/content/en/operations/monitoring/tracing/supported-tracing-backends/jaeger.md @@ -7,16 +7,13 @@ description: "Set up Jaeger for distributed tracing" type: docs --- -Dapr currently supports the Zipkin protocol. Since Jaeger is -compatible with Zipkin, the Zipkin protocol can be used to talk to -Jaeger. +Dapr supports the Zipkin protocol. Since Jaeger is compatible with Zipkin, the Zipkin protocol can be used to communication with Jaeger. ## Configure self hosted mode ### Setup -The simplest way to start Jaeger is to use the pre-built all-in-one -Jaeger image published to DockerHub: +The simplest way to start Jaeger is to use the pre-built all-in-one Jaeger image published to DockerHub: ```bash docker run -d --name jaeger \ @@ -55,15 +52,19 @@ dapr run --app-id mynode --app-port 3000 node app.js --config config.yaml ``` ### Viewing Traces -To view traces, in your browser go to http://localhost:16686 and you will see the Jaeger UI. +To view traces, in your browser go to http://localhost:16686 to see the Jaeger UI. ## Configure Kubernetes The following steps shows you how to configure Dapr to send distributed tracing data to Jaeger running as a container in your Kubernetes cluster, how to view them. ### Setup -First create the following YAML file to install Jaeger -* jaeger-operator.yaml +First create the following YAML file to install Jaeger, file name is `jaeger-operator.yaml` + +#### Development and test + +By default, the allInOne Jaeger image uses memory as the backend storage and it is not recommended to use this in a production environment. + ```yaml apiVersion: jaegertracing.io/v1 kind: "Jaeger" @@ -80,7 +81,54 @@ spec: base-path: /jaeger ``` +#### Production + +Jaeger uses Elasticsearch as the backend storage, and you can create a secret in k8s cluster to access Elasticsearch server with access control. See [Configuring and Deploying Jaeger](https://docs.openshift.com/container-platform/4.7/jaeger/jaeger_install/rhbjaeger-deploying.html) + +```shell +kubectl create secret generic jaeger-secret --from-literal=ES_PASSWORD='xxx' --from-literal=ES_USERNAME='xxx' -n ${NAMESPACE} +``` + +```yaml +apiVersion: jaegertracing.io/v1 +kind: "Jaeger" +metadata: + name: jaeger +spec: + strategy: production + query: + options: + log-level: info + query: + base-path: /jaeger + collector: + maxReplicas: 5 + resources: + limits: + cpu: 500m + memory: 516Mi + storage: + type: elasticsearch + esIndexCleaner: + enabled: false ## turn the job deployment on and off + numberOfDays: 7 ## number of days to wait before deleting a record + schedule: "55 23 * * *" ## cron expression for it to run + image: jaegertracing/jaeger-es-index-cleaner ## image of the job + secretName: jaeger-secret + options: + es: + server-urls: http://elasticsearch:9200 +``` + +The pictures are as follows, include Elasticsearch and Grafana tracing data: + +![jaeger-storage-es](/images/jaeger_storage_elasticsearch.png) + +![grafana](/images/jaeger_grafana.png) + + Now, use the above YAML file to install Jaeger + ```bash # Install Jaeger helm repo add jaegertracing https://jaegertracing.github.io/helm-charts @@ -127,7 +175,7 @@ That's it! Your Dapr sidecar is now configured for use with Jaeger. To view traces, connect to the Jaeger Service and open the UI: -```bash +```bash kubectl port-forward svc/jaeger-query 16686 ``` diff --git a/daprdocs/static/images/jaeger_grafana.png b/daprdocs/static/images/jaeger_grafana.png new file mode 100644 index 000000000..aa5694cf7 Binary files /dev/null and b/daprdocs/static/images/jaeger_grafana.png differ diff --git a/daprdocs/static/images/jaeger_storage_elasticsearch.png b/daprdocs/static/images/jaeger_storage_elasticsearch.png new file mode 100644 index 000000000..d19daa096 Binary files /dev/null and b/daprdocs/static/images/jaeger_storage_elasticsearch.png differ