已发表的技术专栏
0 grpc-go、protobuf、multus-cni 技术专栏 总入口
4 grpc、oauth2、openssl、双向认证、单向认证等专栏文章目录
推荐使用Google Chrome浏览器观看
本文主要是简单介绍一下multus-cni插件中的几个主要的资源对象
,大概代表什么意思。
主要资源对象:
- NetConf
- DelegateNetConf
- NetworkStatus
- NetworkAttachmentDefinition
- NetworkAttachmentDefinitonSpec
- NetworkSelectionElement
了解了这些资源对象后,看源码的时候
,代码跟实际场景
对应起来,不至于模糊。
1、NetConf |
NetConf资源对象,主要是用来表示以下几方面的内容:
- multus-cni的配置文件的内容,如00-multus-cni.conf里的内容,会初始化NetConf里的某些属性
- 会保存运用时的资源状态,如容器ID,MAC
- 会保存
所有创建网络
的信息,如calico网络信息,flannel网络信息等等 - 命名空间的设置
- 日志设置
- 配置文件位置信息
- 二进制可执行文件位置信息,如构建的multus-cni二进制文件存储到什么位置
等
NetConf代表的是整体、全局的网络资源信息
2、DelegateNetConf |
DelegateNetConf资源对象,应该是每个网络的资源情况,如
- calico网络的信息
- 是否是主CNI插件
等等
也就是说,
每个DelegateNetConf资源实例,都代表一个网络资源状态,
- 一些属性是静态属性,不变的,在创建网络资源时已经定好的,如calico网络属性
- 一些属性是动态属性,如:对网关的设置,带宽的设置,端口的设置
3、NetworkStatus |
4、NetworkAttachmentDefinition |
将每一个网络资源的静态信息,如cniVersion,type,ipam的设置,以CRD方式注册到kubernetes里。
5、NetworkAttachmentDefinitonSpec |
6、NetworkSelectionElement |
下一篇文章