Skip to content

Instantly share code, notes, and snippets.

@mqasimsarfraz
Created November 13, 2018 18:24
Show Gist options
  • Save mqasimsarfraz/80d6da5bc2d27376cb500a175fa38f3f to your computer and use it in GitHub Desktop.
Save mqasimsarfraz/80d6da5bc2d27376cb500a175fa38f3f to your computer and use it in GitHub Desktop.
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: datadog-agent
namespace: monitoring
spec:
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
app: datadog-agent
name: datadog-agent
spec:
serviceAccountName: datadog-agent
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- image: datadog/agent:{{ datadog_agent_version }}
imagePullPolicy: Always
name: datadog-agent
ports:
- containerPort: 8125
# hostPort: 8125
name: dogstatsdport
protocol: UDP
- containerPort: 8126
# hostPort: 8126
name: traceport
protocol: TCP
env:
- name: DD_API_KEY
value: "{{ datadog_agent_api_key }}"
- name: DD_COLLECT_KUBERNETES_EVENTS
value: "true"
- name: DD_LEADER_ELECTION
value: "true"
- name: DD_TAGS
value: "{{ datadog_platform_tags|union(datadog_tags)|join(" ") }}"
- name: DD_LOG_LEVEL
value: "{{ datadog_log_level }}"
- name: DD_LOGS_ENABLED
value: "{{ datadog_logging_enabled }}"
- name: KUBERNETES
value: "true"
- name: DD_KUBERNETES_KUBELET_HOST
valueFrom:
fieldRef:
fieldPath: status.hostIP
- name: DD_ENABLE_PAYLOADS_EVENTS
value: "{{ datadog_metrics_enabled }}"
- name: DD_ENABLE_PAYLOADS_SERIES
value: "{{ datadog_metrics_enabled }}"
- name: DD_ENABLE_PAYLOADS_SERVICE_CHECKS
value: "{{ datadog_metrics_enabled }}"
- name: DD_ENABLE_PAYLOADS_SKETCHES
value: "{{ datadog_metrics_enabled }}"
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "250m"
volumeMounts:
- name: dockersocket
mountPath: /var/run/docker.sock
- name: procdir
mountPath: /host/proc
readOnly: true
- name: cgroups
mountPath: /host/sys/fs/cgroup
readOnly: true
- name: logging
mountPath: /var/log/journal
readOnly: true
- name: machineid
mountPath: /etc/machine-id
readOnly: true
- name: datadog-journald-config
mountPath: /etc/datadog-agent/conf.d/journald.d
livenessProbe:
exec:
command:
- ./probe.sh
initialDelaySeconds: 15
periodSeconds: 5
volumes:
- hostPath:
path: /var/run/docker.sock
name: dockersocket
- hostPath:
path: /proc
name: procdir
- hostPath:
path: /sys/fs/cgroup
name: cgroups
- hostPath:
path: /var/log/journal
name: logging
- hostPath:
path: /etc/machine-id
name: machineid
- name: datadog-journald-config
configMap:
name: "datadog-journald-config"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: datadog-journald-config
namespace: monitoring
labels:
k8s-app: datadog-agent
data:
conf.yaml: |
logs:
- type: journald
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment