v1.2 之后,Kube-OVN 支持将 Pod IP 以 BGP 的路由协议向外进行广播。为了启用 BGP 相关功能需要安装 kube-ovn-speaker 并给需要对外广播 IP 的 Pod 增加相应的 annotation。

安装 kube-ovn-speaker

  1. 下载 kube-ovn-speaker yaml
  1. wget https://github.com/alauda/kube-ovn/blob/master/yamls/speaker.yaml
  1. 修改 yaml 中的 args 部分配置
  1. --neighbor-address=10.32.32.1 # 建立 bgp peers 的上游路由器地址
  2. --neighbor-as=65030 # 路由器的 AS 号
  3. --cluster-as=65000 # 容器网络的 AS 号
  1. 执行 yaml
  1. kubectl apply -f speaker.yaml

给 Pod 增加对应 annotation

  1. # 开启 BGP
  2. kubectl annotate pod sample ovn.kubernetes.io/bgp=true
  3.  
  4. # 禁用 BGP
  5. kubectl annotate pod sample ovn.kubernetes.io/bgp-