| |
| # Copyright 2020-present Open Networking Foundation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: {{ include "dbuf.fullname" . }} |
| labels: |
| {{- include "dbuf.labels" . | nindent 4 }} |
| spec: |
| replicas: {{ .Values.replicaCount }} |
| selector: |
| matchLabels: |
| {{- include "dbuf.selectorLabels" . | nindent 6 }} |
| template: |
| metadata: |
| {{- with .Values.podAnnotations }} |
| annotations: |
| {{- toYaml . | nindent 8 }} |
| {{- end }} |
| labels: |
| {{- include "dbuf.selectorLabels" . | nindent 8 }} |
| spec: |
| {{- if hasKey .Values.image "pullSecrets" }} |
| imagePullSecrets: |
| {{- range .Values.image.pullSecrets }} |
| - name: {{ . | quote }} |
| {{- end }} |
| {{- end }} |
| securityContext: |
| {{- toYaml .Values.podSecurityContext | nindent 8 }} |
| containers: |
| - name: {{ .Chart.Name }} |
| securityContext: |
| {{- toYaml .Values.securityContext | nindent 12 }} |
| image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" |
| imagePullPolicy: {{ .Values.image.pullPolicy }} |
| command: [ "dbuf", {{ template "extraParams" .Values.extraParams }} ] |
| resources: |
| requests: |
| intel.com/{{ .Values.sriovResourceName }}: '{{ .Values.sriovNICSize }}' |
| limits: |
| intel.com/{{ .Values.sriovResourceName }}: '{{ .Values.sriovNICSize }}' |
| ports: |
| - name: grpc |
| containerPort: 10000 |
| protocol: {{ .Values.service.grpc.protocol }} |
| - name: exporter |
| containerPort: 8080 |
| protocol: {{ .Values.service.stats.protocol }} |
| # Push data plane address to ONOS via netcfgc |
| # Add the static route for sr-iov interface |
| - name: config |
| image: curlimages/curl:7.75.0 |
| imagePullPolicy: IfNotPresent |
| env: |
| - name: NAMESPACE |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.namespace |
| - name: ONOS_SERVER |
| value: "{{ .Values.onos.server }}" |
| - name: ONOS_PORT |
| value: "{{ .Values.onos.port }}" |
| - name: ONOS_USERNAME |
| value: "{{ .Values.onos.username }}" |
| - name: ONOS_PASSWORD |
| value: "{{ .Values.onos.password }}" |
| - name: GRPC_SERVICE_NAME |
| value: {{ include "dbuf.fullname" . }} |
| - name: GRPC_PORT |
| value: "{{ .Values.service.grpc.port }}" |
| - name: DP_INTERFACE |
| value: "{{ .Values.dataplane.interface }}" |
| - name: DP_PORT |
| value: "{{ .Values.dataplane.port }}" |
| - name: STATIC_ROUTES |
| value: "{{ .Values.network.route }}" |
| volumeMounts: |
| - name: config-script |
| mountPath: /tmp/config |
| subPath: config |
| command: ["sh", "-c", "/tmp/config"] |
| securityContext: |
| runAsUser: 0 |
| capabilities: |
| add: ["NET_ADMIN"] |
| {{- with .Values.nodeSelector }} |
| nodeSelector: |
| {{- toYaml . | nindent 8 }} |
| {{- end }} |
| {{- with .Values.affinity }} |
| affinity: |
| {{- toYaml . | nindent 8 }} |
| {{- end }} |
| {{- with .Values.tolerations }} |
| tolerations: |
| {{- toYaml . | nindent 8 }} |
| {{- end }} |
| volumes: |
| - name: config-script |
| configMap: |
| name: {{ include "dbuf.fullname" . }} |
| defaultMode: 0755 |