首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MetalLB在Kubernetes是如何工作的

MetalLB在Kubernetes是如何工作的
EN

Stack Overflow用户
提问于 2021-07-02 11:30:16
回答 1查看 910关注 0票数 2

有人能解释一下MetalLB是如何在Kubernetes环境中获取IP地址的吗?我已经在GCP计算引擎中安装了Kubernetes集群。我在MetalLB ConfigMap中提供了一系列内部IP地址。

代码语言:javascript
复制
NAME        STATUS   INTERNAL-IP   EXTERNAL-IP     
instance-1  Ready    10.140.0.20   56.169.53.26    
instance-2  Ready    10.140.0.21   57.11.92.241   
instance-3  Ready    10.140.0.22   54.7.255.253

在我的例子中,我在CM中给出的IP范围是10.140.0.30-10.140.0.40。

它按预期工作,但我想知道MetalLB get的IP地址是如何工作的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-05 11:34:58

总结一下我的意见:

第二层模式下的MetalLB是在每个节点上部署一个对ARP(IPv4)和NDP(IPv6)请求响应的扬声器Pod。

如果您现在连接到IP,您的Kubernetes服务通过type: LoadBalancer从您在MetalLB配置中定义的范围获得,您的客户端将向网络发送一个arp请求who-has <IP-Service>, tell <IP-Client>。由于议长Pods正在监听arp-请求,他们将使用reply <IP-Service> is-at <node-MAC-address-of-the-leader>进行应答。

这并不意味着,您的Pod运行在解决Mac地址的节点上,只有MetalLB“领导者”在这个节点上运行。你的请求将传递给库贝代理,它知道你的波德住在哪里。

还请记住:

从这个意义上说,第二层

不实现负载平衡器.相反,它实现了故障转移机制,以便在当前的领导节点因某种原因而失败时,不同的节点可以接管。

https://metallb.universe.tf/concepts/layer2/#load-balancing-behavior

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68224438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档