blob: 5ebd995f0973b7275e60a4808820f0ae81d7349e [file] [log] [blame]
ajayd19711c2021-12-07 12:07:04 -08001..
2 SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
3 SPDX-License-Identifier: Apache-2.0
4
ajay07514982021-12-07 22:24:32 -08005.. _deployment_5G_guide:
ajayd19711c2021-12-07 12:07:04 -08006
ajay07514982021-12-07 22:24:32 -080075G Deployment Guide
8===================
ajayd19711c2021-12-07 12:07:04 -08009
10Deployment Overview
11-------------------
12SD-Core is released with Helm chart and container images.
13We recommend using **Kubernetes** and **Helm** to deploy SD-Core.
Ajay Lotan Thakurd0573072022-05-04 19:16:52 -070014SD-Core images are hosted on docker hub.
ajayd19711c2021-12-07 12:07:04 -080015
16Hardware resource requirement
17-----------------------------
18
ajayce0380c2021-12-14 21:51:00 -080019.. list-table:: CPU & Memory Requirements for 5G components
20 :widths: 5 5 5
21 :header-rows: 1
ajayd19711c2021-12-07 12:07:04 -080022
ajayce0380c2021-12-14 21:51:00 -080023 * - SD-Core Component
24 - Required CPU
25 - Required Memory in Gi
26 * - AMF
27 - 2 CPU Cores
28 - 4Gi
29 * - SMF
30 - 2 CPU Cores
31 - 4Gi
32 * - NRF
33 - 2 CPU Cores
34 - 1Gi
35 * - NSSF
36 - 2 CPU Cores
37 - 1Gi
38 * - AUSF
39 - 1 CPU Cores
40 - 1Gi
41 * - PCF
42 - 1 CPU Cores
43 - 1Gi
44 * - UDR
45 - 2 CPU Cores
46 - 1Gi
47 * - UDM
48 - 2 CPU Cores
49 - 1Gi
50 * - Config5G(webconsole)
51 - 1 CPU Cores
52 - 1Gi
53 * - SimApp
54 - 1 CPU Cores
55 - 1Gi
56 * - MongoDB
57 - 2 CPU Cores
58 - 4Gi
Ankur Upadhyaya4f0e3b02022-10-06 11:15:39 -060059 * - UPF-Adapter
60 - 1 CPU Cores
61 - 1Gi
62 * - SCTP Load Balancer
63 - 1 CPU Cores
64 - 1Gi
ajayd19711c2021-12-07 12:07:04 -080065
Ajay Lotan Thakur05ce5ce2022-09-25 20:36:16 -070066.. note::
67 SD-Core deployment is tested on Intel/AMD hardware. There is WIP to run SD-Core
68 on ARM architecture.
69
ajayd19711c2021-12-07 12:07:04 -080070Deployment Options
71------------------
72
73Development Environments
74""""""""""""""""""""""""
75
ajayce0380c2021-12-14 21:51:00 -080076Please refer (see :ref:`aiab-guide`) to setup 5G development environment.
ajayd19711c2021-12-07 12:07:04 -080077
ajayd19711c2021-12-07 12:07:04 -080078Production Environments - 5G
79""""""""""""""""""""""""""""
80
81To install SD-Core into your Kubernetes cluster, follow instructions
82
83Step1 - Clone SD-Core 5G Helm chart
84'''''''''''''''''''''''''''''''''''
85.. code-block::
86
ajaycbd17062022-03-06 11:12:58 -080087 git clone "https://gerrit.opencord.org/sdcore-helm-charts"
ajayd19711c2021-12-07 12:07:04 -080088 cd sdcore-helm-charts/sdcore-helm-charts/
89 helm dep update #Update Helm dependencies
90
91Step2 - Prepare your Helm value for 5G
92''''''''''''''''''''''''''''''''''''''
93
94You can modify existing values.yaml directly, but we recommend composing another value
95file myvalues.yaml using values.yaml as an example. We are highlighting a few things we
96need to modify here. More explanation of the supported Helm values can be found in the
97Configuration section below.
98
99Step3 - Install 5G using SD-Core umbrella helm chart
100''''''''''''''''''''''''''''''''''''''''''''''''''''
101
ajaycbd17062022-03-06 11:12:58 -0800102The following command will deploy the SD-Core helm chart with release name sdcore-5g in the sdcore-5g namespace.
ajayd19711c2021-12-07 12:07:04 -0800103
104.. code-block::
105
ajaycbd17062022-03-06 11:12:58 -0800106 helm install -n sdcore-5g --create-namespace -f myvalues.yaml sdcore-5g ~/cord/sdcore-helm-charts/sdcore-helm-charts
ajayd19711c2021-12-07 12:07:04 -0800107
108To verify the installation:
109
110.. code-block::
111
112 helm -n sdcore-5g ls
Ankur Upadhyaya4f0e3b02022-10-06 11:15:39 -0600113 xxxx@node:~$ helm -n sdcore-5g ls
ajaycbd17062022-03-06 11:12:58 -0800114 NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
115 sdcore-5g sdcore-5g 1 2022-03-05 16:25:32.338495035 -0700 MST deployed sd-core-0.10.9
Ankur Upadhyaya4f0e3b02022-10-06 11:15:39 -0600116 xxxx@node:~$
ajaycbd17062022-03-06 11:12:58 -0800117
Ankur Upadhyaya4f0e3b02022-10-06 11:15:39 -0600118 xxxx@node:~$ kubectl get pods -n sdcore-5g
119 NAME READY STATUS RESTARTS AGE
120 amf-6cddb6ff5-g5kwp 1/1 Running 0 8d
121 ausf-64fb5c5df5-g9xps 1/1 Running 0 8d
122 gnbsim-0 1/1 Running 0 8d
123 mongodb-0 1/1 Running 0 8d
124 mongodb-1 1/1 Running 0 8d
125 mongodb-arbiter-0 1/1 Running 0 8d
126 nrf-69794885b-pgl8f 1/1 Running 0 8d
127 nssf-fc9c48c89-dxqn7 1/1 Running 0 8d
128 pcf-5c7d7767c9-wv6dl 1/1 Running 0 8d
129 simapp-669b99db9d-lbbm4 1/1 Running 0 8d
130 smf-b87fc6f8f-4jdqr 1/1 Running 0 8d
131 smf-b87fc6f8f-xt2n2 1/1 Running 0 8d
132 udm-f948b57dc-n5b4h 1/1 Running 0 8d
133 udr-698445bd87-8ptpm 1/1 Running 0 8d
134 upf-0 5/5 Running 0 8d
135 upf-adapter-c4844b7fb-wqbvw 1/1 Running 0 8d
136 webui-8cfb9659c-hqfp9 1/1 Running 0 8d
137 xxxx@node:~$
ajayd19711c2021-12-07 12:07:04 -0800138
139To uninstall:
140
141.. code-block::
142
143 helm -n sdcore-5g uninstall sdcore-5g
144 kubectl delete namespace sdcore-5g # also remove the sdcore-5g if needed
145
Ankur Upadhyaya4f0e3b02022-10-06 11:15:39 -0600146Cloud Native Configuration - 5G
147""""""""""""""""""""""""""""""""
ajayd19711c2021-12-07 12:07:04 -0800148
Ankur Upadhyaya4f0e3b02022-10-06 11:15:39 -0600149Following configuration need to be enabled in 5G helm values override file
150
151Enable AMF Sctp Load Balancer
152'''''''''''''''''''''''''''''
153Edit sd-core-5g-values.yaml as following
154
155.. code-block::
156
157 sctplb:
158 deploy: true
159
160Enable SMF DB Store
161'''''''''''''''''''
162Edit sd-core-5g-values.yaml as following
163
164.. code-block::
165
166 smf:
167 cfgFiles:
168 smfcfg.conf:
169 configuration:
170 enableDBStore: true
171
172Enable UPF-Adapter
173''''''''''''''''''
174Edit sd-core-5g-values.yaml as following
175
176.. code-block::
177
178 upfadapter:
179 deploy: true
180
181Enable NRF Keep-Alive
182''''''''''''''''''''''
183Edit sd-core-5g-values.yaml as following
184
185.. code-block::
186
187 nrf:
188 cfgFiles:
189 nrfcfg.conf:
190 configuration:
191 mongoDBStreamEnable: false
192 nfProfileExpiryEnable: true
193 nfKeepAliveTime: 60
194
195Enable UE IP-Address allocation by UPF
196''''''''''''''''''''''''''''''''''''''
197This is optional feature to allocate UE IP-Address via UPF rather than locally via SMF.
198Edit sd-core-5g-values.yaml as following
199
200.. code-block::
201
202 cpiface:
203 dnn: "internet"
204 hostname: "upf"
205 enable_ue_ip_alloc: true
206 ue_ip_pool: "172.250.0.0/16"