diff --git a/voltha/templates/fluentd.yaml b/voltha/templates/fluentd.yaml
new file mode 100644
index 0000000..1e5b886
--- /dev/null
+++ b/voltha/templates/fluentd.yaml
@@ -0,0 +1,219 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# 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
+  namespace: {{ .Values.global.namespace }}
+  serviceAccountName: {{ .Values.global.namespace }}-serviceaccount
+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
+  namespace: {{ .Values.global.namespace }}
+  serviceAccountName: {{ .Values.global.namespace }}-serviceaccount
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: fluentdactv
+      annotations:
+        cni: "weave"
+    spec:
+      serviceAccountName: {{ .Values.global.namespace }}-serviceaccount
+      terminationGracePeriodSeconds: 10
+      affinity:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - labelSelector:
+              matchExpressions:
+              - key: app
+                operator: In
+                values:
+                - fluentdstby
+            topologyKey: kubernetes.io/hostname
+      containers:
+      - name: fluentdactv
+        image: {{ .Values.k8s_docker_registry }}{{ .Values.images.fluentd.repository }}:{{ .Values.images.fluentd.tag }}
+        imagePullPolicy: {{ .Values.image_pull_policy }}
+        volumeMounts:
+        - name: fluentd-log
+          mountPath: /fluentd/log
+        - name: config-volume
+          mountPath: /etc/fluentd-config
+        ports:
+        - containerPort: 24224
+        env:
+        - name: FLUENTD_ARGS
+          value: -c /etc/fluentd-config/fluentd-agg.conf
+      volumes:
+      - name: config-volume
+        configMap:
+          name: fluentd-config
+      - name: fluentd-log
+        hostPath:
+          path: /var/log/voltha/logging_volume
+          type: Directory
+---
+#
+# The standby fluentd aggregator
+#
+apiVersion: v1
+kind: Service
+metadata:
+  name: fluentdstby
+  namespace: {{ .Values.global.namespace }}
+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
+  namespace: {{ .Values.global.namespace }}
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: fluentdstby
+      annotations:
+        cni: "weave"
+    spec:
+      serviceAccountName: {{ .Values.global.namespace }}-serviceaccount
+      terminationGracePeriodSeconds: 10
+      affinity:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - labelSelector:
+              matchExpressions:
+              - key: app
+                operator: In
+                values:
+                - fluentdactv
+            topologyKey: kubernetes.io/hostname
+      containers:
+      - name: fluentdstby
+        image: k8s.gcr.io/fluentd-gcp:1.30 
+        imagePullPolicy: Never
+        volumeMounts:
+        - name: fluentd-log
+          mountPath: /fluentd/log
+        - name: config-volume
+          mountPath: /etc/fluentd-config
+        ports:
+        - containerPort: 24224
+        env:
+        - name: FLUENTD_ARGS
+          value: -c /etc/fluentd-config/fluentd-agg.conf
+      volumes:
+      - name: config-volume
+        configMap:
+          name: fluentd-config
+      - name: fluentd-log
+        hostPath:
+          path: /var/log/voltha/logging_volume
+          type: Directory
+---
+#
+# The cluster of fluentd forwarders.  The service itself will be removed once all fluentd forwarding logic are removed
+# from the specific voltha services.   Fluentd is defined as a DaemonSet which implies that only 1 instance will
+# run on each node.   Each instance will also gets its configuration data from a config map (fluentd-config.yml).
+#
+apiVersion: v1
+kind: Service
+metadata:
+  name: fluentd
+  namespace: {{ .Values.global.namespace }}
+spec:
+  clusterIP: None
+  selector:
+    app: fluentd
+  ports:
+  - protocol: TCP
+    port: 24224
+    targetPort: 24224
+---
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+  name: fluentd
+  namespace: {{ .Values.global.namespace }}
+spec:
+   template:
+    metadata:
+      labels:
+        app: fluentd
+      annotations:
+        cni: "weave"
+    spec:
+      serviceAccountName: {{ .Values.global.namespace }}-serviceaccount
+      tolerations:
+        - key: node-role.kubernetes.io/master
+          effect: NoSchedule
+      containers:
+      - name: fluentd
+        image: k8s.gcr.io/fluentd-gcp:1.30
+        env:
+        - name: FLUENTD_ARGS
+          value: -c /etc/fluentd-config/fluentd.conf
+        volumeMounts:
+        - name: varlog
+          mountPath: /var/log/
+        - name: varlogcontainers
+          mountPath: /var/lib/docker/containers/
+        - name: config-volume
+          mountPath: /etc/fluentd-config
+      volumes:
+      - name: varlog
+        hostPath:
+          path: /var/log/
+      - name: varlogcontainers
+        hostPath:
+          path: /var/lib/docker/containers/
+      - name: config-volume
+        configMap:
+          name: fluentd-config
