--- # 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: {} 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" app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: cluster-agent app: datadog-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.49.1" 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.49.1" 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_HEALTH_PORT value: "5556" - name: DD_API_KEY valueFrom: secretKeyRef: name: "datadog" key: api-key optional: true - name: KUBERNETES value: "yes" - name: DD_APP_KEY valueFrom: secretKeyRef: name: "datadog-appkey" key: app-key - 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_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_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_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" 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 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 items: - key: kubernetes_state_core.yaml.default path: kubernetes_state_core.yaml.default - 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