美文网首页云计算
kube-ovn 对照 neutron ovn

kube-ovn 对照 neutron ovn

作者: cloudFans | 来源:发表于2022-09-28 08:41 被阅读0次

ovn架构
参考: https://www.ovn.org/support/dist-docs/ovn-architecture.7.html



                                         CMS                  ----  neutron|kube-ovn-controller
                                          |
                                          |
                              +-----------|-----------+
                              |           |           |
                              |     OVN/CMS Plugin    |
                              |           |           |
                              |           |           |       
                              |   OVN Northbound DB   |
                              |           |           |
                              |           |           |
                              |       ovn-northd      |
                              |           |           |
                              +-----------|-----------+
                                          |
                                          |
                                +-------------------+
                                | OVN Southbound DB |
                                +-------------------+
                                          |
                                          |
                       +------------------+------------------+
                       |                  |                  |
         HV 1          |                  |    HV n          |
       +---------------|---------------+  .  +---------------|---------------+
       |               |               |  .  |               |               |
       |        ovn-controller         |  .  |        ovn-controller         |
       |         |          |          |  .  |         |          |          |
       |         |          |          |     |         |          |          |
       |  ovs-vswitchd   ovsdb-server  |     |  ovs-vswitchd   ovsdb-server  |
       |                               |     |                               |
       +-------------------------------+     +-------------------------------+






# 1. 整理kube-ovn的服务并与上述拓扑对应

1. kube-ovn-controller     k8s cni 网络crd 控制平面:网络 crd 控制器,ipam,单点运行,主备模式,k8s leader选举
2. ovn-central       ovn-网络控制平面           接受逻辑流表,存入nb-db,经ovn-northd将逻辑流表转化为物理流表,存入ovn-sb-db
包含: 
ovn-nb-db  raft 选举,全量快照同步,磁盘最好上ssd
ovn-northd
ovn-sb-db  raft 选举,全量快照同步,磁盘最好上ssd

另一个方案,目前同步功能虽然存在,但是受网络波动,磁盘性能等异性相,以及全量快照同步的方式影响,单节点维护也是一个非常靠谱的方案。
类似neutron, kube-ovn也有从数据库(etcd)恢复网络控制平面数据的方案。 
当然这种方案可能恢复的时间慢点,适合私有云场景。 
公有云大集群还是需要深入底层提供快照增量同步的方式,提高同步效率

ovn-northd 承上启下  上承 nb-db,下接 sb-db
这三个组件确实是ovn 控制平面的核心,所以命名central
3. ovs-ovn   ovn 网络转发平面
ovn-controller  从sb-db 同步物理流表
ovs-vswitchd    软件交换机
ovsdb-server    面向流表的持久化数据库,物理机重启后,可直接恢复网络功能

## 位于每一个节点


4. kube-ovn-cni
该组件用于下发kube-ovn cni
同时为kube-ovn cni提供ipam功能,有部分qos逻辑好像在这里面实现



其实ovn-controller有两种角色,一种是只负责大二层的,另一种还提供公网网关snat功能的,在neutron里面前者就是ovn-controller,后者叫做ovn-gw-controller
其实主要在于ovn-controller对应的chassis是否加入到ha chassis group,绑定到lrp。



# 2. 整理neutron-ovn的服务并与上述拓扑对应



# 集群ovn agent 

# 控制(网络)节点

(py3env) [root@control01 ~]# neutron agent-list | grep -v compute
+--------------------------------------+------------------------------+------------+-------------------+-------+----------------+----------------------------+
| id                                   | agent_type                   | host       | availability_zone | alive | admin_state_up | binary                     |
+--------------------------------------+------------------------------+------------+-------------------+-------+----------------+----------------------------+
| control02                            | OVN Controller Gateway agent | control02  |                   | :-)   | True           | ovn-controller             |
| 76f8382f-8af1-4eb7-85da-82f05952013a | OVN Metadata agent           | control02  |                   | :-)   | True           | neutron-ovn-metadata-agent |
+--------------------------------------+------------------------------+------------+-------------------+-------+----------------+----------------------------+

(py3env) [root@control01 ~]# neutron agent-list | grep  compute010
+--------------------------------------+------------------------------+------------+-------------------+-------+----------------+----------------------------+
| compute010                           | OVN Controller agent         | compute010 |                   | :-)   | True           | ovn-controller             |
| 190b3f77-8111-48f5-a25f-0ee19fa7a3f8 | OVN Metadata agent           | compute010 |                   | :-)   | True           | neutron-ovn-metadata-agent |
+--------------------------------------+------------------------------+------------+-------------------+-------+----------------+----------------------------+


# controller01
neutron_server

# control02
neutron_server
neutron_ovn_metadata_agent

ovn_northd
ovn_sb_db
ovn_nb_db

ovn_controller  # ovn gw 节点,负责网关
openvswitch_vswitchd
openvswitch_db

# compute
neutron_ovn_metadata_agent

ovn_controller # 仅负责大二层
openvswitch_vswitchd
openvswitch_db

相关文章

网友评论

    本文标题:kube-ovn 对照 neutron ovn

    本文链接:https://www.haomeiwen.com/subject/uwufartx.html