Deploy SD-Core User Plane Machine¶
This guide covers how to deploy the User Plane Function (UPF) as a machine charm.
Requirements¶
Juju controller bootstrapped for a manual cloud
A model named “user-plane” added to the Juju controller
A machine added to the “user-plane” model, with the following requirements:
A host with a CPU supporting AVX2 and RDRAND instructions (Intel Haswell, AMD Excavator or equivalent)
Terraform installed
Git
Deploy¶
Get the Charmed Aether SD-Core Terraform UPF Machine module by cloning the Charmed Aether SD-Core UPF module Git repository. Inside the terraform
directory, create a terraform.tfvars
file to set the name of Juju model and machine number for the deployment. You will also need to provide the appropriate network configuration.
git clone https://github.com/canonical/sdcore-upf-operator.git
cd sdcore-upf-operator/terraform/
cat << EOF > terraform.tfvars
machine_number = 0
model_name = "user-plane"
config = {
upf-mode = "af_packet"
dnn = "internet"
enable-hw-checksum = true
access-interface-name = "enp6s0"
access-ip = "192.168.252.3/24"
access-gateway-ip = "192.168.252.1"
access-interface-mtu-size = 1500
core-interface-name = "enp7s0"
core-ip = "192.168.250.3/24"
core-gateway-ip = "192.168.250.1"
core-interface-mtu-size = 1500
gnb-subnet = "192.168.251.0/24"
}
EOF
Initialize Juju Terraform provider:
terraform init
Deploy the machine charm to the machine number specified in the terraform.tfvars
file.
terraform apply -var-file="terraform.tfvars" -auto-approve