--- # This file has been generated by `helm template datadog-agent datadog/datadog` from datadog/templates/cluster-agent-deployment.yaml. Please re-run `generate.sh` rather than modifying this file manually. apiVersion: apps/v1 kind: Deployment metadata: name: datadog-cluster-agent namespace: default labels: agent.datadoghq.com/component: cluster-agent spec: replicas: 1 revisionHistoryLimit: 10 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate selector: matchLabels: app: datadog-cluster-agent template: metadata: labels: app.kubernetes.io/name: "datadog" app.kubernetes.io/instance: datadog-cluster-agent app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: default-datadog app.kubernetes.io/component: cluster-agent admission.datadoghq.com/enabled: "false" app: datadog-cluster-agent agent.datadoghq.com/component: cluster-agent name: datadog-cluster-agent annotations: {} spec: serviceAccountName: datadog-cluster-agent automountServiceAccountToken: true initContainers: - name: init-volume image: "gcr.io/datadoghq/cluster-agent:7.73.0" imagePullPolicy: IfNotPresent command: - cp - -r args: - /etc/datadog-agent - /opt volumeMounts: - name: config mountPath: /opt/datadog-agent containers: - name: cluster-agent image: "gcr.io/datadoghq/cluster-agent:7.73.0" imagePullPolicy: IfNotPresent resources: {} ports: - containerPort: 5005 name: agentport protocol: TCP - containerPort: 5000 name: agentmetrics protocol: TCP - containerPort: 8443 name: metricsapi protocol: TCP - containerPort: 8000 name: datadog-webhook protocol: TCP env: - name: DD_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: DD_CLUSTER_AGENT_SERVICE_ACCOUNT_NAME valueFrom: fieldRef: fieldPath: spec.serviceAccountName - name: DD_HEALTH_PORT value: "5556" - name: DD_API_KEY valueFrom: secretKeyRef: name: "datadog" key: api-key optional: true - name: KUBERNETES value: "yes" - name: DD_CSI_ENABLED value: "false" - name: DD_LANGUAGE_DETECTION_ENABLED value: "false" - name: DD_LANGUAGE_DETECTION_REPORTING_ENABLED value: "false" - name: DD_EXTERNAL_METRICS_PROVIDER_ENABLED value: "true" - name: DD_EXTERNAL_METRICS_PROVIDER_PORT value: "8443" - name: DD_EXTERNAL_METRICS_PROVIDER_WPA_CONTROLLER value: "false" - name: DD_EXTERNAL_METRICS_PROVIDER_USE_DATADOGMETRIC_CRD value: "false" - name: DD_EXTERNAL_METRICS_AGGREGATOR value: "avg" - name: DD_ADMISSION_CONTROLLER_ENABLED value: "true" - name: DD_ADMISSION_CONTROLLER_VALIDATION_ENABLED value: "true" - name: DD_ADMISSION_CONTROLLER_MUTATION_ENABLED value: "true" - name: DD_TRACE_AGENT_HOST_SOCKET_PATH value: "/var/run/datadog" - name: DD_DOGSTATSD_HOST_SOCKET_PATH value: "/var/run/datadog" - name: DD_DOGSTATSD_SOCKET value: "/var/run/datadog/dsd.socket" - name: DD_APM_RECEIVER_SOCKET value: "/var/run/datadog/apm.socket" - name: DD_ADMISSION_CONTROLLER_WEBHOOK_NAME value: "datadog-webhook" - name: DD_ADMISSION_CONTROLLER_MUTATE_UNLABELLED value: "false" - name: DD_ADMISSION_CONTROLLER_SERVICE_NAME value: datadog-cluster-agent-admission-controller - name: DD_ADMISSION_CONTROLLER_INJECT_CONFIG_MODE value: socket - name: DD_ADMISSION_CONTROLLER_INJECT_CONFIG_LOCAL_SERVICE_NAME value: datadog - name: DD_ADMISSION_CONTROLLER_FAILURE_POLICY value: "Ignore" - name: DD_ADMISSION_CONTROLLER_PORT value: "8000" - name: DD_ADMISSION_CONTROLLER_CONTAINER_REGISTRY value: "gcr.io/datadoghq" - name: DD_REMOTE_CONFIGURATION_ENABLED value: "false" - name: DD_CLUSTER_CHECKS_ENABLED value: "true" - name: DD_EXTRA_CONFIG_PROVIDERS value: "kube_endpoints kube_services" - name: DD_EXTRA_LISTENERS value: "kube_endpoints kube_services" - name: DD_LOG_LEVEL value: "INFO" - name: DD_LEADER_ELECTION value: "true" - name: DD_LEADER_ELECTION_DEFAULT_RESOURCE value: "configmap" - name: DD_LEADER_LEASE_NAME value: datadog-leader-election - name: DD_CLUSTER_AGENT_TOKEN_NAME value: datadogtoken - name: DD_COLLECT_KUBERNETES_EVENTS value: "true" - name: DD_KUBERNETES_USE_ENDPOINT_SLICES value: "false" - name: DD_KUBERNETES_KUBE_SERVICE_IGNORE_READINESS value: "false" - name: DD_KUBERNETES_EVENTS_SOURCE_DETECTION_ENABLED value: "false" - name: DD_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME value: datadog-cluster-agent - name: DD_CLUSTER_AGENT_AUTH_TOKEN valueFrom: secretKeyRef: name: datadog-cluster-agent key: token - name: DD_CLUSTER_AGENT_COLLECT_KUBERNETES_TAGS value: "false" - name: DD_KUBE_RESOURCES_NAMESPACE value: default - name: CHART_RELEASE_NAME value: "datadog" - name: AGENT_DAEMONSET value: datadog - name: CLUSTER_AGENT_DEPLOYMENT value: datadog-cluster-agent - name: DD_ORCHESTRATOR_EXPLORER_ENABLED value: "true" - name: DD_ORCHESTRATOR_EXPLORER_CONTAINER_SCRUBBING_ENABLED value: "true" - name: DD_CLUSTER_AGENT_LANGUAGE_DETECTION_PATCHER_ENABLED value: "false" - name: DD_INSTRUMENTATION_INSTALL_TIME valueFrom: configMapKeyRef: name: datadog-kpi-telemetry-configmap key: install_time - name: DD_INSTRUMENTATION_INSTALL_ID valueFrom: configMapKeyRef: name: datadog-kpi-telemetry-configmap key: install_id - name: DD_INSTRUMENTATION_INSTALL_TYPE valueFrom: configMapKeyRef: name: datadog-kpi-telemetry-configmap key: install_type livenessProbe: failureThreshold: 6 httpGet: path: /live port: 5556 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 15 successThreshold: 1 timeoutSeconds: 5 readinessProbe: failureThreshold: 6 httpGet: path: /ready port: 5556 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 15 successThreshold: 1 timeoutSeconds: 5 startupProbe: failureThreshold: 6 httpGet: path: /startup port: 5556 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 15 successThreshold: 1 timeoutSeconds: 5 securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true volumeMounts: - name: datadogrun mountPath: /opt/datadog-agent/run readOnly: false - name: varlog mountPath: /var/log/datadog readOnly: false - name: tmpdir mountPath: /tmp readOnly: false - name: installinfo subPath: install_info mountPath: /etc/datadog-agent/install_info readOnly: true - name: confd mountPath: /conf.d readOnly: true - name: config mountPath: /etc/datadog-agent volumes: - name: datadogrun emptyDir: {} - name: varlog emptyDir: {} - name: tmpdir emptyDir: {} - name: installinfo configMap: name: datadog-installinfo - name: confd configMap: name: datadog-cluster-agent-confd - name: config emptyDir: {} affinity: # Prefer scheduling the cluster agents on different nodes # to guarantee that the standby instance can immediately take the lead from a leader running of a faulty node. podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 50 podAffinityTerm: labelSelector: matchLabels: app: datadog-cluster-agent topologyKey: kubernetes.io/hostname nodeSelector: kubernetes.io/os: linux