Skip to content

Instantly share code, notes, and snippets.

@akrzos-bw
Last active January 16, 2020 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save akrzos-bw/9c3e27ee268ff7402b7abb7a4827b99b to your computer and use it in GitHub Desktop.
Save akrzos-bw/9c3e27ee268ff7402b7abb7a4827b99b to your computer and use it in GitHub Desktop.
Heartbeat with autodiscover
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: heartbeat
namespace: akrzos-heartbeat
labels:
k8s-app: akrzos-heartbeat
spec:
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
selector:
matchLabels:
k8s-app: akrzos-heartbeat
template:
metadata:
labels:
k8s-app: akrzos-heartbeat
app: heartbeat
spec:
containers:
- name: heartbeat
image: docker.elastic.co/beats/heartbeat:7.5.1
imagePullPolicy: IfNotPresent
args:
- "-e"
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
securityContext:
runAsUser: 0
privileged: true
resources:
limits:
memory: 200Mi
requests:
cpu: 100m
memory: 100Mi
volumeMounts:
- name: heartbeat-config
mountPath: /usr/share/heartbeat/heartbeat.yml
readOnly: true
subPath: heartbeat.yml
- name: data
mountPath: /usr/share/heartbeat/data
# hostNetwork: true
serviceAccountName: akrzos-heartbeat
volumes:
- name: heartbeat-config
configMap:
defaultMode: 0600
name: heartbeat-config
- name: data
hostPath:
path: /var/lib/heartbeat
type: DirectoryOrCreate
---
apiVersion: v1
kind: ConfigMap
metadata:
name: heartbeat-config
namespace: akrzos-heartbeat
data:
heartbeat.yml: |
heartbeat.autodiscover:
providers:
- type: kubernetes
templates:
- condition:
equals:
kubernetes.labels.app: "heartbeat"
config:
- type: icmp
hosts: ["${data.host}"]
schedule: "@every 30s"
logging.json: true
output.file:
path: "/usr/share/heartbeat/data"
filename: heartbeat
rotate_every_kb: 10000
number_of_files: 5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment