AltraMayor / AltraMayor/gatekeeper

Enable policies to load balance flows

オープン
#297 コメント 2 件 リアクション 0 件 担当者 1 名 @mengxiang0811 が担当を希望しています GitHub で見る
enhancement Operational demand
主要言語
C
スター
1.6k
フォーク
252
PR マージ指標
30日以内にマージされた PR はありません

説明

Enabling policies to load balance flows markedly increases the value of Gatekeeper deployments since Gatekeeper servers act as load balancers with DDoS protection and discard the need for dedicated load balancers inside of the protected networks. In fact, Gatekeeper works as a better load balancer since the balancing is geographically distributed at Gatekeeper servers while the description of how to balance is centralized at Grantor servers, that is, Gatekeeper becomes a scalable, geographically-distributed, DDoS-protected, centrally-administrated load balancer.

This issue depends on the merge of pull request #295 since the new `GK_BPF` flow state enables policies to associate BPF programs to flows.

In order for policies to have a flexible infrastructure to implement the load balancing mechanism, the following items will likely be needed:
* Having a way to create BPF programs on-the-fly inside of the Lua policy. The library BCC may help with this since it can [translate a Lua function into BPF code](https://github.com/iovisor/bcc/tree/master/src/lua#luajit-bpf-compiler).
* Having a way to send new programs from Grantor servers to Gatekeeper servers. Since programs would be created on-the-fly, Gatekeeper servers cannot pre-load them. Besides the BPF program store that one needs to build on Gatekeeper servers, one challenge will be to support a transport protocol to send the programs. A candidate for this transport protocol is QUIC, which is available in [the QUICHE library](https://quiche.googlesource.com/quiche/).

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。