openyurtio / raven

provide layer 3 and layer 7 network connectivity among pods in different physical regions
Apache License 2.0
57 stars 37 forks source link

[Raven-L7] Raven l7 proxy implementation #70

Open zzguang opened 2 years ago

zzguang commented 2 years ago

As proposal https://github.com/openyurtio/openyurt/blob/master/docs/proposals/20220930-unifying-cloud-edge-comms.md mentioned: we need to implement l7 proxy which is responsible for establishing the layer 7 connection between gateway nodes, it mainly includes the tasks below:

  1. Implement the l7 proxy agent in raven-agent of edge gateway node
  2. Implement the l7 proxy server in raven-agent of cloud gateway node
  3. L7 proxy agent connects the Loadbalancer/EIP exposed by cloud l7 proxy server and establish a tunnel connection to it
  4. Cloud l7 proxy server forwards the user request to the corresponding L7 proxy agent according to the hostname map
  5. Edge l7 proxy agent forwards the user request to the corresponding kubelet port of solo node or node in a nodepool
zzguang commented 2 years ago

/assign @zzguang