Nephio manual deployment on multiple VMs
Nephio manual deployment on different VMs
Prerequisites
- Cluster Management (master)
- 4 vCPU
- 8 GB RAM
- Kubernetes version 1.26+
- Cluster Edge n
- 2 vCPU 1 NODE
- 4 GB RAM
- Kubernetes version 1.26+
- KPT beta releases
Installation of the management cluster
Automatic installation of the management cluster using the sandbox Ansible script
Override the default Ansible values and run the installation script in test-infra\e2e\provision\init.sh by changing the k8s.context with your
kubectl config get-contexts
then run:
export NEPHIO_USER=$USER
export ANSIBLE_CMD_EXTRA_VAR_LIST="k8s.context=kubernetes-admin@cluster.local kind.enable=false host_min_vcpu=4 host_min_cpu_ram=8"
curl -fsSL https://raw.githubusercontent.com/nephio-project/test-infra/main/e2e/provision/init.sh | sudo -E bash
Manual Installation of the management cluster using kpt
Manual Installation of the Edge cluster using kpt
Install config-sync using:
kpt pkg get --for-deployment https://github.com/nephio-project/catalog.git/nephio/core/configsync@main
kpt fn render configsync
kpt live init configsync
kpt live apply configsync --reconcile-timeout=15m --output=table
Get the Roosync kpt package and edit it:
kpt pkg get https://github.com/nephio-project/catalog.git/nephio/optional/rootsync@main
Change ./rootsync/rootsync.yaml and point spec.git.repo to the edge git repository
spec:
sourceFormat: unstructured
git:
repo: <http url of your edge repo>
branch: main
auth: none
Deploy the modified configsync
kpt live init rootsync
kpt live apply rootsync --reconcile-timeout=15m --output=table
Configure Management Cluster to manage Edge Cluster
Get a GitHub token if your repository is private, or allow Porch to make modifications.
Register the edge repository using kpt cli or nephio web-ui.
GITHUB_USERNAME=<Github Username>
GITHUB_TOKEN=<GitHub Token>
porchctl repo register \
--namespace default \
--repo-basic-username=${GITHUB_USERNAME} \
--repo-basic-password=${GITHUB_TOKEN} \
--create-branch=true \
--deployment=true \
<http url of your edge repo>
Deploy packages to the edge clusters
Using the web-ui, add a new deployment to the edge workload cluster.