Skip to content

V0.3 Release

Latest
Compare
Choose a tag to compare
@pdgetrf pdgetrf released this 01 Feb 00:27
· 21 commits to main since this release
f00eddc

Edge-edge communication

This main focus of this release is implementing key component for edge-edge communication based on the POC from release v0.2. Edge-edge communication allows edge computing workloads (e.g. pods) from different edge clusters to communicate through virtual addressing. This capability is the foundation for future Fornax features such as edge computing storage and serverless platform. The implementation of VPC and subnet from the Mizar project have been extended to work across different physical clusters. There are 3 major components in this release:

Allow creating VPC with specified VNI
Configure gateway host through configmap
Configure remote ("virtual") subnets and select the gateway host as their virtual bouncers

Propagate virtual cluster info to Ebpf maps for transit XDP
Modify transit XDP on the edge gateway to match received packets with target subnet and divert traffic to user space if it belongs to a remote ("virtual") subnet
Disable direct path in the transit XDP if the packet comes from the edge gateway host

Listen to traffic in the user space on the gateway host
Convert received Geneve packet from the kernel space to inter-gateway packet
Convert received inter-gateway packet to Geneve packet
Communicate inter-gateway packets with other edge gateways

In addition to the above 3 components, a design draft has also been created for the next step features such as syncing edge gateway metadata. This will play a major roles in allowing distributed edge gateways to autonomously and efficiently adapt to network changes and vending inter-cluster network traffic.

Documentation and Automation

The following documentations have been added for team knowledge (onboarding and reference)

K8s build doc with Bash scripts
Remote SSH Debugging Setup in Visual Studio Code