V2EX cyjme
 cyjme 最近的时间轴更新
this is a test
2017-03-20 10:50:56 +08:00
cyjme

cyjme

V2EX 第 136404 号会员,加入于 2015-09-01 20:33:34 +08:00
cyjme 最近回复了
@GopherDaily

今天折腾了很多,这里重新梳理下,我前面的关注点太多了,下面只关注流量到达 traefik pod

前面的 svclb-pod 是由 k3s 自带的一个 Load Balancer(Klipper LB)创建的 daemon 。


**当前的环境:**

有一个类型为 LoadBalancer 的 traefik service, load balance 是通过 KipperLB 实现的。Traefik
Service 创建了 Daemon Sets: "svclb-traefik",运行在每一个节点上,监听 80/443 端口。

将 traefik deployment scale 到每个节点上都有一个,并且开启了 access log 。

设置 traefik service 的 spec.externalTrafficPolicy = Local 。



**问题:**

理论上来说,应该只有被访问的节点上的 traefik pod 可以收到请求,但是目前是其他节点也可以收到。






今天刚开始调试的时候看日志是大部分请求都到了同一个节点的,但是会有少量请求到其他节点,以为是配置生效了,怀疑可能是网络的问题(用了 zerotier ,k3s server --flannel-iface={zerotier-Iface}),worker node 在国外,网络质量不够高之类的,但是调试一番之后,其实还是配置没生效,只是我之前只请求一个 url ,似乎有某种机制让请求只到达一个节点?只要换了 url 其他节点也会收到大量请求。externalTrafficPolicy = Local 生效的话,应该是其他节点完全收不到请求才对。


然后又查了一些其他资料,也有人遇到这个问题,但没有明确的答案。可能会和 k3s 的 Klipper LB 有关系,更细节的调试还要涉及到 cni, flannel 还有 k8s 的各种命令。但是我现在这方面知识缺失很多,排查问题过程很艰难。我周末把 k8s 的文档和网络相关的文档先看一遍,然后再重新排查这个问题,可能还要重新搞一个虚拟机环境,尝试不同的 lb 和 cni 配置。后续有结果了我再更新到这里。
@GopherDaily 感谢。

根据文档看起来好像是和 externalTrafficPolicy 有一些关系,我做了尝试之后,发现 externalTrafficPolicy 可以产生如下如下影响:

cluster: nodeA, nodeB, nodeC

blog-servcie ( type: NodePort, port:30025), blog-pod 只运行在 nodeA ,

将 externalTrafficPolicy 设为 Local 后,只有 http://nodeA:30025 可以访问,nodeB:30025 无法访问。externalTrafficPolicy 默认的 Cluster 所有节点都可以访问这个端口。


** 但是这个并不能解决当下的问题: **

以 http://blog.domain 为例,ip 指向 nodeA, blog-pod 运行在 nodeA, nodeB, nodeC 三个节点上,blog-service 的 externalTrafficPolicy 设为 Local ,当访问 blog.domain 的时候,nodeB 和 nodeC 依然会分流收到请求。

期望结果是 只有 nodeA 上的 blog-pod 能收到请求。

我查看了 nodeA 的 svclb-pod 中的 iptables ,它只是把所有流量都转发到了 traefik 的 service ,而 traefik pod 实际只运行在 nodeB ,所以流量必然要先经过 nodeB ?

有没有什么其他方法呢?
2022-11-27 14:53:04 +08:00
回复了 spr1ngs 创建的主题 程序员 求推荐点 txt 风格的博客 博客主题
2022-10-31 10:39:36 +08:00
回复了 libasten 创建的主题 问与答 帮忙推荐几款 68 键的机械键盘?
niz plum
2022-06-22 11:51:45 +08:00
回复了 Konys 创建的主题 Vim VIM 如何入门
我的 vim 使用路径

1.idea/vscode 插件,找个 vim cheat sheet 打印下来。学会插入、换行、保存、替换 之类的常见操作。
2.更复杂的操作,比如数千、录制宏之类的,基本脱离鼠标
3.spacevim / lunarvim 这种集成好各种插件的 "IDE",替代 vscode ,偶尔翻 《 vim 使用指南》或者搜索寻找提高效率的技巧
4.添加修改插件,对 lunarvim 进行修改。
5.从零折腾自己的 vim 环境。

1 和 2 我用了两年时间,主要是懒,没有继续深入的动力,所以进度就慢。
现在在第 4 步加上一些定制,基本上也有第 5 步的能力,但是暂时不想继续折腾了。

现在回头看,我强烈建议缩短学习过程,1 和 2 的步骤用 1~2 周时间去刻意练习。快速进入 步骤 3 ,这个时候就可以完全抛弃 vscode 或者 idea 了。

重点:强烈建议去刻意练习 vim ,鼠标丢一边,拔掉方向键。更早学会,就能更早的提高生产力。
强烈支持开设此岗位,技术写作确实是蛮重要的一环。
但是国内该岗位相当少,招聘软件上几乎没有相关职位,简历搜索中几乎也没有。


PS. 最近在学习过程中,翻译了 Google 的 《 Technical Writing Courses 》, 感兴趣的伙伴可以看看:

原文《 Technical Writing Courses 》:
https://developers.google.com/tech-writing

译文『技术写作教程』:
https://www.letsgo.tech/tech-writing
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4730 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 22ms UTC 01:05 PVG 09:05 LAX 18:05 JFK 21:05
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86