前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Kube-OVN高级功能 | 支持 BGP

Kube-OVN高级功能 | 支持 BGP

作者头像
灵雀云
发布2023-03-27 11:17:34
发布2023-03-27 11:17:34
1K00
代码可运行
举报
运行总次数:0
代码可运行

" 如果你怀念 SDN 领域丰富的网络能力却在云原生领域苦苦追寻而不得,那么 Kube-OVN 将是你的最佳选择。本系列我们将逐个介绍Kube-OVN高级功能的工作原理及使用路径,帮你尽快征服容器网络难题!"

Kube-OVN 支持将 Pod 或 Subnet 的 IP 地址通过 BGP 协议向外部进行路由广播,从而使得 Pod IP 可以直接对外暴露。如果需要使用该功能,需要在特定节点安装kube-ovn-speaker并对需要对外暴露的 Pod 或 Subnet 增加对应的 annotation。

安装 kube-ovn-speaker

kube-ovn-speaker内使用 GoBGP 对外发布路由信息,并将访问暴露地址的下一跳路由指向自身。

由于部署kube-ovn-speaker的节点需要承担回程流量,因此需要选择特定节点进行部署:

代码语言:javascript
代码运行次数:0
运行
复制
kubectl label nodes speaker-node-1 ovn.kubernetes.io/bgp=true
kubectl label nodes speaker-node-2 ovn.kubernetes.io/bgp=true

当存在多个 kube-ovn-speaker 实例时,每个实例都会对外发布路由,上游路由器需要支持多路径 ECMP。

下载对应 yaml:

代码语言:javascript
代码运行次数:0
运行
复制
wget https://raw.githubusercontent.com/kubeovn/kube-ovn/release-1.10/yamls/speaker.yaml

修改 yaml 内相应配置:

代码语言:javascript
代码运行次数:0
运行
复制
--neighbor-address=10.32.32.1
--neighbor-as=65030
--cluster-as=65000
  • neighbor-address: BGP Peer 的地址,通常为路由器网关地址。
  • neighbor-as: BGP Peer 的 AS 号。
  • cluster-as: 容器网络的 AS 号。

部署 yaml:

代码语言:javascript
代码运行次数:0
运行
复制
kubectl apply -f speaker.yaml

发布 Pod/Subnet 路由

如需使用 BGP 对外发布路由,首先需要将对应 Subnet 的natOutgoing设置为false,使得 Pod IP 可以直接进入底层网络。

增加 annotation 对外发布:

代码语言:javascript
代码运行次数:0
运行
复制
kubectl annotate pod sample ovn.kubernetes.io/bgp=truekubectl annotate subnet ovn-default ovn.kubernetes.io/bgp=true

删除 annotation 取消发布:

代码语言:javascript
代码运行次数:0
运行
复制
kubectl annotate pod perf-ovn-xzvd4 ovn.kubernetes.io/bgp-
kubectl annotate subnet ovn-default ovn.kubernetes.io/bgp-

BGP 高级选项

kube-ovn-speaker支持更多 BGP 参数进行高级配置,用户可根据自己网络环境进行调整:

  • announce-cluster-ip: 是否对外发布 Service 路由,默认为 false
  • auth-password: BGP peer 的访问密码。
  • holdtime: BGP 邻居间的心跳探测时间,超过改时间没有消息的邻居将会被移除,默认为 90 秒。
  • graceful-restart: 是否启用 BGP Graceful Restart。
  • graceful-restart-time: BGP Graceful restart time 可参考 RFC4724 3。
  • graceful-restart-deferral-time: BGP Graceful restart deferral time 可参考 RFC4724 4.1。

更多功能介绍,请点击阅读原文。

社区动态

Kube-OVN中文文档:

最全操作指南,Kube-OVN 中文文档来了!

Kube-OVN版本更新:

Kube-OVN v1.11 正式发布:新增Overlay 和 Underlay 子网互通、自定义 VPC 内部负载均衡等功能

Kube-OVN社区实践:

01 社区实践 | F5 CES集成Kube-OVN,提供丰富的出向控制策略

02 社区实践 | OpenMesh SDN白盒交换机结合Kube-ovn实现虚实互联

03 社区实践 | Kube-OVN实现K8s多租户网络管理

04 社区实践 | KubeVirt通过Kube-OVN接入Underlay网络

05 社区实践 | Kube-OVN为KubeVirt虚拟机分配固定IP

06 社区实践 | 使用 VPP 为 Kube-OVN VPC 提供高性能网关

Kube-OVN 项目资料

官网:

https://www.kube-ovn.io

GitHub:

https://github.com/kubeovn/kube-ovn

Slack:

https://kube-ovn-slackin.herokuapp.com

关于Kube-OVN

Kube-OVN 是一款由灵雀云自主研发的企业级云原生 Kubernetes 容器网络编排系统,它通过将 OpenStack 领域成熟的网络功能平移到 Kubernetes,极大增强了 Kubernetes 容器网络的安全性、可运维性、管理性和性能,为 Kubernetes 生态的落地带来了独特的价值。

2021年初,Kube-OVN成为全球范围内首个被CNCF纳入托管的开源CNI网络项目,也是中国容器公司首次将独立设计研发的项目成功贡献进入CNCF基金会,同时,它也是木兰社区旗下的明星项目之一。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生技术社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • BGP 高级选项
  • kube-ovn-speaker支持更多 BGP 参数进行高级配置,用户可根据自己网络环境进行调整:
  • Kube-OVN v1.11 正式发布:新增Overlay 和 Underlay 子网互通、自定义 VPC 内部负载均衡等功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档