kubeasz/docs/guide/metallb.md

20 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# metallb 网络负载均衡
本文档已过期,以下内容仅做介绍,安装请参考最新官方文档
`Metallb`是在自有硬件上(非公有云)实现 `Kubernetes Load-balancer`的工具,由`google`团队开源,值得推荐!项目[github主页](https://github.com/google/metallb)。
## metallb 简介
这里简单介绍下它的实现原理,具体可以参考[metallb官网](https://metallb.universe.tf/),文档非常简洁、清晰。目前有如下的使用限制:
- `Kubernetes v1.9.0`版本以上,暂不支持`ipvs`模式
- 支持网络组件 (flannel/weave/romana), calico 部分支持
- `layer2`和`bgp`两种模式,其中`bgp`模式需要外部网络设备支持`bgp`协议
`metallb`主要实现了两个功能:地址分配和对外宣告
- 地址分配需要向网络管理员申请一段ip地址如果是layer2模式需要这段地址与node节点地址同个网段同一个二层如果是bgp模式没有这个限制。
- 对外宣告layer2模式使用arp协议利用节点的mac额外宣告一个loadbalancer的ip同mac多ipbgp模式下节点利用bgp协议与外部网络设备建立邻居宣告loadbalancer的地址段给外部网络。