diff --git a/bbsim/templates/deployment.yaml b/bbsim/templates/deployment.yaml
new file mode 100644
index 0000000..119bc65
--- /dev/null
+++ b/bbsim/templates/deployment.yaml
@@ -0,0 +1,151 @@
+---
+# 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.
+{{- $log_level := tpl .Values.log_level . }}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: {{ template "bbsim.fullname" . }}
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: "bbsim"
+    name: {{ template "bbsim.name" . }}
+    chart: {{ template "bbsim.chart" . }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: "bbsim"
+      name: {{ template "bbsim.name" . }}
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: "bbsim"
+        name: {{ template "bbsim.name" . }}
+        release: {{ .Release.Name }}
+        app.kubernetes.io/name: "bbsim"
+        app.kubernetes.io/version: {{ quote .Chart.AppVersion }}
+        app.kubernetes.io/component: "device-emulator"
+        app.kubernetes.io/part-of: "voltha"
+        app.kubernetes.io/managed-by: {{ quote .Release.Service }}
+        helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    spec:
+      serviceAccount: {{ .Values.serviceAccountName }}
+      serviceAccountName: {{ .Values.serviceAccountName }}
+      containers:
+        - name: {{ .Chart.Name }}
+          image: '{{ tpl .Values.images.bbsim.registry . }}{{ tpl .Values.images.bbsim.repository . }}:{{ tpl ( tpl .Values.images.bbsim.tag . ) . }}'
+          imagePullPolicy: {{ tpl .Values.images.bbsim.pullPolicy . }}
+          securityContext:
+            privileged: {{ .Values.privileged }}
+          livenessProbe:
+            exec:
+              command:
+              - bbsimctl
+              - olt
+              - get
+            initialDelaySeconds: 5
+            periodSeconds: 30
+          readinessProbe:
+            httpGet:
+              path: /v2/cfg
+              port: {{ .Values.bbsim_sadis_port }}
+              httpHeaders:
+            initialDelaySeconds: 5
+            periodSeconds: 30
+          command: [
+            "/app/bbsim",
+            "-openolt_address", ":{{ .Values.olt_tcp_port }}",
+            "-olt_id", "{{ .Values.olt_id }}",
+            "-nni", "{{ .Values.nni }}",
+            "-pon", "{{ .Values.pon }}",
+            "-onu", "{{ .Values.onu }}",
+            "-uni", "{{ .Values.uni }}",
+            "-bp_format", "{{ .Values.bp_format }}",
+            "-oltRebootDelay", "{{ .Values.oltRebootDelay }}",
+            "-logLevel", "{{ $log_level }}",
+            "-delay", "{{ .Values.delay }}",
+            "-services", "configs/services.yaml",
+            "-rest_api_address", ":{{ .Values.bbsim_rest_port }}",
+            "-ca", "{{ .Values.controlledActivation }}",
+            "-omci_response_rate", "{{ .Values.omci_response_rate }}",
+            {{ if .Values.enableEvents -}}
+            "-enableEvents",
+            "-kafkaAddress", "{{ .Values.kafkaAddress }}",
+            {{ end -}}
+            {{ if .Values.enablePerf -}}
+            "-enableperf",
+            {{ end -}}
+            "-kafkaEventTopic", "{{ .Values.kafkaEventTopic }}",
+            {{ if .Values.authRetry -}}
+            "-authRetry",
+            {{ end -}}
+            {{ if .Values.dhcpRetry -}}
+            "-dhcpRetry",
+            {{ end -}}
+          ]
+          ports:
+            - name: "bbsim-{{ .Values.olt_id }}"
+              containerPort: {{ .Values.olt_tcp_port }}
+              protocol: TCP
+            - name: "bbsim-{{ .Values.olt_id }}-api"
+              containerPort: {{ .Values.bbsim_api_port }}
+              protocol: TCP
+            - name: "bbsim-{{ .Values.olt_id }}-sadis"
+              containerPort: {{ .Values.bbsim_sadis_port }}
+              protocol: TCP
+            - name: "bbsim-{{ .Values.olt_id }}-rest"
+              containerPort: {{ .Values.bbsim_rest_port }}
+              protocol: TCP
+            - name: "bbsim-{{ .Values.olt_id }}-dmi"
+              containerPort: {{ .Values.bbsim_dmi_port }}
+              protocol: TCP
+          env:
+            - name: POD_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.podIP
+            - name: NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+          volumeMounts:
+            - name: bbsim-services-config
+              mountPath: /app/configs/services.yaml
+              subPath: services.yaml
+      volumes:
+        - name: bbsim-services-config
+          configMap:
+            name: bbsim-services-{{ .Values.olt_id }}
+            items:
+              - key: bbsimServicesConfig
+                path: services.yaml
+    {{- with .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml . | indent 8 }}
+    {{- end }}
+    {{- with .Values.affinity }}
+      affinity:
+{{ toYaml . | indent 8 }}
+    {{- end }}
+    {{- with .Values.tolerations }}
+      tolerations:
+{{ toYaml . | indent 8 }}
+    {{- end }}
