给家庭 k8s 集群用的 External Load Balancer

2019-03-10 13:27:24 +08:00
 joesonw

github: https://github.com/joesonw/homemade-external-load-balancer

一个动态 dns 解析 + 更新反向代理(traefik, etc) 配置的 controller.

使用起来就和在云上的 ELB, SLB 之类一样

欢迎 issue 和 PR

大家有什么其他的使用场景也可以提一提. 例如 nginx 之类

3130 次点击
所在节点    Go 编程语言
11 条回复
mritd
2019-03-10 14:37:02 +08:00
我的理解是 HELB 充当一个中间者角色:

1、watch apiserver,实时将集群内部 svc 域名推送到 dnspod(设置 CNAME)
2、接收来自公网的 CNAME 并将其负载到 traefik
3、traefik 通过 hostname 做七层负载并最终分发到 pod 内(此时 traefik 应当是集群 ingress controller)

布吉岛我理解的对不对,但是我感觉还是公司 VPN 更方便一些
joesonw
2019-03-10 15:13:09 +08:00
@mritd

1. 更新的是二级域名的 NS 解析
2. 解析来自公网 /内网的三级域名的 A 请求 到 traefik (watch apiserver)
3. 更新 traefik 配置 (watch apiserver)

这个是自己玩的时候方便. 现在自己公司里用的是阿里云的 k8s 集群+slb. baremetal 没有这样的待遇.
scofieldpeng
2019-03-10 15:17:57 +08:00
这个不错,下周末试试,正好家里的 k8s 准备迁移
mritd
2019-03-10 16:20:12 +08:00
@scofieldpeng #3 我去,你们都在家里玩 k8s 么... 我顶多弄几个虚拟机测试
joesonw
2019-03-10 16:25:22 +08:00
@mritd 单机也可以啊,方便规模化的时候上云,无缝。
timothyye
2019-03-10 19:19:56 +08:00
最近有个 k3s,感觉更适合家里玩
@joesonw
@scofieldpeng
@mritd
scofieldpeng
2019-03-11 09:40:51 +08:00
@timothyye #6 哥,你微信多少,我微信被 block 了,我重新加一下==
scofieldpeng
2019-03-11 09:41:38 +08:00
@timothyye #6 那个一出来我就看了,ha 方案官方还没出来,而且看了下吧 storage plugin 精简了好多,最近在折腾 diy 键盘还没时间鼓捣这个,等鼓捣完了再鼓捣这个,2333
abmin521
2019-03-11 12:54:33 +08:00
算是 DDNS+ingress 不能称为 Load Balancer 吧(杠一下
joesonw
2019-03-11 13:04:08 +08:00
@abmin521 为了取得和在云上 External Load Balancer 一样的功效嘛.
joesonw
2019-03-11 13:05:42 +08:00
@abmin521 当然 load balance, ssl/tls 这些慢慢加进来, 先放上来是看有没有需要这些功能, 看下大家的需求. 二一个, 如果有跟我一样, 想要云上 ELB 那种效果, MetalLB 又太麻烦的, 可以先用一用.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/542998

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX