Update k8s config to use opentelemetry docker image and configuration (#459)

* Update k8s config to use opentelemetry docker image and configuration

* Address pr comments

* Add queued retry to agent config

* Set memory ballast cli parameter
This commit is contained in:
Constance Caramanolis 2020-01-13 12:26:37 -08:00 committed by Paulo Janotti
parent 9f801c5b8d
commit 4e01fa34ff
1 changed files with 71 additions and 41 deletions

View File

@ -15,6 +15,20 @@ data:
exporters: exporters:
opencensus: opencensus:
endpoint: "otel-collector.default:55678" # TODO: Update me endpoint: "otel-collector.default:55678" # TODO: Update me
processors:
queued_retry:
num_workers: 4
queue_size: 100
retry_on_failure: true
extensions:
zpages: {}
services:
extensions: [zpages]
pipelines:
traces:
receivers: [opencensus]
processors: [queued_retry]
exporters: [opencensus]
--- ---
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
kind: DaemonSet kind: DaemonSet
@ -32,9 +46,9 @@ spec:
spec: spec:
containers: containers:
- command: - command:
- "/otelsvc_agent_linux" - "/usr/bin/otelcol"
- "--config=/conf/otel-agent-config.yaml" - "--config=/conf/otel-agent-config.yaml"
image: omnition/opencensus-agent:0.1.6 image: omnition/opentelemetry-collector:v0.2.0
name: otel-agent name: otel-agent
resources: resources:
limits: limits:
@ -44,11 +58,11 @@ spec:
cpu: 100m cpu: 100m
memory: 100Mi memory: 100Mi
ports: ports:
- containerPort: 55678 - containerPort: 55678 # Default Opencensus receiver port.
- containerPort: 55679 - containerPort: 55679 # ZPages endpoint.
# - containerPort: 14267 # - containerPort: 14267 # Default Jaeger TChannel port.
# - containerPort: 14268 # - containerPort: 14268 # Default Jaeger HTTP receiver port.
# - containerPort: 9411 # - containerPort: 9411 # Default Zipkin receiver port.
volumeMounts: volumeMounts:
- name: otel-agent-config-vol - name: otel-agent-config-vol
mountPath: /conf mountPath: /conf
@ -78,27 +92,38 @@ data:
max_connection_age-grace: 30s max_connection_age-grace: 30s
jaeger: {} jaeger: {}
zipkin: {} zipkin: {}
# Can only use one exporter processors:
# exporters: queued_retry:
# jaeger:
# collector_endpoint: "http://jaeger.default:14268/api/traces"
# zipkin: {}
queued-exporters:
omnition:
batching:
enable: true
timeout: 5s
send_batch_size: 1024
num_workers: 16 num_workers: 16
queue_size: 10000 queue_size: 10000
retry_on_failure: true retry_on_failure: true
opencensus: batch:
compression: "gzip" send_batch_size: 1024
endpoint: "ingest.omnition.io:443" timeout: 5s
headers: { "x-omnition-api-key":"00000000-0000-0000-0000-000000000001" } # TODO: Update me extensions:
num_workers: 8 health_check: {}
reconnection_delay: 2s exporters:
secure: true opencensus:
compression: "gzip"
endpoint: "someopencensus.target.com:443" # Replace with a real endpoint.
num_workers: 8
reconnection_delay: 2s
secure: true
zipkin:
url: "http://somezipkin.target.com:9411/api/v2/spans" # Replace with a real endpoint.
jaeger_grpc:
endpoint: "somejaegergrpc.target.com:55678" # Replace with a real endpoint.
services:
extensions: [health_check]
pipelines:
traces/1:
receivers: [opencensus, zipkin]
processors: [batch, queued_retry]
exporters: [opencensus, zipkin]
traces/2:
receivers: [opencensus, jaeger]
processors: [batch, queued_retry]
exporters: [jaeger_grpc]
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
@ -109,16 +134,18 @@ metadata:
component: otel-collector component: otel-collector
spec: spec:
ports: ports:
- name: opencensus - name: opencensus # Default endpoint for Opencensus receiver.
port: 55678 port: 55678
protocol: TCP protocol: TCP
targetPort: 55678 targetPort: 55678
# - name: jaeger-tchannel - name: jaeger_tchannel # Default endpoint for Jaeger TChannel receiver.
# port: 14267 port: 14267
# - name: jaeger_thrift_http - name: jaeger_thrift_http # Default endpoint for Jaeger HTTP receiver.
# port: 14268 port: 14268
# - name: zipkin - name: zipkin # Default endpoint for Zipkin receiver.
# port: 9411 port: 9411
- name: metrics # Default endpoint for querying metrics.
port: 8888
selector: selector:
component: otel-collector component: otel-collector
--- ---
@ -132,7 +159,7 @@ metadata:
spec: spec:
minReadySeconds: 5 minReadySeconds: 5
progressDeadlineSeconds: 120 progressDeadlineSeconds: 120
replicas: 1 replicas: 1 #TODO - adjust this to your own requirements
template: template:
metadata: metadata:
annotations: annotations:
@ -145,12 +172,14 @@ spec:
spec: spec:
containers: containers:
- command: - command:
- "/otelsvc_collector_linux" - "/usr/bin/otelcol"
- "--config=/conf/otel-collector-config.yaml" - "--config=/conf/otel-collector-config.yaml"
# Memory Ballast size should be max 1/3 to 1/2 of memory.
- "--mem-ballast-size-mib=683"
env: env:
- name: GOGC - name: GOGC
value: "80" value: "80"
image: omnition/opencensus-collector:0.1.6 image: omnition/opentelemetry-collector:v0.2.0
name: otel-collector name: otel-collector
resources: resources:
limits: limits:
@ -160,10 +189,11 @@ spec:
cpu: 200m cpu: 200m
memory: 400Mi memory: 400Mi
ports: ports:
- containerPort: 55678 - containerPort: 55678 # Default endpoint for Opencensus receiver.
# - containerPort: 14267 - containerPort: 14267 # Default endpoint for Jaeger TChannel receiver.
# - containerPort: 14268 - containerPort: 14268 # Default endpoint for Jaeger HTTP receiver.
# - containerPort: 9411 - containerPort: 9411 # Default endpoint for Zipkin receiver.
- containerPort: 8888 # Default endpoint for querying metrics.
volumeMounts: volumeMounts:
- name: otel-collector-config-vol - name: otel-collector-config-vol
mountPath: /conf mountPath: /conf
@ -172,11 +202,11 @@ spec:
livenessProbe: livenessProbe:
httpGet: httpGet:
path: / path: /
port: 13133 port: 13133 # Health Check extension default port.
readinessProbe: readinessProbe:
httpGet: httpGet:
path: / path: /
port: 13133 port: 13133 # Health Check extension default port.
volumes: volumes:
- configMap: - configMap:
name: otel-collector-conf name: otel-collector-conf