-
Notifications
You must be signed in to change notification settings - Fork 0
Free5GC Blueprint
Paolo Bono edited this page Nov 15, 2023
·
4 revisions
In this page there is described how to deploy a Free5GC blueprint.
⚠️ Check the requirements carefully
- Having a K8s cluster that is onboarded on the NFVO (OSM). Check Onboarding external K8S Cluster for more info on adding an external cluster or Kubernetes Blueprint to deploy a new cluster automatically onboarded by NFVCL.
- Having a gNB running, it can be deployed through UERANSIM blueprint. See UERANSIM Blueprint for more information.
- Add collection 'pnf' in the NFVCL mongo database with the following content
{ "_id": { "$oid": "6384cfd95f2308370ca82f0d" }, "type": "ueransim_nb", "vnfd": "ueransim_nb_XXX_pnfd", "name": "Configurator_UeRanSimNB", "module": "blueprints.blue_5g_base.configurators.ueransim_nb_configurator" }
- Use kubectl to ensure that Metallb (or other load balancer) have sufficient IPs in the address pool to support Free5GC chart deployment (one IP for each pod deployed from the blueprint).
kubectl get ipaddresspool -A
- Having onboarded the helm chart on OSM with the following POST on
http://NFVCL_IP:5002/helm_repo/
{ "name": "free5gc", "description": "free5gc 3.2.0", "version": "3.2.0" }
POST /nfvcl/v1/api/blue/Free5GC_K8s
{
"type": "Free5GC_K8s",
"config": {
"network_endpoints": {
"mgt": "dmz-internal",
"wan": "dmz-internal",
"data_nets": [
{
"net_name": "radio_PQOUQB", # Replace with the name of the network created by the UERANSIM blueprint
"dnn": "radio_PQOUQB", # Replace with the name of the network created by the UERANSIM blueprint
"dns": "8.8.8.8",
"pools": [{"cidr": "10.168.0.0/16"}],
"uplinkAmbr": "100 Mbps",
"downlinkAmbr": "100 Mbps",
"default5qi": "9"
}
]
},
"plmn": "00101",
"sliceProfiles": [
{
"sliceId": "000001",
"sliceType": "EMBB",
"dnnList": ["radio_PQOUQB"], # Replace with the name of the network created by the UERANSIM blueprint
"profileParams": {
"isolationLevel": "ISOLATION",
"sliceAmbr": "1000 Mbps",
"ueAmbr": "50 Mbps",
"maximumNumberUE": 10,
"pduSessions": [
{
"pduSessionId": "1",
"pduSessionAmbr": "20 Mbps",
"flows": [
{
"flowId": "1",
"ipAddrFilter": "8.8.4.4",
"qi": "9",
"gfbr": "10 Mbps"
}
]
}
]
},
"locationConstraints": [
{
"geographicalAreaId": "1",
"tai": "00101000001"
}
],
"enabledUEList": [
{
"ICCID": "*"
}
]
}
],
"subscribers": [
{
"imsi": "001014000000002",
"k": "814BCB2AEBDA557AEEF021BB21BEFE25",
"opc": "9B5DA0D4EC1E2D091A6B47E3B91D2496",
"authenticationMethod": "5G_AKA",
"authenticationManagementField": "9001",
"snssai": [
{
"sliceId": "000001",
"sliceType": "EMBB",
"pduSessionIds": [
"1"
],
"default_slice": true
}
]
}
]
},
"areas": [
{
"id": 0, # Deployment area ID
"nci": "0x00000005",
"idLength": 32,
"core": true,
"slices": [
{
"sliceType": "EMBB",
"sliceId": "000001"
}
]
},
{
"id": 1, # The area of the gNB (Need to be the same of the deployed UERANSIM blueprint)
"nci": "0x00000003",
"idLength": 32,
"core": false,
"slices": [
{
"sliceType": "EMBB",
"sliceId": "000001"
}
]
}
]
}