SDN控制器OVN(一)环境部署,节点连接

概述

OVN - Open Virtual Network,是一种SDN控制器,⽀持GRE, VXLAN, STT, Geneve四种overlay数据包

从层次上分为三层,分别是南向接口层,北向接口层,控制平面层。
北向接口层通过API处理其他控制平台例如K8S,OpenStack等平台请求
南向接口层通过openflow实现流表下发
控制平面层负责向北向接口的请求翻译为南向的请求进行下发

OVN结构概览

环境:

VMwareWorkstation17Pro

CentOS Linux release 7.9.2009 (Core)

——4G内存,20G硬盘,4core

建议采用template部署,写完yum源了再克隆

node01 ip:192.168.203.141

node02 ip:192.168.203.142

central ip:192.168.203.143

本次实验拓扑

OVN-Central节点安装

#官⽅安装⽂档 https://github.com/ovnorg/ovn/blob/main/Documentation/intro/install/general.rst

#删除原repo

rm -rf /etc/yum.repos.d/*

#上传软件源repo,这些文件我放在资源了

CentOS-Base.repo

CentOS-NFS-Ganesha-28.repo

CentOS-QEMU-EV.repo

CentOS-Ceph-Nautilus.repo

CentOS-OpenStack-train.repo

CentOS-Storagecommon.repo

#系统升级 - 安装软件包 - 启动服务

yum clean all && yum makecache

yum upgrade -y --nogpgcheck

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test openvswitch-ovn-common openvswitch-ovn-host libibverbs --nogpgcheck

systemctl start openvswitch.service && systemctl enable openvswitch.service

yum install -y ovn-central --nogpgcheck

systemctl start ovn-northd.service && systemctl enable ovn-northd.service

systemctl start ovn-controller.service && systemctl enable ovncontroller.ser

#关闭防⽕墙

systemctl disable firewalld --now

#检查

ovs-vsctl show

ovn-nbctl show

ovn-sbctl show

systemctl is-active ovn-northd.service

systemctl is-active ovn-controller.service

#OVN-Central连接数据库

ovn-nbctl set-connection ptcp:6641:192.168.203.143 #6641端⼝⽤于监听OVN北向数据库

ovn-sbctl set-connection ptcp:6642:192.168.203.143 #6642端⼝⽤于监听OVN南向数据库

OVN-Node节点安装

#删除原repo

rm -rf /etc/yum.repos.d/*

#上传软件源

repo CentOS-Base.repo CentOS-NFS-Ganesha-28.repo CentOS-QEMU-EV.repo

CentOS-Ceph-Nautilus.repo CentOS-OpenStack-train.repo CentOS-Storagecommon.repo

#系统升级 - 安装软件包 - 启动服务

yum clean all && yum makecache

yum upgrade -y --nogpgcheck

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test openvswitch-ovn-common openvswitch-ovn-host libibverbs --nogpgcheck

systemctl enable openvswitch.service --now

systemctl enable ovn-controller.service --now

#验证

systemctl is-active openvswitch.service

systemctl is-active ovn-controller.service

#关闭防⽕墙 

systemctl disable firewalld --now

systemctl status firewalld

#安装libvirt yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python virtmanager libvirt-client virt-install virt-viewer --nogpgcheck

systemctl enable libvirtd --now

node节点连接控制器

#ovn-remote:指定南向数据库连接地址

#ovn-encap-ip:指定ovs/controller本地ip

#ovn-encap-type:指定隧道协议,这⾥⽤的是geneve

#system-id:节点标识ID

#node01

#添加链接控制器(链接到控制器南向接口)

ovs-vsctl set open . external-ids:ovn-remote=tcp:192.168.203.143:6642

#设置OVN系统ID,名字显示为Chassis

ovs-vsctl set open . external-ids:system-id=node01

#设置OVN控制消息封装模式 ,可以是VXLAN/GENEVE

ovs-vsctl set open . external-ids:ovn-encap-type=geneve

#设置OVN本地连接地址,该地址⽤于⼤⼆层外层封装

ovs-vsctl set open . external-ids:ovn-encap-ip=192.168.203.141

#node2同理

ovs-vsctl set open . external-ids:ovn-remote=tcp:192.168.203.143:6642

ovs-vsctl set open . external-ids:system-id=node02

ovs-vsctl set open . external-ids:ovn-encap-type=geneve

ovs-vsctl set open . external-ids:ovn-encap-ip=192.168.203.142

#node2查看,⾃动建⽴⽹桥[br-int],隧道口网口,并从OVN自动下发z

参考资料

http://www.openvswitch.org//support/slides/OVN-Vancouver.pdf
https://benpfaff.org/~blp/ovn-lbnl.pdf
https://www.openvswitch.org/support/slides/OVN_Barcelona.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心葉493

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值