当前位置: 首页 > news >正文

Cilium + ebpf 系列文章- (七)Cilium-BGP-自定义定时器-ebgp多跳-优雅重启-MD5加密-传播团体字

一、自定义定时器

        这里指的是自定义:

Keepalive Interval:   缺省值为30秒。Keepalive用于维护邻居关系,如果在协商的保持时间内没有收到Keepalive消息,则BGP将断开邻居连接。

Hold Time:缺省值是Keepalive时间的3倍,即90秒。这是BGP在关闭连接之前从对等体发来的连续消息之间等待的时间。换句话说,如果连续3条keepalive消息丢失,我们将假定远程对等端不可达。

Connect Retry:缺省值为120秒。在BGP对等过程中,如果初次尝试TCP连接失败,则使用连接重试定时器。它决定了BGP路由器与BGP对等体建立TCP连接的后续尝试时间间隔。

        

---
apiVersion: "cilium.io/v2alpha1"
kind: CiliumBGPPeerConfig
metadata:name: peer-config-generic
spec:families:- afi: ipv4safi: unicastadvertisements:matchLabels:advertise: "pod-cidr"timers:connectRetryTimeSeconds: 12holdTimeSeconds: 9keepAliveTimeSeconds: 3

        通过CRD:CiliumBGPPeerConfig中的timers字段来修改。

二、ebpf多跳

        *默认只有1跳,即端到端

---
apiVersion: "cilium.io/v2alpha1"
kind: CiliumBGPPeerConfig
metadata:name: peer-config-generic
spec:families:- afi: ipv4safi: unicastadvertisements:matchLabels:advertise: "pod-cidr"timers:connectRetryTimeSeconds: 12holdTimeSeconds: 9keepAliveTimeSeconds: 3ebgpMultihop: 10

         *修改CiliumBGPPeerConfig.ebgpMultihop: 10

 

*修改后生效。

三、 优雅重启

        默认是没有开启优雅重启功能的,BGP控制层面断了,工作节点上的路由也没有了。

        按道理,BGP的控制器重启不应该影响工作节点的路由信息。

        所以需要开启BGP控制层面的优雅重启。

---
apiVersion: "cilium.io/v2alpha1"
kind: CiliumBGPPeerConfig
metadata:name: peer-config-generic
spec:families:- afi: ipv4safi: unicastadvertisements:matchLabels:advertise: "pod-cidr"timers:connectRetryTimeSeconds: 12holdTimeSeconds: 9keepAliveTimeSeconds: 3ebgpMultihop: 10gracefulRestart:enabled: truerestartTimeSeconds: 20

*CiliumBGPPeerConfig:

        gracefulRestart:
    enabled: true
    restartTimeSeconds: 20

通过配置 gracefulRestart,您可以确保在 BGP 对等体重启过程中,数据平面的流量不中断,并且在指定的重启时间窗口(restartTimeSeconds)内,BGP 会话能够自动恢复并保持活动状态。这有助于提高网络的稳定性和可用性,特别是在计划内的维护或软件升级期间。

四、MD5加密

创建secret:

kubectl -n kube-system create secret generic \--type=string secretname \--from-literal=password=my-secret-password

应用:

*是BGP建立邻居的两端都要应用。

---
apiVersion: "cilium.io/v2alpha1"
kind: CiliumBGPPeerConfig
metadata:name: peer-config-generic
spec:families:- afi: ipv4safi: unicastadvertisements:matchLabels:advertise: "pod-cidr"timers:connectRetryTimeSeconds: 12holdTimeSeconds: 9keepAliveTimeSeconds: 3ebgpMultihop: 10gracefulRestart:enabled: truerestartTimeSeconds: 20authSecretRef: secretname

抓包:

 

*在准备建立邻居的时候会包含MD5的信息。 

五、传播路由带团体属性

---
apiVersion: "cilium.io/v2alpha1"
kind: CiliumBGPAdvertisement
metadata:name: pod-cidrlabels:advertise: pod-cidr
spec:advertisements:- advertisementType: "PodCIDR"attributes:communities:standard:- 65001:100


http://www.mrgr.cn/news/38226.html

相关文章:

  • linux中的软件包格式与库文件
  • OpenStack Yoga版安装笔记(十四)启动一个实例
  • BFS 解决最短路问题详解
  • 什么是具身智能仿真平台
  • crypto-js解密报错malformed utf-8 data
  • [半导体检测-9]:KLA Surfscan SP1 SP3 SP5 SP7各自使用的激光器光源有哪些?
  • 700. 二叉搜索树中的搜索
  • 大模型与智能体的市场调研分析
  • MySQL 索引选择详解
  • 什么东西可以当做GC Root,跨代引用如何处理?
  • 学生台灯买个什么样的好?一文读懂小学生台灯哪个品牌更护眼
  • 微调大模型(Finetuning Large Language Models)—Training tuning(五)
  • 第 18 章 从猫爷借钱说起——事务简介
  • Cadence23中的一些设置
  • 多路复用和事件轮询机制
  • 大厂面试真题-什么是CAS单点登录?什么原理
  • jupyter快捷键
  • 【JavaEE初阶】深入理解wait和notify以及线程饿死的解决
  • MySQL - 单表查询
  • QQ机器人搭建