summaryrefslogtreecommitdiffstats
path: root/starlingx/demo/firewall-sriov/templates/deployment.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'starlingx/demo/firewall-sriov/templates/deployment.yaml')
-rw-r--r--starlingx/demo/firewall-sriov/templates/deployment.yaml118
1 files changed, 118 insertions, 0 deletions
diff --git a/starlingx/demo/firewall-sriov/templates/deployment.yaml b/starlingx/demo/firewall-sriov/templates/deployment.yaml
new file mode 100644
index 00000000..d4b59573
--- /dev/null
+++ b/starlingx/demo/firewall-sriov/templates/deployment.yaml
@@ -0,0 +1,118 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "firewall.fullname" . }}
+ labels:
+ release: {{ .Release.Name }}
+ app: {{ include "firewall.name" . }}
+ chart: {{ .Chart.Name }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "firewall.name" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "firewall.name" . }}
+ release: {{ .Release.Name }}
+ annotations:
+ k8s.v1.cni.cncf.io/networks: '[
+ { "name": "sriov-device-{{ .Values.global.unprotectedNetName }}",
+ "interface": "veth12" },
+ { "name": "sriov-device-{{ .Values.global.protectedNetName }}",
+ "interface": "veth21" }
+ ]'
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ {{- range .Values.global.nodeAffinity }}
+ - key: {{ .label.labelkey }}
+ operator: {{ .label.op }}
+ values:
+ {{- range .label.labelvalues }}
+ - {{ . }}
+ {{- end }}
+ {{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ tty: true
+ stdin: true
+ env:
+ - name: unprotectedNetCidr
+ value: "{{.Values.global.unprotectedNetCidr}}"
+ - name: unprotectedNetGwIp
+ value: "{{.Values.global.unprotectedNetGwIp}}"
+ - name: protectedNetCidr
+ value: "{{.Values.global.protectedNetCidr}}"
+ - name: protectedNetGwIp
+ value: "{{.Values.global.protectedNetGwIp}}"
+ - name: dcaeCollectorIp
+ value: "{{.Values.global.dcaeCollectorIp}}"
+ - name: dcaeCollectorPort
+ value: "{{.Values.global.dcaeCollectorPort}}"
+ - name: unprotectedNetProviderDriver
+ value: "{{.Values.global.unprotectedNetProviderDriver}}"
+ - name: protectedNetProviderDriver
+ value: "{{.Values.global.protectedNetProviderDriver}}"
+ - name: unprotectedNetProviderVlan
+ value: "{{.Values.global.unprotectedNetProviderVlan}}"
+ - name: protectedNetProviderVlan
+ value: "{{.Values.global.protectedNetProviderVlan}}"
+ command: ["/bin/bash", "/opt/vfw_start.sh"]
+ securityContext:
+ privileged: true
+ capabilities:
+ add:
+ - CAP_SYS_ADMIN
+ volumeMounts:
+ - mountPath: /hugepages
+ name: hugepage
+ - name: lib-modules
+ mountPath: /lib/modules
+ - name: src
+ mountPath: /usr/src
+ - name: scripts
+ mountPath: /opt
+ resources:
+ requests:
+ cpu: {{ .Values.resources.cpu }}
+ memory: {{ .Values.resources.memory }}
+ hugepages-2Mi: {{ .Values.resources.hugepage }}
+ {{- if eq .Values.global.protectedNetProviderName .Values.global.unprotectedNetProviderName }}
+ intel.com/pci_sriov_net_{{ .Values.global.protectedNetProviderName }}: '2'
+ {{- else }}
+ intel.com/pci_sriov_net_{{ .Values.global.protectedNetProviderName }}: '1'
+ intel.com/pci_sriov_net_{{ .Values.global.unprotectedNetProviderName }}: '1'
+ {{ end }}
+ limits:
+ cpu: {{ .Values.resources.cpu }}
+ memory: {{ .Values.resources.memory }}
+ hugepages-2Mi: {{ .Values.resources.hugepage }}
+ {{- if eq .Values.global.protectedNetProviderName .Values.global.unprotectedNetProviderName }}
+ intel.com/pci_sriov_net_{{ .Values.global.protectedNetProviderName }}: '2'
+ {{- else }}
+ intel.com/pci_sriov_net_{{ .Values.global.protectedNetProviderName }}: '1'
+ intel.com/pci_sriov_net_{{ .Values.global.unprotectedNetProviderName }}: '1'
+ {{ end }}
+ volumes:
+ - name: hugepage
+ emptyDir:
+ medium: HugePages
+ - name: lib-modules
+ hostPath:
+ path: /lib/modules
+ - name: src
+ hostPath:
+ path: /usr/src
+ - name: scripts
+ configMap:
+ name: {{ .Chart.Name }}-scripts-configmap
+ imagePullSecrets:
+ - name: admin-registry-secret