blob: 1a7ec0fdad0e0f5f6136ab48dbbb3eb64f6447cd [file] [log] [blame]
#
# This file describes a cluster of 3 fluentd forwarders that
# send logs to a cluster of 2 fluentd aggregators: one active
# and one standby.
#
# The active fluentd aggregator
#
apiVersion: v1
kind: Service
metadata:
name: fluentdactv
spec:
clusterIP: None
selector:
app: fluentdactv
ports:
- protocol: TCP
port: 24224
targetPort: 24224
---
#
# Ensure that the active aggregator is not deployed to the
# same node as the standby
#
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: fluentdactv
spec:
replicas: 1
template:
metadata:
labels:
app: fluentdactv
spec:
terminationGracePeriodSeconds: 10
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- fluentdstby
topologyKey: kubernetes.io/hostname
containers:
- name: fluentdactv
image: voltha-fluentd
imagePullPolicy: Never
volumeMounts:
- name: fluentd-log
mountPath: /fluentd/log
ports:
- containerPort: 24224
env:
- name: FLUENTD_CONF
value: fluent-agg.conf
volumes:
- name: fluentd-log
hostPath:
path: /var/log/voltha/logging_volume
type: Directory
---
#
# The standby fluentd aggregator
#
apiVersion: v1
kind: Service
metadata:
name: fluentdstby
spec:
clusterIP: None
selector:
app: fluentdstby
ports:
- protocol: TCP
port: 24224
targetPort: 24224
---
#
# Ensure thet the standby aggregator is not deployed to the
# same node as the active
#
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: fluentdstby
spec:
replicas: 1
template:
metadata:
labels:
app: fluentdstby
spec:
terminationGracePeriodSeconds: 10
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- fluentdactv
topologyKey: kubernetes.io/hostname
containers:
- name: fluentdstby
image: voltha-fluentd
imagePullPolicy: Never
volumeMounts:
- name: fluentd-log
mountPath: /fluentd/log
ports:
- containerPort: 24224
env:
- name: FLUENTD_CONF
value: fluent-agg.conf
volumes:
- name: fluentd-log
hostPath:
path: /var/log/voltha/logging_volume
type: Directory
---
#
# The cluster of fluentd forwarders
#
apiVersion: v1
kind: Service
metadata:
name: fluentd
spec:
clusterIP: None
selector:
app: fluentd
ports:
- protocol: TCP
port: 24224
targetPort: 24224
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: fluentd
spec:
replicas: 3
template:
metadata:
labels:
app: fluentd
spec:
terminationGracePeriodSeconds: 10
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- fluentd
topologyKey: kubernetes.io/hostname
containers:
- name: fluentd
image: voltha-fluentd
imagePullPolicy: Never
ports:
- containerPort: 24224
env:
- name: FLUENTD_CONF
value: fluent.conf