-
Notifications
You must be signed in to change notification settings - Fork 36
GlobalBGP 网络
Huanyu He edited this page Apr 17, 2023
·
11 revisions
GlobalBGP 是一种特殊的 network type,和 Overlay Network 一样,GlobalBGP 的 nodeSelector 字段必须为空,并且每个集群只能有一个 GlobalBGP 的 Network,集群内所有 type 为 Underlay
且 mode 为 BGP
的 Network 会自动成为该 Network 的子集,也就是说,GlobalBGP 的网络域为集群内所有 BGP 网络域之“和”
apiVersion: networking.alibaba.com/v1
kind: Network
metadata:
name: global-bgp
spec:
type: GlobalBGP
GlobalBGP Network 会有自己的 Subnet,与其对应的 BGP Network 的 Subnet 相互独立。对于 GlobalBGP Subnet 的 Pod IP,hybridnet BGP server 会有不同的 BGP 宣告行为
- 对于每个本节点存在的 Pod 地址,hybridnet BGP server 会宣告一条路由信息,路由信息中的下一跳地址为本节点地址,目标网段为 /32(或者 /128,如果是 ipv6)类型的网段(不携带 NO_EXPORT 的社区属性)
- 对于 GlobalBGP 的 Subnet 网段,hybridnet BGP server 不宣告路由信息
因此,每个 GlobalBGP 的 Pod IP 可以在集群内所有属于 BGP Network 的节点上漂移。如果一个节点属于 BGP Network,并且节点上存在 GlobalBGP 的 Pod(IP 地址),则这个节点所属的 BGP Network 在对应的 GlobalBGP Pod IP 被释放之前无法被删除
跟 BGP Network 不同,由于 GlobalBGP Network 对于路由信息的聚合不提供任何的保证,并不推荐用来进行大规模部署,因为在大规模场景下零散的路由规则(跟 Pod 数目成正比)很有可能会对整个基础网络环境产生影响。但 GlobalBGP Network 可以做为 BGP Network 的扩展能力有限度地使用,以基于 BGP 网络协议的动态行为提供集群维度的 Pod IP 漂移能力(结合 指定 network type 分配 IP 的能力)