Raven
1. Background
In edge computing, edge-edge and edge-cloud are common network communication scenarios. In OpenYurt, we have introduced YurtTunnel
to deal with the network problems of maintenance and monitoring in edge-cloud collaboration, providing the capability of kubectl exec/logs
on edge nodes and collecting monitoring indicators from edge nodes. But the problems solved by YurtTunnel
are only a part of edge-cloud communication. We also need to provide solutions for edge-edge and edge-cloud container network communication.
In OpenYurt cluster, pods in different physical regions may need to use Pod IP, Service IP or Service name to communicate with other Pods. Although these pods are in a single K8s cluster, they are in different physical regions (network domains) and cannot communicate directly. So we create Raven
project to solve this problem.
2. Architecture
As following picture, the architecture of Raven
have two components:
-
Raven Controller Manager