# # Copyright 2017-2019 The Jaeger Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except # in compliance with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software distributed under the License # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express # or implied. See the License for the specific language governing permissions and limitations under # the License. # parameters: - description: The name of the Jaeger Service. displayName: Jaeger Service Name name: JAEGER_SERVICE_NAME required: true value: jaeger - description: The Jaeger image version to use displayName: Image version name: IMAGE_VERSION required: false value: "latest" - description: The name of the Jaeger Zipkin Service. displayName: Jaeger Zipkin Service Name name: JAEGER_ZIPKIN_SERVICE_NAME required: true value: zipkin - description: Limit the number of traces stored in-memory, see https://www.jaegertracing.io/docs/latest/deployment/#memory displayName: Max Traces name: MAX_TRACES required: true value: "50000" # See https://docs.okd.io/latest/dev_guide/compute_resources.html for the CPU/Memory Request/Limit parameters below - description: CPU request represents a minimum amount of CPU that your container may consume, but if there is no contention for CPU, it can use all available CPU on the node. displayName: CPU Request name: CPU_REQUEST required: true value: "100m" - description: CPU limits control the maximum amount of CPU that your container may use independent of contention on the node. displayName: CPU Limit name: CPU_LIMIT required: true value: "500m" - description: In order to improve placement of pods in the cluster, specify the amount of memory required for a container to run. displayName: Memory Request name: MEMORY_REQUEST required: true value: "100Mi" - description: Constrain the amount of memory the container can use. displayName: Memory Limit name: MEMORY_LIMIT required: true value: "2Gi" apiVersion: v1 kind: Template labels: template: jaeger-template-all-in-one jaeger-infra: template-all-in-one metadata: name: jaeger-template-all-in-one annotations: description: Jaeger Distributed Tracing Server (all-in-one) iconClass: icon-go-gopher openshift.io/display-name: Jaeger (all-in-one) tags: instant-app,tracing,opentracing,jaeger labels: name: jaeger-infra jaeger-infra: jaeger-template-all-in-one objects: - apiVersion: extensions/v1beta1 kind: Deployment metadata: name: ${JAEGER_SERVICE_NAME} labels: app: jaeger jaeger-infra: jaeger-deployment spec: replicas: 1 strategy: type: Recreate template: metadata: labels: app: jaeger jaeger-infra: jaeger-pod annotations: prometheus.io/scrape: "true" prometheus.io/port: "16686" spec: containers: - env: - name: COLLECTOR_ZIPKIN_HTTP_PORT value: "9411" image: jaegertracing/all-in-one:${IMAGE_VERSION} name: ${JAEGER_SERVICE_NAME} args: ["--memory.max-traces=${MAX_TRACES}"] ports: - containerPort: 5775 protocol: UDP - containerPort: 6831 protocol: UDP - containerPort: 6832 protocol: UDP - containerPort: 16686 protocol: TCP - containerPort: 9411 protocol: TCP - containerPort: 5778 protocol: TCP readinessProbe: httpGet: path: "/" port: 14269 initialDelaySeconds: 5 resources: requests: cpu: ${CPU_REQUEST} memory: ${MEMORY_REQUEST} limits: cpu: ${CPU_LIMIT} memory: ${MEMORY_LIMIT} - apiVersion: v1 kind: Service metadata: name: ${JAEGER_SERVICE_NAME}-query labels: app: jaeger jaeger-infra: jaeger-service spec: ports: - name: query-http port: 80 protocol: TCP targetPort: 16686 selector: jaeger-infra: jaeger-pod type: LoadBalancer - apiVersion: v1 kind: Service metadata: name: ${JAEGER_SERVICE_NAME}-collector labels: app: jaeger jaeger-infra: collector-service spec: ports: - name: jaeger-collector-tchannel port: 14267 protocol: TCP targetPort: 14267 - name: jaeger-collector-http port: 14268 protocol: TCP targetPort: 14268 - name: jaeger-collector-zipkin port: 9411 protocol: TCP targetPort: 9411 selector: jaeger-infra: jaeger-pod type: ClusterIP - apiVersion: v1 kind: Service metadata: name: ${JAEGER_SERVICE_NAME}-agent labels: app: jaeger jaeger-infra: agent-service spec: ports: - name: agent-zipkin-thrift port: 5775 protocol: UDP targetPort: 5775 - name: agent-compact port: 6831 protocol: UDP targetPort: 6831 - name: agent-binary port: 6832 protocol: UDP targetPort: 6832 - name: agent-sampler-manager port: 5778 protocol: TCP targetPort: 5778 clusterIP: None selector: jaeger-infra: jaeger-pod - apiVersion: v1 kind: Service metadata: name: ${JAEGER_ZIPKIN_SERVICE_NAME} labels: app: jaeger jaeger-infra: zipkin-service spec: ports: - name: jaeger-zipkin-http port: 9411 protocol: TCP targetPort: 9411 selector: jaeger-infra: jaeger-pod type: ClusterIP - apiVersion: v1 kind: Route metadata: name: ${JAEGER_SERVICE_NAME}-query labels: jaeger-infra: query-route spec: to: kind: Service name: ${JAEGER_SERVICE_NAME}-query port: targetPort: query-http tls: termination: edge insecureEdgeTerminationPolicy: Allow