Kolla多节点环境安装OVN

安装OVN组件

控制节点

### 安装ovn-northd
# wget https://copr.fedorainfracloud.org/coprs/leifmadsen/ovs-master/repo/epel-7/leifmadsen-ovs-master-epel-7.repo -O /etc/yum.repos.d/ovs.repo
# yum install openvswitch-ovn-central openvswitch-ovn-host -y
# docker rm -f neutron_metadata_agent neutron_dhcp_agent neutron_openvswitch_agent openvswitch_vswitchd openvswitch_db

# cp /var/lib/docker/volumes/openvswitch_db/_data/conf.db /etc/openvswitch/
### 第一次启动会报错,删掉/etc/openvswitch/下面的backup数据库即可
# systemctl start ovn-controller
# systemctl enable ovn-controller
# systemctl start ovn-northd
# systemctl enable ovn-northd
# ovs-vsctl set open . external-ids:ovn-remote=tcp:92.0.0.11:6642
# ovs-vsctl set open . external-ids:ovn-encap-type=geneve,vxlan
# ovs-vsctl set open . external-ids:ovn-encap-ip=92.0.0.11
# ovs-vsctl set open . external-ids:ovn-bridge-mappings=physnet1:br-ex
# systemctl restart ovsdb-server
# systemctl restart ovn-controller
# systemctl restart ovn-northd

# ovs-vsctl del-br br-tun
# ovs-vsctl del-port br-int patch-tun
# ovs-vsctl del-controller br-int
# ovs-vsctl del-controller br-ex
# ovs-vsctl set bridge br-int protocols=[]

# vim /etc/kolla/neutron-server/ml2_conf.ini
[ml2]
mechanism_drivers = ovn
type_drivers = local,flat,vlan,geneve
tenant_network_types = geneve
extension_drivers = port_security
overlay_ip_version = 4

[ml2_type_geneve]
vni_ranges = 1:65536
max_header_size = 38

[securitygroup]
enable_security_group = true

[ovn]
ovn_nb_connection = tcp:92.0.0.11:6641
ovn_sb_connection = tcp:92.0.0.11:6642
ovn_l3_mode = False
ovn_l3_scheduler = chance
ovn_native_dhcp = True
neutron_sync_mode = repair

### 我的neutron_server镜像自己build的删除了neutron用户
# docker exec -it neutron_server yum install -y python-networking-ovn
# docker restart neutron_server

# vim /etc/kolla/neutron-l3-agent/l3_agent.ini
external_network_bridge = br-ex
# docker restart neutron_l3_agent

### 可以重启下nova服务,不过我为了简单就直接重启机器
# reboot

计算节点

### 安装ovn-controller
# wget https://copr.fedorainfracloud.org/coprs/leifmadsen/ovs-master/repo/epel-7/leifmadsen-ovs-master-epel-7.repo -O /etc/yum.repos.d/ovs.repo
# yum install openvswitch-ovn-host -y
# docker rm -f neutron_openvswitch_agent openvswitch_vswitchd openvswitch_db

# cp /var/lib/docker/volumes/openvswitch_db/_data/conf.db /etc/openvswitch/
### 第一次启动会报错,删掉/etc/openvswitch/下面的backup数据库即可
# systemctl start ovn-controller
# systemctl enable ovn-controller
# ovs-vsctl set open . external-ids:ovn-remote=tcp:92.0.0.11:6642
# ovs-vsctl set open . external-ids:ovn-encap-type=geneve,vxlan
# ovs-vsctl set open . external-ids:ovn-encap-ip=92.0.0.12
# systemctl restart ovn-controller

# ovs-vsctl del-br br-tun
# ovs-vsctl del-port br-int patch-tun
# ovs-vsctl del-controller br-int
# ovs-vsctl del-controller br-ex
# ovs-vsctl set bridge br-int protocols=[]

### 可以重启下nova服务,不过我为了简单就直接重启机器
# reboot

扩展知识

OVS所有服务都使用/usr/share/openvswitch/scripts/ovs-ctl脚本启动

问题处理

ovsdb-server启动异常,绑定端口失败

# systemctl status ovsdb-server
Jun 08 09:43:42 localhost ovsdb-server[723]: ovs|00972|socket_util|ERR|6640:92.0.0.12: bind: Permission denied

### 解决办法就是关闭selinux
# vim /etc/selinux/config
SELINUX=disabled

转载于:https://www.cnblogs.com/silvermagic/p/7666083.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kolla是一个OpenStack部署工具,可以通过Kolla部署OVS和OVN。 以下是在Kolla部署OVN的基本步骤: 1. 安装Kolla-Ansible 按照Kolla-Ansible的官方文档安装。 2. 创建配置文件 在/etc/kolla目录下创建globals.yml和passwords.yml两个文件。在globals.yml中定义一些全局变量,如下所示: ``` kolla_base_distro: "centos" kolla_install_type: "binary" kolla_internal_vip_address: "192.168.1.10" network_interface: "eno1" neutron_plugin_agent: "ovn" ``` 这些变量的含义如下: - kolla_base_distro:指定使用的Linux发行版,这里使用的是CentOS。 - kolla_install_type:指定使用的安装类型,这里使用的是二进制包安装。 - kolla_internal_vip_address:指定OpenStack内部的虚拟IP地址。 - network_interface:指定OpenStack使用的网络接口。 - neutron_plugin_agent:指定使用的网络代理,这里使用的是OVN。 在passwords.yml中定义一些密码,如下所示: ``` keystone_admin_password: "keystone_admin_password" neutron_ovn_metadata_agent_shared_secret: "neutron_ovn_metadata_agent_shared_secret" ``` 这些密码是在安装过程中需要使用的。 3. 部署OVS和OVN 使用Kolla-Ansible部署OVS和OVN: ``` $ sudo kolla-ansible -i <inventory-file> deploy ``` 其中,`<inventory-file>`是Kolla-Ansible使用的主机清单文件。 4. 配置OVN部署完成后,需要配置OVN。可以使用OpenStack的Dashboard或者命令行工具来进行配置。具体配置方法可以参考OVN的官方文档。 5. 启动服务 在配置完成后,需要启动OpenStack的服务: ``` $ sudo kolla-ansible -i <inventory-file> post-deploy ``` 这样就完成了在Kolla部署OVN的过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值