Skip to content

[POC] GKE Autopilot POC for DDAI code path#2950

Draft
levan-m wants to merge 1 commit intomainfrom
levan-m/gke-autopilot-poc
Draft

[POC] GKE Autopilot POC for DDAI code path#2950
levan-m wants to merge 1 commit intomainfrom
levan-m/gke-autopilot-poc

Conversation

@levan-m
Copy link
Copy Markdown
Collaborator

@levan-m levan-m commented Apr 27, 2026

What does this PR do?

POC for handling provider specific variations in DDAI code path for GKE autopilot provider. Tested with four container enabled.

Motivation

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

Minimum Agent Versions

Are there minimum versions of the Datadog Agent and/or Cluster Agent required?

  • Agent: vX.Y.Z
  • Cluster Agent: vX.Y.Z

Describe your test plan

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
  annotations:
    # POC: declare provider so the DDAI reconciler applies GKE Autopilot-specific config
    datadoghq.com/provider: gke-autopilot
spec:
  global:
    kubelet:
      tlsVerify: false
    credentials:
      apiSecret:
        secretName: datadog-secret
        keyName: api-key
      appSecret:
        secretName: datadog-secret
        keyName: app-key
  features:
    logCollection:
      enabled: true
      containerCollectAll: true
    liveProcessCollection:
      enabled: true
    usm:
      enabled: true
    npm:
      enabled: true
    apm:
      enabled: true
      hostPortConfig:
        enabled: true
      unixDomainSocketConfig:
        enabled: false
      instrumentation:
        enabled: true
        targets:
          - name: default-target
            ddTraceVersions:
              java: "1"
              python: "4"
              js: "5"
              php: "1"
              dotnet: "3"
              ruby: "2"
            ddTraceConfigs:
              - name: DD_PROFILING_ENABLED
                value: "auto"
  override:
    nodeAgent:
      labels:
        # Required by GKE Autopilot WorkloadAllowlist to exempt the DaemonSet
        cloud.google.com/matching-allowlist: datadog-datadog-daemonset-exemption-v1.0.3
      priorityClassName: datadog
      containers:
        agent:
          resources:
            requests:
              cpu: "200m"
              memory: "256Mi"
        trace-agent:
          resources:
            requests:
              cpu: "100m"
              memory: "200Mi"
        process-agent:
          resources:
            requests:
              cpu: "100m"
              memory: "200Mi"
        system-probe:
          resources:
            requests:
              cpu: "100m"
              memory: "400Mi"
---
apiVersion: scheduling.k8s.io/v1
description: Used for Datadog Agent Components to be scheduled with higher priority.
kind: PriorityClass
metadata:
  name: datadog
preemptionPolicy: PreemptLowerPriority
value: 1e+09

Checklist

  • PR has at least one valid label: bug, enhancement, refactoring, documentation, tooling, and/or dependencies
  • PR has a milestone or the qa/skip-qa label
  • All commits are signed (see: signing commits)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant