Skip to content

electrocucaracha/nephioadm

Repository files navigation

Nephio installer

License GitHub Super-Linter Ruby Style Guide Go Report Card GoDoc

visitors

This tool provisions Nephio components on target clusters

Installation

go install github.com/electrocucaracha/nephioadm/cmd/nephioadm@latest

Usage

For management components (system, webui and configsync packages):

nephioadm init \
    --base-path "/opt/nephio/mgmt" \
    --git-service "http:/gitea-server:3000/nephio-playground" \
    --backend-base-url "http://localhost:7007" \
    --webui-cluster-type NodePort

For workload components (configsync package):

nephioadm join \
    --base-path "/opt/nephio/mgmt" \
    --git-service "http:/gitea-server:3000/nephio-playground" 

Provisioning process

This process uses two main components:

  • Nephio packages (official repository by default). The --nephio-repo argument allows the consumption of other sources. This can be useful during the Nephio development and testing processes.
  • Target clusters. Currently, this tool installs Nephio components on the current pointing Kubernetes cluster. This cluster must be reachable from the tool and requires the installation of kpt CLI.
          +-------------------------------------------------------+
          |   https://github.com/nephio-project/nephio-packages   |
          |    +----------+    +--------------+    +---------+    |
          |    |  system  |    |  configsync  |    |  webui  |    |
          |    +----------+    +--------------+    +---------+    |
          +-------------------------------------------------------+

                               +-----------+
                               | nephioadm |
                               +-----------+

+---------------------------------+     +---------------------------------+
| mgmt (k8s)                      |     | workload (k8s)                  |
| +-----------------------------+ |     | +-----------------------------+ |
| | mgmt-control-plane          | |     | | workload-control-plane      | |
| | podSubnet: 10.196.0.0/16    | |     | | podSubnet: 10.197.0.0/16    | |
| | serviceSubnet: 10.96.0.0/16 | |     | | serviceSubnet: 10.97.0.0/16 | |
| +-----------------------------+ |     | +-----------------------------+ |
+---------------------------------+     +---------------------------------+

The --git-service argument specifies the URL of the repository used by ConfigSync and Porch components.