Skip to content
Snippets Groups Projects
Commit 49efcfdb authored by Sagar Arora's avatar Sagar Arora :bicyclist_tone1:
Browse files

Updated helm charts

parent 07f8096e
No related branches found
No related tags found
1 merge request!17Helm tutorial
...@@ -28,7 +28,7 @@ spec: ...@@ -28,7 +28,7 @@ spec:
{{- toYaml .Values.podSecurityContext | nindent 8 }} {{- toYaml .Values.podSecurityContext | nindent 8 }}
containers: containers:
- name: tcpdump - name: tcpdump
image: corfr/tcpdump:latest image: "{{ .Values.tcpdumpimage.repository }}:{{ .Values.tcpdumpimage.version }}"
{{- if .Values.start.tcpdump}} {{- if .Values.start.tcpdump}}
command: command:
- /bin/sh - /bin/sh
...@@ -39,13 +39,13 @@ spec: ...@@ -39,13 +39,13 @@ spec:
- /bin/sleep - /bin/sleep
- infinity - infinity
{{- end}} {{- end}}
{{- if .Values.persistent.sharedvolume}} {{- if .Values.persistence.sharedvolume}}
volumeMounts: volumeMounts:
- mountPath: "/pcap" - mountPath: "/pcap"
name: cn5g-pv name: cn5g-pv
{{- end}} {{- end}}
- name: amf - name: amf
image: "{{ .Values.image.repository }}:{{ .Values.image.version }}" image: "{{ .Values.nfimage.repository }}:{{ .Values.nfimage.version }}"
{{- if .Values.resources.define}} {{- if .Values.resources.define}}
resources: resources:
requests: requests:
...@@ -58,7 +58,7 @@ spec: ...@@ -58,7 +58,7 @@ spec:
securityContext: securityContext:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.securityContext | nindent 12 }}
ports: ports:
- containerPort: {{ .Values.service.n1Port }} - containerPort: {{ .Values.service.sctpPort }}
name: oai-amf name: oai-amf
protocol: SCTP protocol: SCTP
- containerPort: {{ .Values.service.http1Port }} - containerPort: {{ .Values.service.http1Port }}
...@@ -304,10 +304,10 @@ spec: ...@@ -304,10 +304,10 @@ spec:
configMapKeyRef: configMapKeyRef:
name: {{ .Chart.Name }}-configmap name: {{ .Chart.Name }}-configmap
key: operatorKey key: operatorKey
{{- if .Values.persistent.sharedvolume}} {{- if .Values.persistence.sharedvolume}}
volumes: volumes:
- name: cn5g-pv - name: cn5g-pv
persistentVolumeClaim: persistenceVolumeClaim:
claimName: cn5g-pvc claimName: cn5g-pvc
{{- end }} {{- end }}
dnsPolicy: ClusterFirst dnsPolicy: ClusterFirst
......
...@@ -5,13 +5,21 @@ replicaCount: 1 ...@@ -5,13 +5,21 @@ replicaCount: 1
namespace: "oai" namespace: "oai"
image: nfimage:
registry: local registry: local
repository: oai-amf # image name either locally present or in a public/private repository repository: rdefosseoai/oai-amf # image name either locally present or in a public/private repository
version: v1.1.0 # image tag version: v1.1.0 # image tag
# pullPolicy: IfNotPresent or Never or Always # pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always pullPolicy: Always
tcpdumpimage:
registry: local
repository: corfr/tcpdump
version: latest
#pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
serviceAccount: serviceAccount:
# Specifies whether a service account should be created # Specifies whether a service account should be created
create: true create: true
...@@ -30,7 +38,7 @@ securityContext: ...@@ -30,7 +38,7 @@ securityContext:
service: service:
type: ClusterIP type: ClusterIP
n1Port: 38412 sctpPort: 38412
http1Port: 80 http1Port: 80
http2Port: 9090 http2Port: 9090
...@@ -42,7 +50,7 @@ start: ...@@ -42,7 +50,7 @@ start:
## This interface will be for N1/N2/NGAP ## This interface will be for N1/N2/NGAP
multus: multus:
create: false create: true
n1IPadd: "192.168.18.177" n1IPadd: "192.168.18.177"
n1Netmask: "24" n1Netmask: "24"
n1Gateway: "192.168.18.129" n1Gateway: "192.168.18.129"
......
...@@ -24,7 +24,7 @@ spec: ...@@ -24,7 +24,7 @@ spec:
{{- toYaml .Values.podSecurityContext | nindent 8 }} {{- toYaml .Values.podSecurityContext | nindent 8 }}
containers: containers:
- name: tcpdump - name: tcpdump
image: corfr/tcpdump:latest image: "{{ .Values.tcpdumpimage.repository }}:{{ .Values.tcpdumpimage.version }}"
{{- if .Values.start.tcpdump}} {{- if .Values.start.tcpdump}}
command: command:
- /bin/sh - /bin/sh
...@@ -41,7 +41,7 @@ spec: ...@@ -41,7 +41,7 @@ spec:
name: cn5g-pv name: cn5g-pv
{{- end}} {{- end}}
- name: nrf - name: nrf
image: "{{ .Values.image.repository }}:{{ .Values.image.version }}" image: "{{ .Values.nfimage.repository }}:{{ .Values.nfimage.version }}"
{{- if .Values.resources.define}} {{- if .Values.resources.define}}
resources: resources:
requests: requests:
......
{{- if .Values.persistent.sharedvolume }} {{- if .Values.persistence.sharedvolume }}
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
......
...@@ -6,13 +6,22 @@ replicaCount: 1 ...@@ -6,13 +6,22 @@ replicaCount: 1
namespace: "oai" namespace: "oai"
image: # NF image
nfimage:
registry: local
repository: rdefosseoai/oai-nrf
version: v1.1.0
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
tcpdumpimage:
registry: local registry: local
repository: oai-nrf repository: oai-nrf
version: v1.1.0 version: v1.1.0
# pullPolicy: IfNotPresent or Never or Always # pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always pullPolicy: Always
serviceAccount: serviceAccount:
# Specifies whether a service account should be created # Specifies whether a service account should be created
create: true create: true
...@@ -53,7 +62,7 @@ config: ...@@ -53,7 +62,7 @@ config:
persistence: persistence:
sharedvolume: false sharedvolume: false
volumneName: managed-nfs-storage volumeName: managed-nfs-storage
size: 1Gi size: 1Gi
resources: resources:
......
...@@ -24,7 +24,7 @@ spec: ...@@ -24,7 +24,7 @@ spec:
{{- toYaml .Values.podSecurityContext | nindent 8 }} {{- toYaml .Values.podSecurityContext | nindent 8 }}
containers: containers:
- name: tcpdump - name: tcpdump
image: corfr/tcpdump:latest image: "{{ .Values.tcpdumpimage.repository }}:{{ .Values.tcpdumpimage.version }}"
{{- if .Values.start.tcpdump}} {{- if .Values.start.tcpdump}}
command: command:
- /bin/sh - /bin/sh
...@@ -41,7 +41,7 @@ spec: ...@@ -41,7 +41,7 @@ spec:
name: cn5g-pv name: cn5g-pv
{{- end}} {{- end}}
- name: smf - name: smf
image: "{{ .Values.image.repository }}:{{ .Values.image.version }}" image: "{{ .Values.nfimage.repository }}:{{ .Values.nfimage.version }}"
securityContext: securityContext:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.securityContext | nindent 12 }}
ports: ports:
......
...@@ -5,13 +5,21 @@ replicaCount: 1 ...@@ -5,13 +5,21 @@ replicaCount: 1
namespace: "oai" namespace: "oai"
image: nfimage:
registry: local registry: local
repository: oai-smf repository: rdefosseoai/oai-smf
version: v1.1.0 version: v1.1.0
#pullPolicy: IfNotPresent or Never or Always #pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always pullPolicy: Always
tcpdumpimage:
registry: local
repository: corfr/tcpdump
version: latest
#pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: [] imagePullSecrets: []
serviceAccount: serviceAccount:
...@@ -61,7 +69,7 @@ config: ...@@ -61,7 +69,7 @@ config:
amfIpv4Address: "127.0.0.1" # configure if NRF is not used amfIpv4Address: "127.0.0.1" # configure if NRF is not used
amfPort: "80" # configure if NRF is not used amfPort: "80" # configure if NRF is not used
amfApiVersion: "v1" # configure if NRF is not used amfApiVersion: "v1" # configure if NRF is not used
amfFqdn: "localhost" # configure if NRF is not used amfFqdn: "oai-amf-svc" # configure if NRF is not used
udmIpv4Address: "127.0.0.1" # configure if UDM is used udmIpv4Address: "127.0.0.1" # configure if UDM is used
udmPort: "80" # configure if UDM is used udmPort: "80" # configure if UDM is used
udmApiVersion: "v1" # configure if UDM is used udmApiVersion: "v1" # configure if UDM is used
...@@ -71,10 +79,10 @@ config: ...@@ -71,10 +79,10 @@ config:
nrfApiVersion: "v1" nrfApiVersion: "v1"
nrfFqdn: "oai-nrf-svc" # configure if NRF can be reached using Kubernetes service nrfFqdn: "oai-nrf-svc" # configure if NRF can be reached using Kubernetes service
upfIpv4Address: "127.0.0.1" # configure if NRF is not used upfIpv4Address: "127.0.0.1" # configure if NRF is not used
upfFqdn0: "localhost" # configure if NRF is not used and useFqdnDns is true upfFqdn0: "oai-spgwu-svc" # configure if NRF is not used and useFqdnDns is true
## currently only used by tcpdump container to store the tcpdump, this volume will be shared between all the network functions ## currently only used by tcpdump container to store the tcpdump, this volume will be shared between all the network functions
persistent: persistence:
sharedvolume: false # should be true when if wants to store the tcpdump of all the network functions at same place sharedvolume: false # should be true when if wants to store the tcpdump of all the network functions at same place
volumneName: managed-nfs-storage volumneName: managed-nfs-storage
size: 1Gi size: 1Gi
......
...@@ -19,8 +19,8 @@ spec: ...@@ -19,8 +19,8 @@ spec:
annotations: annotations:
k8s.v1.cni.cncf.io/networks: >- k8s.v1.cni.cncf.io/networks: >-
[{ [{
"name": "{{ .Chart.Name }}-{{ .Values.namespace }}-net1", "name": "{{ .Chart.Name }}-{{ .Values.namespace }}-n3-net1",
"default-route": ["{{ .Values.config.pgwuSgiGw }}"] "default-route": ["{{ .Values.multus.sgiGw }}"]
}] }]
{{- end }} {{- end }}
spec: spec:
...@@ -28,7 +28,7 @@ spec: ...@@ -28,7 +28,7 @@ spec:
{{- toYaml .Values.podSecurityContext | nindent 8 }} {{- toYaml .Values.podSecurityContext | nindent 8 }}
containers: containers:
- name: tcpdump - name: tcpdump
image: corfr/tcpdump:latest image: "{{ .Values.tcpdumpimage.repository }}:{{ .Values.tcpdumpimage.version }}"
{{- if .Values.start.tcpdump}} {{- if .Values.start.tcpdump}}
command: command:
- /bin/sh - /bin/sh
...@@ -45,7 +45,7 @@ spec: ...@@ -45,7 +45,7 @@ spec:
name: cn5g-pv name: cn5g-pv
{{- end}} {{- end}}
- name: spgwu - name: spgwu
image: "{{ .Values.image.repository }}:{{ .Values.image.version }}" image: "{{ .Values.nfimage.repository }}:{{ .Values.nfimage.version }}"
securityContext: securityContext:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.securityContext | nindent 12 }}
ports: ports:
...@@ -230,6 +230,7 @@ spec: ...@@ -230,6 +230,7 @@ spec:
dnsPolicy: ClusterFirst dnsPolicy: ClusterFirst
restartPolicy: Always restartPolicy: Always
schedulerName: default-scheduler schedulerName: default-scheduler
serviceAccountName: {{ .Values.serviceAccount.name }}
terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }}
{{- if .Values.nodeSelector}} {{- if .Values.nodeSelector}}
nodeSelector: {{- toYaml .Values.nodeSelector | nindent 4 }} nodeSelector: {{- toYaml .Values.nodeSelector | nindent 4 }}
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
apiVersion: "k8s.cni.cncf.io/v1" apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition kind: NetworkAttachmentDefinition
metadata: metadata:
name: {{ .Chart.Name }}-{{ .Values.namespace }}-net1 name: {{ .Chart.Name }}-{{ .Values.namespace }}-n3-net1
spec: spec:
config: '{ config: '{
"cniVersion": "0.3.0", "cniVersion": "0.3.0",
...@@ -14,7 +14,7 @@ spec: ...@@ -14,7 +14,7 @@ spec:
"type": "static", "type": "static",
"addresses": [ "addresses": [
{ {
"address": {{- cat .Values.config.n3Ip "/" .Values.config.n3Netmask | nospace | quote }} "address": {{- cat .Values.multus.n3Ip "/" .Values.multus.n3Netmask | nospace | quote }}
} }
] ]
} }
......
...@@ -6,13 +6,19 @@ replicaCount: 1 ...@@ -6,13 +6,19 @@ replicaCount: 1
namespace: "oai" namespace: "oai"
image: nfimage:
registry: local registry: local
repository: oai-spgwu repository: rdefosseoai/oai-spgwu-tiny
version: v1.1.2 version: v1.1.2
# pullPolicy: IfNotPresent or Never or Always # pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always pullPolicy: Always
tcpdumpimage:
registry: local
repository: corfr/tcpdump
version: latest
#pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
serviceAccount: serviceAccount:
# Specifies whether a service account should be created # Specifies whether a service account should be created
...@@ -30,8 +36,8 @@ securityContext: ...@@ -30,8 +36,8 @@ securityContext:
service: service:
type: ClusterIP type: ClusterIP
n4Port: 8805 # default port no need to change unless necessary pfcpPort: 8805 # default port no need to change unless necessary
n3Port: 2152 # default port no need to change unless necessary gtpuPort: 2152 # default port no need to change unless necessary
start: start:
spgwu: true spgwu: true
...@@ -42,7 +48,7 @@ multus: ...@@ -42,7 +48,7 @@ multus:
create: true create: true
n3Ip: "192.168.18.179" n3Ip: "192.168.18.179"
n3Netmask: "24" n3Netmask: "24"
SgiGw: "192.168.18.129" sgiGw: "192.168.18.129"
config: config:
gwId: 1 # no need to configure gwId: 1 # no need to configure
...@@ -77,7 +83,7 @@ config: ...@@ -77,7 +83,7 @@ config:
upfFqdn5g: "oai-spgwu-tiny-svc" # fqdn of upf upfFqdn5g: "oai-spgwu-tiny-svc" # fqdn of upf
## currently only used by tcpdump container to store the tcpdump, this volume will be shared between all the network functions ## currently only used by tcpdump container to store the tcpdump, this volume will be shared between all the network functions
persistent: persistence:
sharedvolume: false # should be true when if wants to store the tcpdump of all the network functions at same place sharedvolume: false # should be true when if wants to store the tcpdump of all the network functions at same place
volumneName: managed-nfs-storage volumneName: managed-nfs-storage
size: 1Gi size: 1Gi
......
...@@ -19,6 +19,11 @@ The cloud native network functions in production will be deployed using a produc ...@@ -19,6 +19,11 @@ The cloud native network functions in production will be deployed using a produc
![Helm Chart Deployment](./images/helm_diag.png) ![Helm Chart Deployment](./images/helm_diag.png)
**Reading time: ~40mins**
**Tutorial replication time: ~1h30mins**
**TABLE OF CONTENTS** **TABLE OF CONTENTS**
1. [Description](#1-description) 1. [Description](#1-description)
...@@ -227,15 +232,15 @@ $ helm install nrf oai-nrf/ ...@@ -227,15 +232,15 @@ $ helm install nrf oai-nrf/
# wait for the pod to come up # wait for the pod to come up
$ helm install smf oai-smf/ $ helm install smf oai-smf/
# wait for the pod to come up # wait for the pod to come up
$ helm install spgwu oai-spgwu-tiny/ $ helm install upf oai-spgwu-tiny/
# wait for the pod to come up # wait for the pod to come up
$ helm list $ helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
amf oai-5g-develop 1 2021-05-12 12:07:36.345877418 +0200 CEST deployed oai-amf-0.1.0 0.1.0 mysql oai-5g-develop 1 2021-07-29 14:20:34.010881045 +0200 CEST deployed mysql-1.6.9 5.7.30
mysql oai-5g-develop 1 2021-05-12 11:09:32.597525506 +0200 CEST deployed mysql-1.6.9 5.7.30 amf oai-5g-develop 1 2021-07-29 14:25:34.010881045 +0200 CEST deployed oai-amf-1.1.0 1.1.0
nrf oai-5g-develop 1 2021-05-12 11:32:43.648706741 +0200 CEST deployed oai-nrf-0.1.0 0.1.0 nrf oai-5g-develop 1 2021-07-29 14:16:11.530949242 +0200 CEST deployed oai-nrf-1.1.0 1.1.0
smf oai-5g-develop 1 2021-05-12 12:05:38.251220635 +0200 CEST deployed oai-smf-0.1.0 0.1.0 smf oai-5g-develop 1 2021-07-29 15:34:15.62785988 +0200 CEST deployed oai-smf-1.1.0 1.1.0
spgwu oai-5g-develop 1 2021-05-12 12:08:31.408369994 +0200 CEST deployed oai-spgwu-tiny-0.1.1 0.1.1 upf oai-5g-develop 1 2021-07-29 15:28:04.773480519 +0200 CEST deployed oai-spgwu-tiny-1.1.2 1.1.2
``` ```
Now go ahead and use OAI-gNB/dsTest/gNBSIM or any other gNB or emulator to test the deployed core network. Now go ahead and use OAI-gNB/dsTest/gNBSIM or any other gNB or emulator to test the deployed core network.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment