Skip to content
Snippets Groups Projects
deployment.yaml 8 KiB
Newer Older
Mohammed Ismail's avatar
Mohammed Ismail committed
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Chart.Name }}
  labels:
    {{- include "oai-gnb.labels" . | nindent 4 }}
Mohammed Ismail's avatar
Mohammed Ismail committed
spec:
Sagar Arora's avatar
Sagar Arora committed
  replicas: 1
Mohammed Ismail's avatar
Mohammed Ismail committed
  selector:
    matchLabels:
      {{- include "oai-gnb.selectorLabels" . | nindent 6 }}
Mohammed Ismail's avatar
Mohammed Ismail committed
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        {{- include "oai-gnb.selectorLabels" . | nindent 8 }}
        app: oai-gnb
    {{- if .Values.multus.n2Interface.create }}
      annotations:
        k8s.v1.cni.cncf.io/networks: >-
          [{
                 "name": "{{ .Chart.Name }}-n2",
                 "interface": "n2",
                {{- if .Values.multus.defaultGateway }}
                 ,"default-route": ["{{ .Values.multus.defaultGateway }}"]
                {{- end }}
          }
          {{- if .Values.multus.n3Interface.create }}
          ,{
                 "name": "{{ .Chart.Name }}-n3",
                 "interface": "n3",
                {{- if .Values.multus.n3Interface.Gateway }}
                ,"gateway": {{ .Values.multus.n3Interface.Gateway }}
                {{- end }}
          }
          {{- end }}
          {{- if .Values.multus.ruInterface.create }}
          ,{
                 "name": "{{ .Chart.Name }}-ru",
                 "interface": "ru",
                {{- if .Values.multus.ruInterface.Gateway }}
                ,"gateway": {{ .Values.multus.ruInterface.Gateway }}
                {{- end }}
          }
          {{- end }}
          ]
Mohammed Ismail's avatar
Mohammed Ismail committed
    spec:
      securityContext:
        {{- toYaml .Values.podSecurityContext | nindent 8 }}
    {{- if .Values.imagePullSecrets }}
Sagar Arora's avatar
Sagar Arora committed
      imagePullSecrets:
        {{ toYaml .Values.imagePullSecrets | indent 8 }}
Mohammed Ismail's avatar
Mohammed Ismail committed
      containers:
Mohammed Ismail's avatar
Mohammed Ismail committed
        image: "{{ .Values.nfimage.repository }}:{{ .Values.nfimage.version }}"
        imagePullPolicy: {{ .Values.nfimage.pullPolicy }}
Sagar Arora's avatar
Sagar Arora committed
        {{- if .Values.config.mountConfig}}
        volumeMounts:
Sagar Arora's avatar
Sagar Arora committed
          - mountPath: /opt/oai-gnb/etc/mounted.conf
Sagar Arora's avatar
Sagar Arora committed
            name: configuration
Sagar Arora's avatar
Sagar Arora committed
            subPath: mounted.conf
Sagar Arora's avatar
Sagar Arora committed
        {{- end}}
          ## USRP B210/B200 Mini
          # - mountPath: /dev/bus/usb/
          #   name: usrp
Mohammed Ismail's avatar
Mohammed Ismail committed
        {{- if .Values.resources.define}}
        resources:
          requests:
            memory: {{ .Values.resources.requests.nf.memory | quote }}
            cpu: {{ .Values.resources.requests.nf.cpu | quote }}
Mohammed Ismail's avatar
Mohammed Ismail committed
          limits:
            memory: {{ .Values.resources.limits.nf.memory | quote }}
            cpu: {{ .Values.resources.limits.nf.cpu | quote }}
Mohammed Ismail's avatar
Mohammed Ismail committed
        {{- end}}
        securityContext:
           privileged: true
           # capabilities:
           #    add:
           #     - NET_ADMIN
           #    drop:
           #     - ALL
Mohammed Ismail's avatar
Mohammed Ismail committed
        ports:
Sagar Arora's avatar
Sagar Arora committed
        - containerPort: 2152
          name: n3
Sagar Arora's avatar
Sagar Arora committed
        - containerPort: 36412
          name: n2
          protocol: SCTP
Mohammed Ismail's avatar
Mohammed Ismail committed
        {{- else}}
        command:
          - /bin/sleep
          - infinity
        {{- end}}
        env:
          - name: TZ
Sagar Arora's avatar
Sagar Arora committed
            value: {{ .Values.config.timeZone }}
Sagar Arora's avatar
Sagar Arora committed
            value: {{ .Values.config.rfSimulator }}
          - name: USE_ADDITIONAL_OPTIONS
            value: {{ .Values.config.useAdditionalOptions }}
        {{- if .Values.config.mountConfig}}
          - name: USE_VOLUMED_CONF
            value: "yes"
        {{- end}}
        {{- if not .Values.config.mountConfig}}
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Sagar Arora's avatar
Sagar Arora committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Sagar Arora's avatar
Sagar Arora committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Sagar Arora's avatar
Sagar Arora committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
                key: nssaiSd0
          - name: AMF_IP_ADDRESS
Sagar Arora's avatar
Sagar Arora committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
                key: amfIpAddress
          - name: GNB_NGA_IF_NAME
Sagar Arora's avatar
Sagar Arora committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
                key: gnbNgaIfName
          - name: GNB_NGA_IP_ADDRESS
            {{- if eq .Values.config.gnbNgaIpAddress "status.podIP" }}
Sagar Arora's avatar
Sagar Arora committed
            valueFrom:
              fieldRef:
                fieldPath: status.podIP
            {{- else}}
Sagar Arora's avatar
Sagar Arora committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
                key: gnbNgaIpAddress
            {{- end}}
          - name: GNB_NGU_IF_NAME
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
                key: gnbNguIfName
          - name: GNB_NGU_IP_ADDRESS
            {{- if eq .Values.config.gnbNguIpAddress "status.podIP" }}
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              fieldRef:
                fieldPath: status.podIP
            {{- else}}
Mohammed Ismail's avatar
Mohammed Ismail committed
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
Sagar Arora's avatar
Sagar Arora committed
          - name: THREAD_PARALLEL_CONFIG
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
                key: threadParallelConfig
          - name: SDR_ADDRS
            valueFrom:
              configMapKeyRef:
                name: {{ .Chart.Name }}-configmap
                key: sdrAddrs
Sagar Arora's avatar
Sagar Arora committed
          {{- end}}
      {{- if .Values.includeTcpDumpContainer }}
      - name: tcpdump
        image: "{{ .Values.tcpdumpimage.repository }}:{{ .Values.tcpdumpimage.version }}"
        imagePullPolicy: {{ .Values.tcpdumpimage.pullPolicy }}
        {{- if .Values.resources.define}}
        resources:
          requests:
            memory: {{ .Values.resources.requests.tcpdump.memory | quote }}
            cpu: {{ .Values.resources.requests.tcpdump.cpu | quote }}
          limits:
            memory: {{ .Values.resources.limits.tcpdump.memory | quote }}
            cpu: {{ .Values.resources.limits.tcpdump.cpu | quote }}
        {{- end}}
Sagar Arora's avatar
Sagar Arora committed
        securityContext:
           privileged: true
           capabilities:
              add:
               - NET_ADMIN
              drop:
               - ALL
        {{- if .Values.start.tcpdump}}
        command:
          - /bin/sh
          - -c
          - /usr/sbin/tcpdump -i any -w /tmp/pcap/{{ .Chart.Name }}_`date +%Y-%m-%d_%H_%M-%S-%Z`.pcap
Mohammed Ismail's avatar
Mohammed Ismail committed
        {{- else}}
        command:
          - /bin/sleep
          - infinity
        {{- end}}
      {{- end }}
      {{- if.Values.config.mountConfig }}  
Mohammed Ismail's avatar
Mohammed Ismail committed
      volumes:
Sagar Arora's avatar
Sagar Arora committed
      - configMap:
          name: {{ .Chart.Name }}-configmap
        name: configuration
      {{- end}}
      # - name: usrp
      #   hostPath:
      #     path: /dev/bus/usb/
Mohammed Ismail's avatar
Mohammed Ismail committed
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      serviceAccountName: {{ .Values.serviceAccount.name }}
      terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }}
      {{- if .Values.nodeSelector}}
      nodeSelector: 
         {{- toYaml .Values.nodeSelector | nindent 12 }}
Mohammed Ismail's avatar
Mohammed Ismail committed
      {{- end }}
      {{- if .Values.nodeName}}
      nodeName: {{ .Values.nodeName }}
Sagar Arora's avatar
Sagar Arora committed
      {{- end }}