Kubernetes Calico BGP RR网络规划

最近要组建物理机房,云上所有k8s集群全部迁移到物理机房,这里记录下基于Calico BGP 三层路由的组网方案. 适用于高可用、跨vlan、跨机房.

k8s集群组网说明:

  1. 不再考虑跨云,需要考虑跨VLAN、跨机房: 核心交换机与接k8s集群的RR节点互为EBGP邻接关系,k8s集群内的Pod路由通过RR作为AS边缘节点宣告给对端EBGP peer,并在RR节点开启next hop keep 始终不改变宣告的网络下一条地址.
  2. RR节点之间不建立IBGP以及RR连接,RR节点中的Pod网络,通过核心交换机访问
  3. 考虑服务IP暴露,服务IP地址规划:10.96.0.0/14,默认开启service网络在k8s集群外可达,通过RR宣告给对端EBGP节点
  4. Pod IP地址总池:10.88.0.0/13
  5. 每个节点最多254个Pod IP,24的子网掩码.
  6. 建议增多RR部署数量:目前规划三台master节点为RR
    • 高可用考虑
    • 负载及性能考虑
    • 可增大集群内、跨集群等东西向带宽,防止流量瓶颈
  7. RR集群可per tor、per rack(s)、per dc规划部署

物理网络组网说明

  1. 每组RR-CLUSTER视为底层物理网络的一个bgp peer-group,需提供每台RR标签
  2. 底层物理网络严格控制容器网络路由广播,防止bgp震荡
  3. 底层物理网络只接收容器网络路由宣告,不对容器网络开放路由宣告

实际组网架构:


Kubernetes Calico BGP RR网络规划_第1张图片
image.png

veth 策略路由

Kubernetes Calico BGP RR网络规划_第2张图片
image.png

FAQs:

  1. 为什么跟Spine建立eBGP关系
    便于k8s节点的灵活性,只要k8s节点上层leaf交换机与Spine交换机建立了BGP就能学习到k8s整个集群的容器路由。

你可能感兴趣的:(Kubernetes Calico BGP RR网络规划)