基于eni弹性网卡实现k8s自研网络组件

1

13e4d2c63422597d965a4bd6ebd88218.gif

CNI相关介绍

1. CNI概念

Container Network Interface,容器网络接口,这个接口是 由 CRI 发起调用。接口的提供形式是 exec 二进制文件,重定向输入输出(元信息 version),以及设置环境变量(各种关键参数,pod name、namespace、netns 等)。即,将固定结构入参序列化成 json 字符串,重定向给 cni 二进制文件,二进制文件执行完从标准输出返回一个固定结构 json 序列化的结果。即,完成一次 cni 调用。官方文档详见https://www.cni.dev/docs/spec/#section-4-plugin-delegation

3b6fd8cf7361ad7eb8ccb17d0dc20281.png

2. 常见实现思路

二进制、脚本:containernetworking/plugins: Some reference and example networking plugins, maintained by the CNI team(请复制粘贴后打开)

cncf 官方带的 cni 实现,都是直接在二进制里实现的,用不同的 linux 内核特性,创建容器 network interface 支持不同的网络模式,如bridge,ipvlan,vlan等,cncf 自带的 ipam 有 dhcp、static、host-local 。

Plugins supplied:

Main: interface-creating
  • bridge: Creates a bridge, adds the host and the container to it.

  • ipvlan: Adds an ipvlan interface in the container.

  • loopback: Set the state of loopback interface to up.

  • macvlan: Creates a new MAC address, forwards all traffic to that to the container.

  • ptp: Creates a veth pair.

  • vlan: All

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值