From 3cb6f1f2cb2fa6e766ab1f4d1eb133e2979ddb48 Mon Sep 17 00:00:00 2001 From: chenzhiguo5 Date: Mon, 23 Dec 2024 20:13:06 +0800 Subject: [PATCH] Add podAntiAffinity --- deploy/all-cr.yaml | 26 ++++++++++++------ .../templates/deployment.yaml | 11 +++++++- deploy/packages/joylive-injector-1.3.6.tgz | Bin 16794 -> 16939 bytes 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/deploy/all-cr.yaml b/deploy/all-cr.yaml index e2d4f2d..96c07c6 100644 --- a/deploy/all-cr.yaml +++ b/deploy/all-cr.yaml @@ -112,6 +112,7 @@ data: app.location.laneSpaceId=${APPLICATION_LOCATION_LANESPACE_ID} app.location.lane=${APPLICATION_LOCATION_LANE} agent.enhance.shutdownOnError=${CONFIG_ENHANCE_SHUTDOWN_ON_ERROR:true} + agent.enhance.excludeApp=${CONFIG_ENHANCE_EXCLUDE_APPS:com.taobao.arthas.boot.Bootstrap,org.netbeans.Main} classloader.contextLoaderEnabled=${CLASSLOADER_CONTEXT_LOADER_ENABLED:true} classloader.core.configExtensions=yaml,yml,xml,json,properties #classloader.core.parentResources= @@ -138,6 +139,7 @@ data: excludeInterfaces: null excludeClassLoaders: - com.jd.jr.sgm.agent.loader.ClientLibClassLoader + - com.jd.jr.sgm.agent.loader.ClientAppClassLoader - com.jd.pfinder.profiler.load.InterceptorClassLoader - com.jd.pfinder.profiler.utils.ModuleClassLoader - com.jd.pfinder.profiler.load.ModuleInterceptorClassLoader @@ -516,18 +518,13 @@ data: 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] + exporters: [prometheus] --- # Source: joylive-injector/templates/rbac.yaml apiVersion: rbac.authorization.k8s.io/v1 @@ -666,6 +663,15 @@ spec: app: joylive-injector spec: serviceAccountName: joylive-injector + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchLabels: + app: joylive-injector + topologyKey: "kubernetes.io/hostname" containers: - env: - name: log.level @@ -736,7 +742,7 @@ spec: - command: - "/otelcol" - "--config=/conf/otel-collector-config.yaml" - image: otel/opentelemetry-collector:0.100.0 + image: otel/opentelemetry-collector:0.115.1 name: otel-collector resources: limits: @@ -806,7 +812,7 @@ webhooks: admissionReviewVersions: [ "v1", "v1beta1" ] sideEffects: None timeoutSeconds: 5 - failurePolicy: Ignore + failurePolicy: Fail objectSelector: matchLabels: x-live-enabled : "true" @@ -828,7 +834,7 @@ webhooks: admissionReviewVersions: [ "v1", "v1beta1" ] sideEffects: None timeoutSeconds: 5 - failurePolicy: Ignore + failurePolicy: Fail objectSelector: matchLabels: x-live-enabled : "true" @@ -854,6 +860,8 @@ spec: endpoints: - port: prometheus interval: 10s + - port: metrics + interval: 10s namespaceSelector: any: true selector: diff --git a/deploy/joylive-injector/templates/deployment.yaml b/deploy/joylive-injector/templates/deployment.yaml index d81aef0..cd83ee1 100644 --- a/deploy/joylive-injector/templates/deployment.yaml +++ b/deploy/joylive-injector/templates/deployment.yaml @@ -15,6 +15,15 @@ spec: app: {{ include "joylive-injector.name" . }} spec: serviceAccountName: {{ include "joylive-injector.serviceAccountName" . }} + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchLabels: + app: {{ include "joylive-injector.name" . }} + topologyKey: "kubernetes.io/hostname" containers: - env: - name: log.level @@ -51,4 +60,4 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} volumes: - {{- toYaml .Values.Volumes | nindent 8 }} + {{- toYaml .Values.Volumes | nindent 8 }} \ No newline at end of file diff --git a/deploy/packages/joylive-injector-1.3.6.tgz b/deploy/packages/joylive-injector-1.3.6.tgz index 1ff2a5745813113e3596c502b1ac6ff4df500f10..63039f73733b9d02bd39690312c76cfc95991601 100644 GIT binary patch delta 15713 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�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