问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

k3s功能拓展——Service LB Controller

发布网友 发布时间:2022-11-26 04:12

我来回答

1个回答

热心网友 时间:2023-10-10 13:21

Service LB Controller借用类型为 LoadBalancer 的 Service API,工作原理如下

1、svc-controller watch到service类型为LoadBalancer时,自动创建一个Daemonset;

2、默认Daemonset会部署到每个节点,如果任意Node设定了label svccontroller.k3s.cattle.io/enablelb=true,则只在拥有这个label的node上创建DS的pod;

3、对于某个部署的节点,一个LB port只会对应一个POD, 端口不能重复使用;

4、若创建失败或无可用端口时,service的状态为Pending

下面通过实操来理解Service LB Controller(以grafana为例)

基础环境:

k3s-server:172.27.137.56

k3s-agent:172.27.137.232

grafana service类型为ClusterIP

修改grafana的类型为LoadBalancer,并且为了保证port唯一,从80修改为9090。自动生成EXTERNAL-IP

在EXTERNAL-IP通过netstat -lntp看不到对9090的监听,因为EXTERNAL-IP所在node对9090端口是转发,所以只能通过iptables -t nat -nL | grep 9090中查看对所有9090端口的访问流量经过DNAT后的目标IP

目标IP为新创建的daemonsets在k3s-service的pod

进入pod查看流量的下一步转发,目标IP正是grafana的cluster-ip,自此流量顺利进入

另外,k3s-agent上同样也有对9090端口的DNAT转发,转发至daemonsets在k3s-agent的pod,最终转发至grafana的cluster-ip。所以实际上grafana对应的EXTERNAL-IP应该是有两个,一个是k3s-server的IP,另一个是k3s-agent的IP

总结:

每产生一个类型为 LoadBalancer 的 Service,则会自动部署daemonsets(根据node的lable选择部署节点),每个node的iptables会增加对port的DNAT转发,转发至本节点上的svclb pod,再由此pod转发至目标Service Cluster-IP

另外,Service LB Controller会为每个LoadBalancer 创建Daemonsets,所以若对外提供大量Service访问,会自动创建对应数量的pod,但由于svclb的镜像rancher/klipper-lb是个很小的镜像,主要作用就是提供iptables转发流量至集群内部,所以对性能负担影响不大,但在管理上会增加更多的pod管理
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天秤男吃醋的八大表现 天秤座男生吃醋时的表现 人工授精之后注意什么 人授后需要卧床休息吗 ...经两个月没发工资了,我不想干了,老板不给钱怎么办? 新手玩《兰斯10》这款游戏的快速通关攻略是什么? 兰斯10怎么用食券快速刷SSR 兰斯10二周目7cp怎么达成 兰斯10大侵攻达成条件介绍 跳舞同手同脚叫什么来着 喷油嘴清洗机主要功能 Grafana Query类型模板变量的使用 Grafana-Singlestat用法 100分带木带水女孩名字 杭州教师提前批为什么招不满 eamo是什么品牌布料 电脑没声音找不到输出设备的解决办法 扬州大学的所有学院? 电火花线切割加工机床脉冲电源的脉冲宽度 上海闵行区那里可以培训钳工 我想问问小米手机升降摄像头好不好 2020早安心语励志图片:有一种成功叫坚持 早安坚持励志的好句子带图片 20208努力奋斗的励志早安图片带字 分期贷款哪个容易通过 怎样辨别水是不是70度的,方法尽量简单一些? 古文中会字的用法 民间游戏参考文献 外星人耳机麦克风说不了话 新买的皮鞋磨脚掌 还是凉鞋 有办法修里好吗 求教怎么架设公司内部的服务器 grafana之Variables变量的使用 grafana和prometheus系列四:grafana嵌入Iframe解决方案 为什么我腌的泡菜都是酒味,没有酸味?是酒放多了吗?我用的是含有高粱的酒 我把对方短信拉黑了,打对方电话能收到吗 循环泵出口金属软连接限位螺栓的作用 夏天会起雾吗? 云南java培训学校告诉你新手程序员如何提高自己的java技术水平? 北大青鸟java培训:程序员如何突破技术瓶颈期? 入仕的意思 中山市艺美汇医疗美容门诊有限公司怎么样? 广州艺美奖是什么级别的奖 解封后怎么找回以前的聊天记录? 解封后之前的聊天记录还有吗 我的电信客户经理电话 怎样投诉电信客户经理 注册公司:机电安装三级资质办理标准是什么 网上说的翻白草能降血糖是真的吗 我告诉自己不准哭是姜玉阳什么歌里的歌词 刻骨的温柔的歌手简介 刻骨的温柔的介绍