Skip to content

Commit

Permalink
Add otel component
Browse files Browse the repository at this point in the history
  • Loading branch information
chenzhiguo committed Nov 26, 2024
1 parent 69dabf9 commit c11b1f7
Show file tree
Hide file tree
Showing 3 changed files with 159 additions and 12 deletions.
4 changes: 2 additions & 2 deletions charts/joylive-injector/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.3.4
version: 1.3.5

keywords:
- joylive
Expand All @@ -26,4 +26,4 @@ home: https://github.com/jd-opensource/joylive-injector
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "v1.2.0"
appVersion: "v1.2.1"
141 changes: 141 additions & 0 deletions charts/joylive-injector/templates/otel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: otel-collector-conf
labels:
app: opentelemetry
component: otel-collector-conf
data:
otel-collector-config: |
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
batch:
memory_limiter:
# 80% of maximum memory up to 2G
limit_mib: 1500
# 25% of limit up to 2G
spike_limit_mib: 512
check_interval: 5s
extensions:
zpages: {}
exporters:
prometheus:
endpoint: 0.0.0.0:8889
namespace: ''
logging: {}
service:
extensions: [zpages]
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [logging]
metrics:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [logging, prometheus]
---
apiVersion: v1
kind: Service
metadata:
name: otel-collector
labels:
app.kubernetes.io/managed-by: paas
app.kubernetes.io/name: opentelemetry
app: opentelemetry
component: otel-collector
spec:
ports:
- name: otlp-grpc # Default endpoint for OpenTelemetry gRPC receiver.
port: 4317
protocol: TCP
targetPort: 4317
- name: otlp-http # Default endpoint for OpenTelemetry HTTP receiver.
port: 4318
protocol: TCP
targetPort: 4318
- name: metrics # Default endpoint for querying metrics.
port: 8888
- name: prometheus
port: 8889

type: NodePort
selector:
component: otel-collector
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: otel-collector
labels:
app: opentelemetry
component: otel-collector
spec:
selector:
matchLabels:
app: opentelemetry
component: otel-collector
minReadySeconds: 5
progressDeadlineSeconds: 120
replicas: {{ .Values.otel.replicas }}
template:
metadata:
labels:
app: opentelemetry
component: otel-collector
spec:
containers:
- command:
- "/otelcol"
- "--config=/conf/otel-collector-config.yaml"
image: {{ .Values.otel.image.repository }}:{{ .Values.otel.image.tag }}
name: otel-collector
resources:
limits:
cpu: 1
memory: 2Gi
requests:
cpu: 200m
memory: 400Mi
ports:
- containerPort: 55679 # Default endpoint for ZPages.
- containerPort: 4317 # Default endpoint for OpenTelemetry receiver.
- containerPort: 14250 # Default endpoint for Jaeger gRPC receiver.
- containerPort: 14268 # Default endpoint for Jaeger HTTP receiver.
- containerPort: 9411 # Default endpoint for Zipkin receiver.
- containerPort: 8888 # Default endpoint for querying metrics.
- containerPort: 8889 # Default endpoint for Prometheus.
env:
- name: MY_POD_IP
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
- name: GOMEMLIMIT
value: 1600MiB
volumeMounts:
- name: otel-collector-config-vol
mountPath: /conf
# - name: otel-collector-secrets
# mountPath: /secrets
volumes:
- configMap:
name: otel-collector-conf
items:
- key: otel-collector-config
path: otel-collector-config.yaml
name: otel-collector-config-vol
# - secret:
# name: otel-collector-secrets
# items:
# - key: cert.pem
# path: cert.pem
# - key: key.pem
# path: key.pem
26 changes: 16 additions & 10 deletions charts/joylive-injector/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ image:
repository: ghcr.m.daocloud.io/jd-opensource/joylive-injector
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: v1.2.0
tag: v1.2.1

configMapName: joylive-injector-config

Expand All @@ -24,7 +24,7 @@ containerArgs:
- --cert=/etc/kubernetes/ssl/dac.pem
- --key=/etc/kubernetes/ssl/dac-key.pem

imagePullSecrets: []
imagePullSecrets: [ ]
nameOverride: ""
fullnameOverride: ""

Expand Down Expand Up @@ -53,12 +53,18 @@ agent:
url: http://api.jmsf.local:8080/v1
exporter:
type: otlp.grpc # otlp.grpc
endpoint: http://otel-collector.otel.svc:4317
endpoint: http://otel-collector.joylive.svc:4317
switch:
live: true
lane: false
flowcontrol: true

otel:
replicas: 2
image:
repository: otel/opentelemetry-collector
tag: 0.100.0

#caBundle: $ {CA_BUNDLE}
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdKRENDQkF5Z0F3SUJBZ0lVU3VsRVQxWGhqSk5jeDJBdFVCa3ZtSlBBNDRJd0RRWUpLb1pJaHZjTkFRRU4KQlFBd2dha3hDekFKQmdOVkJBWVRBa05PTVJBd0RnWURWUVFJRXdkQ1pXbHFhVzVuTVJBd0RnWURWUVFIRXdkQwpaV2xxYVc1bk1TSXdJQVlEVlFRS0V4bEVlVzVoYldsaklFRmtiV2x6YzJsdmJpQkRiMjUwY205c01Tc3dLUVlEClZRUUxFeUpFZVc1aGJXbGpJRUZrYldsemMybHZiaUJEYjI1MGNtOXNJRk5sWTNWeWFYUjVNU1V3SXdZRFZRUUQKRXh4RWVXNWhiV2xqSUVGa2JXbHpjMmx2YmlCRGIyNTBjbTlzSUVOQk1CNFhEVEkwTURZeE1qQTRNekV3TUZvWApEVE0wTURZeE1EQTRNekV3TUZvd2dha3hDekFKQmdOVkJBWVRBa05PTVJBd0RnWURWUVFJRXdkQ1pXbHFhVzVuCk1SQXdEZ1lEVlFRSEV3ZENaV2xxYVc1bk1TSXdJQVlEVlFRS0V4bEVlVzVoYldsaklFRmtiV2x6YzJsdmJpQkQKYjI1MGNtOXNNU3N3S1FZRFZRUUxFeUpFZVc1aGJXbGpJRUZrYldsemMybHZiaUJEYjI1MGNtOXNJRk5sWTNWeQphWFI1TVNVd0l3WURWUVFERXh4RWVXNWhiV2xqSUVGa2JXbHpjMmx2YmlCRGIyNTBjbTlzSUVOQk1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXpDRStnZWorUkFOV2Z1NDhRQnF5Ry9HUVFQVFUKeVFHV29jZHVIQ0x4WUVrNUtIL1NNVHZsbGpWaERGOWxENEVyTnQ0Nk95QnBzOTBiTG5aWDJKR3hrdFdmcVM5aAo4RUY3NXUycU9QcWhjMTd0dkowNTFrb2ZxZmVQOVcvbUtudkhpMlBEak1nMk9MbDBJWG5GazJOVDFtUFd6bXZaCkEvS1ZBVzNCcGIrOEg3djZBR2hDNSsvK0M1UlRCMnhaTVFuUmdXd3dmRHdRTzd4Qml0cEdEZXovWGpnN0JmcmYKYkNGekdPQTJvRzVTbk1YNzhOOHNNVEJuRmliLzNmWG5EQ1k4RVdsa0xpaG5pcXg2N3lLWkZSYlBEZy9COGNqWgoyK3RWc2pORUk2VUJhczQvNXUySGNuWStGNGV0cGwzdkNKZHNHbEpUeml1eWN4bTc0N1RuZi9sQ2Z6T3gzNVJKCmRSWWpoQlVRak1acDRhaUtCZ3BqMkxtdS9NV25qQURjemVkbVVlWWJCUEEyUGV4MFI1RHNTeFQyOE90V0RkS3QKZHhiSTAvZEhoT2pZbDl6T1MzMkdsRlhKSFNQM1cwR0tTSFVhMUp4bjFncURpM2MrTUNEVUZFTzFVWTVSMnFlUQpxY3ZkdUhxd3owdHdpTTd1VE1ySVlndUkzVUNkRUdxcjNwd0dpQURIbkcvT1pIMHRhTUFTbXVmVk1KWGIvTjZmCjM2ZURxNHpEOGlpbjBYTUs4WWtONFVKZkFKYUlFeU11RU1qUndSYUhPUlU3d1ZKakJEVWNwcitrU3ZkWDAzOHYKVGNObWYvTjU4QzFzUm1KeURDYmE3aW1qakE3RDh0ZSt3UnVnZUlURzhyRENOOEVqQVFVVEhJQTk5NWQ3cStETQpSNXU4ZStEU1dXRDdHK3NDQXdFQUFhTkNNRUF3RGdZRFZSMFBBUUgvQkFRREFnRUdNQThHQTFVZEV3RUIvd1FGCk1BTUJBZjh3SFFZRFZSME9CQllFRkJ4UWxqNlYyMHU3SWg2RUYwVEs3KzFyWkgrNk1BMEdDU3FHU0liM0RRRUIKRFFVQUE0SUNBUUFlS2FVcm1TMWdOeXp0dzM1a3FzYU9sWGV0ekJwUFlIc2F4azVHV1JjR0lQSUZmd212ZzZKUAptanRiLzI3Y0FXY0V3QTZlQUpFYmw2Nm9Ic3lOWUNkcmZheUg0M010Y1lTaUV3RVhCS2JhU3dBVWdXZi9CelNaCkFEa3daMEo4bWZXSnQ3NE1BTHl0Mk56VXJpUjJKcmhoS2p4TWJMN2pMZnRJaGZyRGJ1NnJXb2FUNWZMUUFMSEgKa3kveXNaZlJYcVJ1MXJTdldva1VUY201cGIwWVljRE84aWs4Y041VkJmWENRYjYvUkhVUjI2OUNpdllYU0tHLwpTdjdCTkpmckV0U3U0V01ya01nVmo0NmZvQUpiMGFKdFhzLyt0bzBjWDlaSG5hMXR2OFlXZ2JScWJPRnJhSk44ClFPTHNtcW55Yk1Tcjdnd0o0Q3B6c3VMNWh4TEtZZnozQWJlek5scXFiNzZkbE1mYlA4bzJRL1lITXptS2JkWmcKS2JzeTBzSmFBZEtURkYrRzluYlpBbEI3V3RkazNLOTFGNGRxUUpOUzZyZVBKVE9QSWZaajFmS3N2eXRmd3YzcwpPYjNyY2tPeTE2WXFVZEtsNVB5SzI0RjVZMXRhQlp3T0MzODdxcWpaRS9JNGhHdFhFZVp5aTUwWmpWS1VkZkhCCnNYc1VzcmNtQ3h2cXViRDF0K1R2UmVqNHBpMkZLem1MWFFRTXVJNTlJWHRlN3dSYUxDVENNWVdvcGZHeXZBdDQKM1hHSm4rKzZ4UVV4V01qcUhMbUdyQWFNU1ZhWnYvL3dzVzBFanJsdFVPcXI5NkJkNXllOFFXRmdlV21EUlVvUgpWMlZZZWhRelVOT1NaN0VZeU5NckxlWXJXcXBSeXgxaDRNV2kzem5XNVBqNEZjTGhaTWd0blE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==

Expand All @@ -68,17 +74,17 @@ caKeyBundle: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc3I
#caPubBundle: $ {CA_PUB_BUNDLE}
caPubBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdJekNDQkF1Z0F3SUJBZ0lVRklrYUx0V2hvQk9WZ2xOT1hCUGFEdUFSOXIwd0RRWUpLb1pJaHZjTkFRRU4KQlFBd2dha3hDekFKQmdOVkJBWVRBa05PTVJBd0RnWURWUVFJRXdkQ1pXbHFhVzVuTVJBd0RnWURWUVFIRXdkQwpaV2xxYVc1bk1TSXdJQVlEVlFRS0V4bEVlVzVoYldsaklFRmtiV2x6YzJsdmJpQkRiMjUwY205c01Tc3dLUVlEClZRUUxFeUpFZVc1aGJXbGpJRUZrYldsemMybHZiaUJEYjI1MGNtOXNJRk5sWTNWeWFYUjVNU1V3SXdZRFZRUUQKRXh4RWVXNWhiV2xqSUVGa2JXbHpjMmx2YmlCRGIyNTBjbTlzSUVOQk1CNFhEVEkwTURZeE1qQTRNekV3TUZvWApEVE0wTURZeE1EQTRNekV3TUZvd2dhWXhDekFKQmdOVkJBWVRBa05PTVJBd0RnWURWUVFJRXdkQ1pXbHFhVzVuCk1SQXdEZ1lEVlFRSEV3ZENaV2xxYVc1bk1TSXdJQVlEVlFRS0V4bEVlVzVoYldsaklFRmtiV2x6YzJsdmJpQkQKYjI1MGNtOXNNU3N3S1FZRFZRUUxFeUpFZVc1aGJXbGpJRUZrYldsemMybHZiaUJEYjI1MGNtOXNJRk5sWTNWeQphWFI1TVNJd0lBWURWUVFERXhsRWVXNWhiV2xqSUVGa2JXbHpjMmx2YmlCRGIyNTBjbTlzTUlJQklqQU5CZ2txCmhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBc3IvZ1VkcktlbjlINGYrY2lTeUJ3ZmU1SlZqL1hvV2MKOEs2VDN5VjRjT3dKZ01sa08wL25WVWRKdm1lREF1SEpQQ1J4azErcWJ2K293RVV2SlpUNDRDWHVBL1R6OGwyRApWRDNtZ0RkNFpjekFnQ3NYWDhJVXUzTUtTd0hQN1JIWG1Nb0wyYmpGOFZ0aTNvdCtTNExkcFpLYVJpclVPOHI0CnVUQ3p3S21VMi82cUppNXN1U1prenFQRTlWdi9sbHBQN0doSG8wcnJxNTl1MVNHSW85b1EvLzVWL292SFpuYkoKQVVPT2hOWFZrRjB5d0NsQ3A5RHQ3MkI1UndDS3BlRDVkZU5tSUtWRTl4U1YzMEcwdzBTVnRXTFhCN3dWRXFOdApOaGowVzFBSDgycGNQZjhnSEtkcE5MWW43SG1nTk1paFQ0anlPTmlKQk9kaGNaVGVwQ1R3S1FJREFRQUJvNElCClFqQ0NBVDR3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUIwR0ExVWREZ1FXQkJReXV0cElvNkFpYWltYU1ZT21pQmhWbk9jWQpSVEFmQmdOVkhTTUVHREFXZ0JRY1VKWStsZHRMdXlJZWhCZEV5dS90YTJSL3VqQ0J2Z1lEVlIwUkJJRzJNSUd6CmdnbHNiMk5oYkdodmMzU0NFR3B2ZVd4cGRtVXRhVzVxWldOMGIzS0NHR3B2ZVd4cGRtVXRhVzVxWldOMGIzSXUKYW05NWJHbDJaWUljYW05NWJHbDJaUzFwYm1wbFkzUnZjaTVxYjNsc2FYWmxMbk4yWTRJU2RtRnNhV1JoZEdsdQpaeTEzWldKb2IyOXJnaDUyWVd4cFpHRjBhVzVuTFhkbFltaHZiMnN1YTNWaVpTMWhaR1J2Ym5PQ0luWmhiR2xrCllYUnBibWN0ZDJWaWFHOXZheTVyZFdKbExXRmtaRzl1Y3k1emRtT0hCSDhBQUFFd0RRWUpLb1pJaHZjTkFRRU4KQlFBRGdnSUJBR25HbHI2Y2xhZjVPWWYvS2IwbUpWSUxEZEhhcW05R0N5d1F5cisrdDVJeHFnd09QL1l5dlZnUgo5cVBsZXhyaFFHY1hMQTU3cnIvVklsaVFhN3ExRVU4ZDlKZFd6b3V2S1FKY2FZdW9WWEdUWmlKRFlRUmZUOFJjCnZ1Tmh0NUU4VTkyYTlzN2dDTXEzOWRtMnExd2k2RlVwU0dlbFY0SW5ubERXYVYrampjaEZ4ck92MmNiSEFpWGoKQnpzcFlIM3JsZjlDb3lIZkdHNEN4Kyt4TWIxSVBvWlcxdGhxdGZ4amVTaElieXF2WXZWejJlRjFvRWN5akRoWQpmeFEzNEY2YzVtM1BaZmk2emdPVktKc1NmT3R2ellhRC9nM0lOWmhreGtsTWtyMlBVUExRc1lCSi83RkNJMzl1Cnk1Z2E0Q0RzRnQ1VzQvUTVORkVlUENVQUlTWXRmNEpocEowYlJVVmY2Y1BpWHpmcG1XbVBiaFNlNGQ2QldVU3EKUkJxa1FhSkJub2FsemFtSWhiZXpORWdQTzFlSyt5MXNkUVZhTHJrelFJRUZvWHN5MldSaXRRU2pQNWphL2RQZgo5aEl5Wjl5b25yczJtWVFqajBuM3lDRlFkZDd4V2Z3NVhjRFZScXV0dnV6N3lOL0RuN2YvbXltVjZGR0lSd2doClZJLzFxSDZ1N3lJT1ljM1FVR2NyMmdXd1haUlVabVNNb1ZhYVU5TTgwVTJPRXozbDgyR2NWMkEwYlpSQ201UlcKQXpsdzVtejRGVUsvblNnSjNCMTVneG1LVlNZS2cyQ01RZmVxeThjcDRuTXRKZGRocjhOSU1OZGFLUG1JNlM0KwpOSVl5RXN6cWhWUExrMzE0eXNxdUNmUlFuN2oydkdDaE9VSFVoK0VPOFVvVldDZVM1R1RRCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K

resources: {}
resources:
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: "2"
memory: "4Gi"

VolumeMounts:
- name: dynamic-admission-control-certs
Expand Down

0 comments on commit c11b1f7

Please sign in to comment.