Installing common dependencies
This guide describes how to install some required dependencies that are the same across all environments.
This page is draft and the separation of the content to different categories is not done.
This installation guide will help you to set up and run a Nephio demonstration environment. This environment is a single virtual machine (VM) that will be used in the exercises to simulate a topology with a Nephio management cluster and three workload clusters.
To install Nephio on the Google Compute Engine (GCE), you will need an account in the Google Cloud Platform (GCP). You will also need to have gcloud installed on your local environment.
gcloud compute instances create --machine-type e2-standard-16 \
--boot-disk-size 200GB \
--image-family=ubuntu-2004-lts \
--image-project=ubuntu-os-cloud \
--metadata=startup-script-url=https://raw.githubusercontent.com/nephio-project/test-infra/v3.0.0/e2e/provision/init.sh,nephio-test-infra-branch=v3.0.0 \
nephio-r3-e2e
To watch the progress of the installation, you need to allow approximately 30 seconds for Nephio to reach a network-accessible state. Then log in with ssh and investigate the script execution using tail:
gcloud compute ssh ubuntu@nephio-r3-e2e -- \
sudo journalctl -u google-startup-scripts.service --follow
This installation has been verified on VMs running on vSphere, OpenStack, AWS, and Azure.
Order or create a VM with the following specifications:
Configuring a route for Kubernetes
In some installations, the IP range used by Kubernetes in the sandbox can clash with the IP address that your VPN is using. In such cases, the VM will become unreachable during the sandbox installation. If this situation arises, add the route detailed below on your VM.
Log on to your VM and run the following commands, replacing <interface-name> and <interface-gateway-ip> with your VM’s values:
sudo bash -c 'cat << EOF > /etc/netplan/99-cloud-init-network.yaml
network:
ethernets:
<interface-name>:
routes:
- to: 172.18.2.6/32
via: <interface-gateway-ip>
metric: 100
version: 2
EOF'
sudo netplan apply
The commands set out below use default values for the GitHub path, GitHub branch/tag, username, K8s context, and so on. See the table of variables below for information on how to set custom installation parameters and make changes to commands as required.
Kind cluster
Log on to your VM and run the following command :
wget -O - https://raw.githubusercontent.com/nephio-project/test-infra/v3.0.0/e2e/provision/init.sh | \
sudo NEPHIO_DEBUG=false \
NEPHIO_BRANCH=v3.0.0 \
NEPHIO_USER=ubuntu \
bash
Preinstalled K8s cluster
Log on to your VM/system and run the following command:
wget -O - https://raw.githubusercontent.com/nephio-project/test-infra/v3.0.0/e2e/provision/init.sh | \
sudo NEPHIO_DEBUG=false \
NEPHIO_BRANCH=v3.0.0 \
NEPHIO_USER=ubuntu \
DOCKERHUB_USERNAME=username \
DOCKERHUB_TOKEN=password \
K8S_CONTEXT=kubernetes-admin@kubernetes \
bash
The following environment variables can be used to configure the installation:
Variable | Values | Default value | Description |
---|---|---|---|
NEPHIO_USER | userid | ubuntu | This is the user on which the sandbox needs to be installed (the user must have sudo passwordless permissions). |
NEPHIO_DEBUG | true or false | false | This variable controls the debug output from the install. |
NEPHIO_HOME | path | /home/$NEPHIO_USER | This is the directory into which the install scripts should be checked out. |
RUN_E2E | true or false | false | This variable specifies whether or not end-to-end tests should be run. |
DOCKERHUB_USERNAME | alpha-num string | This variable specifies the Docker Hub username. | |
DOCKERHUB_TOKEN | alpha-num string | This variable specifies the password or token. | |
NEPHIO_REPO | URL | https://github.com/nephio-project/test-infra.git | This variable specifies the URL of the repository to be used for installation. |
NEPHIO_BRANCH | branch | main/v3.0.0 | This variable specifies the tag or branch name to use in NEPHIO_REPO |
DOCKER_REGISTRY_MIRRORS | List of URLs in JSON format | This variable specifies the list of Docker registry mirrors in JSON format. If there are no mirrors to be set, then the variable remains empty. Here are two example values: ["https://docker-registry-remote.mycompany.com", "https://docker-registry-remote2.mycompany.com"] |
|
K8S_CONTEXT | K8s context | kind-kind | This variable defines the Kubernetes context for the existing non-kind cluster (gathered from kubectl config get-contexts , for example, kubernetes-admin@kubernetes). |
Monitor the installation on your terminal.
Log on to your VM using ssh on another terminal. Use the docker
and kubectl
commands to monitor
the installation.
Once the installation is complete, log in with ssh and forward the port to the user interface (UI) (7007) and to Gitea’s HTTP interface (3000), if desired:
Using the GCE:
gcloud compute ssh ubuntu@nephio-r3-e2e -- \
-L 7007:localhost:7007 \
-L 3000:172.18.0.200:3000 \
kubectl port-forward --namespace=nephio-webui svc/nephio-webui 7007
Using a VM:
ssh <user>@<vm-address> \
-L 7007:localhost:7007 \
-L 3000:172.18.0.200:3000 \
kubectl port-forward --namespace=nephio-webui svc/nephio-webui 7007
You can now navigate to the following URLs:
You may want a second ssh window open to run kubectl
commands, and so on, without port forwarding
(which would fail if you tried to open a second ssh connection with that setting).
Using the GCE:
gcloud compute ssh ubuntu@nephio-r3-e2e
Using a VM:
ssh <user>@<vm-address>
This guide describes how to install some required dependencies that are the same across all environments.
After installing the environment-specific dependencies, you can install the base Nephio components. There are two essential components: Porch, and Nephio Controllers.
These instructions explain how to install and configure the Nephio WebUI.
Step by step guide to install Nephio on any cluster
Step by step guide to install Nephio on GCE
A step by step guide to install Nephio on GCP
Step by step guide to install Nephio on OpenShift
Nephio Installation in a sandbox VM
An overview of the Nephio single VM
Step by step guide to run Nephio on Windows
Step by step guide to deploy the Free5gc Operator
Nephio manual deployment on different VMs
Package Transformations Work in Nephio Sandbox Installation