blob: c1047826b5b4a4962e902c16dbc230f959f94622 [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
5.. _deployment_guide:
6
7Deployment Guide
8================
9
10Deployment Overview
11-------------------
12SD-Core is released with Helm chart and container images.
13We recommend using **Kubernetes** and **Helm** to deploy SD-Core.
14SD-Core images are hosted on an ONF member-only Docker registry.
15You need to obtain access token and supply that as part of the Helm value.
16
17Hardware resource requirement
18-----------------------------
19
20SD-Core 4G has following K8s pods
21
22 - MME: 2 CPU Cores, 4Gi RAM
23 - SPGW: 2 CPU Cores, 4Gi RAM
24 - PCRF: 2 CPU Cores, 1Gi RAM
25 - HSS : 2 CPU Cores, 1Gi RAM
26 - ConfigPod: 1 CPU Core, 1Gi RAM
27 - SimApp: 1 CPU Core, 1Gi RAM
28 - Cassandra: 2 CPU Core, 4Gi RAM
29
30Prepare access credential for SD-Core images
31--------------------------------------------
32
33Container images can be download from ONF self-hosted container registry but you have to gain the access token first.
34
351. Login to `Aether Harbor Registry <https://registry.aetherproject.org/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects>`_ using your ONF Crowd credential,
362. Select ``User Profile`` drop-down menu in the upper-right corner
373. Generate the CLI secret and it's the secret token you have to access the container registry via CLI tool.
384. Login to the container registry with your username and access token
39 by ``docker login command`` to ensure you can access it.
40
41.. code-block::
42
43 ╰─$ docker login registry.aetherproject.org --username hwchiu
44 Password:
45 Login Succeeded
46
47Deployment Options
48------------------
49
50Development Environments
51""""""""""""""""""""""""
52
53TODO - AIAB document link
54
55Production Environments - 4G
56""""""""""""""""""""""""""""
57
58To install SD-Core into your Kubernetes cluster, follow instructions
59
60Step1 - Clone SD-Core 4G Helm chart
61'''''''''''''''''''''''''''''''''''
62.. code-block::
63
64 git clone ssh://gerrit.opencord.org:29418/sdcore-helm-charts
65 cd sdcore-helm-charts/sdcore-helm-charts/
66 helm dep update #Update Helm dependencies
67
68Step2 - Prepare your Helm values for 4G
69'''''''''''''''''''''''''''''''''''''''
70
71You can modify existing values.yaml directly, but we recommend composing another value
72file myvalues.yaml using values.yaml as an example. We are highlighting a few things we
73need to modify here. More explanation of the supported Helm values can be found in the
74Configuration section below.
75
76Step3 - Install 4G using SD-Core umbrella helm chart
77''''''''''''''''''''''''''''''''''''''''''''''''''''
78
79The following command will deploy the SD-Core helm chart with release name sdcore-4g in the sdcore-4g namespace.
80
81.. code-block::
82
83 helm install -n sdcore-4g --create-namespace -f myvaules.yaml sdcore-4g .
84
85To verify the installation:
86
87.. code-block::
88
89 helm -n sdcore-4g ls
90
91To uninstall:
92
93.. code-block::
94
95 helm -n sdcore-4g uninstall sdcore-4g
96 kubectl delete namespace sdcore-4g # also remove the sdcore-4g if needed
97
98
99Production Environments - 5G
100""""""""""""""""""""""""""""
101
102To install SD-Core into your Kubernetes cluster, follow instructions
103
104Step1 - Clone SD-Core 5G Helm chart
105'''''''''''''''''''''''''''''''''''
106.. code-block::
107
108 git clone ssh://gerrit.opencord.org:29418/sdcore-helm-charts
109 cd sdcore-helm-charts/sdcore-helm-charts/
110 helm dep update #Update Helm dependencies
111
112Step2 - Prepare your Helm value for 5G
113''''''''''''''''''''''''''''''''''''''
114
115You can modify existing values.yaml directly, but we recommend composing another value
116file myvalues.yaml using values.yaml as an example. We are highlighting a few things we
117need to modify here. More explanation of the supported Helm values can be found in the
118Configuration section below.
119
120Step3 - Install 5G using SD-Core umbrella helm chart
121''''''''''''''''''''''''''''''''''''''''''''''''''''
122
123The following command will deploy the SD-Core helm chart with release name sdcore-4g in the sdcore-4g namespace.
124
125.. code-block::
126
127 helm install -n sdcore-5g --create-namespace -f myvaules.yaml sdcore-5g .
128
129To verify the installation:
130
131.. code-block::
132
133 helm -n sdcore-5g ls
134
135To uninstall:
136
137.. code-block::
138
139 helm -n sdcore-5g uninstall sdcore-5g
140 kubectl delete namespace sdcore-5g # also remove the sdcore-5g if needed
141
142