From 66ab87265c3e8f59d6e882c8c0cf964aa2bf5d1f Mon Sep 17 00:00:00 2001 From: Linda Yu Date: Thu, 21 Oct 2021 19:50:25 +0800 Subject: [PATCH] proposal: add dynamic edge load balancer support for openyurt (#400) --- docs/img/elb.png | Bin 0 -> 31187 bytes .../20211017-adding-dynamic-load-balancer.md | 206 ++++++++++++++++++ 2 files changed, 206 insertions(+) create mode 100644 docs/img/elb.png create mode 100644 docs/proposals/20211017-adding-dynamic-load-balancer.md diff --git a/docs/img/elb.png b/docs/img/elb.png new file mode 100644 index 0000000000000000000000000000000000000000..a2476195c1d716d59a610f578667be5bc130dbe4 GIT binary patch literal 31187 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