/oakestra-net

Networking component of Oakestra

Primary LanguagePythonApache License 2.0Apache-2.0

net manager tests net manager artifacts root artifacts cluster artifacts

Stable Github All Releases

Oakestra Net 🕸️🌳🕸️

This component enables the communication between services distributed across multiple Oakestra nodes and clsuters.

This repository includes:

  • Net Manager: The network daemon that needs to be installed on each Worker Node. This captures the services traffic, and creates the semantic overlay abstraction. See Semantic Addressing for details.

  • Root/Cluster Service Managers: Control plane components installed alongside Oakestra root and cluster orchestrators. They propagate and install the routes to the Net Manager components.

This networking component creates a semantic addressing space where the IP addresses not only represent the final destination for a packet but also enforces a balancing policy.

How to install the Net Manager daemon

From official build

Follow the offical Oakestra Get Started guide to install the stable NetManager alongside oakestra worker node.

Build it on your own

Go inside the folder node-net-manager/build and run:

./build.sh

Finally, install it using ./install.sh <architecture>

supported architectures are arm64 or amd64.

Run the NetManager

The Netmanager component is automatically managed by the NodeEngine. For a manual setup refer to: node-net-manager/README.md

How run the cluster service manager and root service manage components locally

You can:

1 - Navigate inside the corresponding cluster(root)-service-manager/service-manager folder

2 - Build the docker containers of the respective components using docker build -t local_cluster_service_manager . for the cluster service manager and docker build -t local_root_service_manager . for the root service manager.

3 - Run your standalone oakestra root and cluster orchestrator as usual, but use the override-local-service-manager.yml to replace the official release images of these components with the new images you just built.

E.g.:

export OVERRIDE_FILES=override-local-service-manager.yml
curl -sfL https://raw.githubusercontent.com/oakestra/oakestra/develop/scripts/StartOakestraRoot.sh | sh -