Expeto xCore⚓︎
xCore is the Expeto 4G and 5G mobile core. It is delivered as a Kubernetes operator: you install the
operator with Helm, describe the core you want in a single Site custom resource, and the operator
brings up and maintains the network functions, their databases and their network attachments in
that namespace. One xCore installation is one Site in xControl, and the Expeto Agent that ships
with it keeps the two in sync.
This guide covers xCore 4.0.6, installed from the xfabric chart, which is the release that brings
the combined 4G and 5G core. Every new xCore, public or private, is installed this way. The xCore
Helm chart of the 3.3 releases is deprecated and no longer documented; the 3.3 releases continue to
deliver xControl and xRouter. xCore 4.0.6 registers
with xControl 3.3.22 or later.
Deployment shapes⚓︎
The same operator and the same Site resource describe every xCore deployment. What changes is
which control-plane blocks the Site declares.
| Shape | Where it runs | What the Site declares |
|---|---|---|
| Public core | A data centre or cloud region, behind an xRouter that receives the traffic of private SIMs roaming on public networks over IPX. | User planes only: an SGW-U that terminates the tunnels from xRouter and one PGW-U anchor per network segment, with the SMF acting as combined SGW-C and PGW-C. No radio-facing functions. |
| Private 5G core | On the enterprise premises, or hosted for the enterprise, connected to private gNodeBs. | An AMF, the 5G subscriber store (UDR, UDM, AUSF), the SMF and one or more UPFs. |
| Private 4G core | On the enterprise premises, connected to private eNodeBs. | An MME, the HSS, the SMF as SGW-C and PGW-C, and an SGW-U in front of one or more PGW-Us. |
| Combined private core | One installation serving both 4G and 5G private radios. | Both the AMF and the MME, the subscriber store in dual mode (UDR, UDM, AUSF and HSS), a front user plane for both radio types and an anchor per System that serves both, so a session follows a device between 4G and 5G. There is no N26 interface between the two mobility functions. See Install a combined core. |
A private core can also serve the public path at the same time: point an xRouter at one of its user planes and the same subscribers reach the enterprise network from anywhere.
Network functions⚓︎
| Function | 3GPP role | Present in |
|---|---|---|
| SMF | Session management; also the SGW-C and PGW-C for 4G sessions. Routes each subscriber to the user plane of its System. | every shape |
| UPF | User plane. In 5G a session anchor (PSA) or intermediate UPF; in 4G an SGW-U or a PGW-U, never both. | every shape |
| AMF | Access and mobility management for gNodeBs over N2. | 5G, combined |
| MME | Mobility management for eNodeBs over S1-MME, with its S1 transport controller. | 4G, combined |
| UDR, UDM, AUSF | 5G subscriber data, subscriber management and authentication. | 5G, combined |
| HSS | 4G subscriber data and authentication over S6a. | 4G, combined |
| NFCM | Network function configuration management, monitoring and statistics. | every shape |
| UDSF | Unstructured data storage for session state, with the identifier allocator and timer services. | every shape |
| Expeto Agent | Connects the Site to xControl: subscriber synchronisation, configuration, session records and metrics. | every shape |
Supporting them are an Apache Ignite cluster for session state, MariaDB for subscriber and session-management persistence, and Dragonfly as the in-memory cache. All three are created by the operator inside the Site's namespace.
How a Site is managed⚓︎
- xControl provisions, the Site executes. Mobile Assets, Systems and policies are created in xControl. The Agent receives them over its outbound connection and writes them into the Site's subscriber store. A Site keeps serving traffic when that connection is down.
- The Site resource is the deployment contract. Every network attachment, address range, PLMN
and user plane is declared in one document, written with Expeto Support during the design phase
and applied as agreed. The operator reports the outcome as conditions on the same resource, so
kubectl describe sitetells you whether the core is ready and, if not, why. Today you edit the Site yourself; Expeto intends the Agent to write it from the configuration held in xControl, so the resource is changing and may not stay directly editable. See Who writes the Site. - The operator owns its objects. Everything it creates is labelled and guarded by an
admission webhook; configuration changes go through the Site resource, never through
kubectl editon a generated ConfigMap or Deployment.
The Architecture page explains the operator model and the network model in
detail. The Installation section takes you from an empty cluster to a Site
that reports Ready, and Install a combined core walks through a
complete combined core, from xControl preparation and key loading to the first attached devices.