Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Target Allocator not distributing load evenly on Collector pods #3017

Open
RaviHari opened this issue Jun 6, 2024 · 1 comment
Open

Target Allocator not distributing load evenly on Collector pods #3017

RaviHari opened this issue Jun 6, 2024 · 1 comment
Labels
area:target-allocator Issues for target-allocator bug Something isn't working needs-info

Comments

@RaviHari
Copy link

RaviHari commented Jun 6, 2024

Component(s)

target allocator

What happened?

Target Allocator not distributing load evenly on Collector pods

Expected Result

Proper load balancing on otel collector pods.

Actual Result

Some otel collector pods getting higher usage:
image

Kubernetes Version

1.27.0

Operator version

0.97.1

Collector version

0.97.0

Environment information

No response

Log output

No response

Additional context

No response

@RaviHari RaviHari added bug Something isn't working needs triage labels Jun 6, 2024
@jaronoff97 jaronoff97 added needs-info area:target-allocator Issues for target-allocator and removed needs triage labels Jun 6, 2024
@RaviHari
Copy link
Author

RaviHari commented Jun 6, 2024

Here is the Otel CRD:

apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
  labels:
    app.kubernetes.io/managed-by: opentelemetry-operator
  name: otelcol
  namespace: opentelemetry-operator-system
spec:
  autoscaler:
    behavior:
      scaleDown:
        stabilizationWindowSeconds: 15
      scaleUp:
        stabilizationWindowSeconds: 1
    maxReplicas: 10
    minReplicas: 2
    targetCPUUtilization: 30
  config: |
    receivers:
      prometheus:
        config:
          scrape_configs:[]
          
        target_allocator:
          endpoint: http://otelcol-targetallocator.opentelemetry-operator-system.svc.cluster.local
          interval: 30s
          collector_id: "${POD_NAME}"
    exporters:
      logging:
        verbosity: detailed
      prometheusremotewrite:
        endpoint: "http://<remotewrite-endpoint-url>"
        external_labels:
          label_name1: label_value1
          label_name2: label_value2
    service:
      pipelines:
        metrics:
          receivers: [prometheus]
          processors: []
          exporters: [logging, prometheusremotewrite]
  deploymentUpdateStrategy: {}
  ingress:
    route: {}
  managementState: managed
  maxReplicas: 10
  minReplicas: 2
  mode: statefulset
  observability:
    metrics: {}
  podDisruptionBudget:
    maxUnavailable: 1
  replicas: 9
  resources:
    limits:
      cpu: 300m
      memory: 1Gi
    requests:
      cpu: 50m
      memory: 400Mi
  targetAllocator:
    allocationStrategy: consistent-hashing
    enabled: true
    filterStrategy: relabel-config
    image: target-allocator:v0.97.1
    observability:
      metrics: {}
    podDisruptionBudget:
      maxUnavailable: 1
    prometheusCR:
      enabled: true
      scrapeInterval: 30s
    replicas: 1
    resources: {}
    serviceAccount: otelcol-collector
  updateStrategy: {}
  upgradeStrategy: automatic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:target-allocator Issues for target-allocator bug Something isn't working needs-info
Projects
None yet
Development

No branches or pull requests

2 participants