openstack的部署t版——neutron组件(代码片段)

IHBOS IHBOS     2022-12-15     364

关键词:

OpenStack的部署(六)——Neutron组件


配置接: OpenStack的部署T版(五)——Nova组件

一、CT控制节点

CT VM:192.168.100.10 NAT:192.168.172.70

1、创建数据库neutron,并进行授权

mysql -u root -p
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';
flush privileges;
exit

2、创建用户、服务并赋权

创建neutron用户,用于在keystone做认证
openstack user create --domain default --password NEUTRON_PASS neutron

将neutron用户添加到service项目中拥有管理员权限
openstack role add --project service --user neutron admin

创建network服务,服务类型为network
openstack service create --name neutron --description "OpenStack Networking" network

3、注册API到neutron服务,给neutron服务关联端口,即添加endpoint

openstack endpoint create --region RegionOne network public http://ct:9696
 openstack endpoint create --region RegionOne network internal http://ct:9696	
 openstack endpoint create --region RegionOne network admin http://ct:9696

4、安装提供者网络(桥接)

ebtables包是用来管理iptables规则的

yum -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables conntrack-tools

修改主配置文件neutron.conf

cp -a /etc/neutron/neutron.conf,.bak
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak > /etc/neutron/neutron.conf

传参

openstack-config --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:NEUTRON_DBPASS@ct/neutron
openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router
openstack-config --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips true
openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes true
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes true
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password NEUTRON_PASS
openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp
openstack-config --set /etc/neutron/neutron.conf nova  auth_url http://ct:5000
openstack-config --set /etc/neutron/neutron.conf nova  auth_type password
openstack-config --set /etc/neutron/neutron.conf nova  project_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova  user_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova  region_name RegionOne
openstack-config --set /etc/neutron/neutron.conf nova  project_name service
openstack-config --set /etc/neutron/neutron.conf nova  username nova
openstack-config --set /etc/neutron/neutron.conf nova  password NOVA_PASS

修改 ML2 plugin 配置文件 ml2_conf.ini

cp -a /etc/neutron/plugins/ml2/ml2_conf.ini,.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/ml2_conf.ini.bak > /etc/neutron/plugins/ml2/ml2_conf.ini

传参

openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers  flat,vlan,vxlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers  linuxbridge,l2population
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers  port_security
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks  provider
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1:1000
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset  true

==修改 linux bridge network provider 配置文件 ==

cp -a /etc/neutron/plugins/ml2/linuxbridge_agent.ini,.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings  provider:ens33
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip 192.168.100.10
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver  neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

修改内核参数

echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
modprobe br_netfilter
sysctl -p

配置Linuxbridge接口驱动和外部网络网桥

cp -a /etc/neutron/l3_agent.ini,.bak
grep -Ev '^$|#' /etc/neutron/l3_agent.ini.bak > /etc/neutron/l3_agent.ini

openstack-config --set /etc/neutron/l3_agent.ini DEFAULT interface_driver linuxbridge

修改dhcp_agent 配置文件

cp -a /etc/neutron/dhcp_agent.ini,.bak
grep -Ev '^$|#' /etc/neutron/dhcp_agent.ini.bak > /etc/neutron/dhcp_agent.ini

openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT enable_isolated_metadata true

配置元数据代理、用于配置桥接与自服务网络的通用配置

cp -a /etc/neutron/metadata_agent.ini,.bak
grep -Ev '^$|#' /etc/neutron/metadata_agent.ini.bak > /etc/neutron/metadata_agent.ini

openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_host ct
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET

修改nova配置文件,用于neutron交互

openstack-config --set /etc/nova/nova.conf neutron url http://ct:9696
openstack-config --set /etc/nova/nova.conf neutron auth_url http://ct:5000
openstack-config --set /etc/nova/nova.conf neutron auth_type password
openstack-config --set /etc/nova/nova.conf neutron project_domain_name default
openstack-config --set /etc/nova/nova.conf neutron user_domain_name default
openstack-config --set /etc/nova/nova.conf neutron region_name RegionOne
openstack-config --set /etc/nova/nova.conf neutron project_name service
openstack-config --set /etc/nova/nova.conf neutron username neutron
openstack-config --set /etc/nova/nova.conf neutron password NEUTRON_PASS
openstack-config --set /etc/nova/nova.conf neutron service_metadata_proxy true
openstack-config --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret METADATA_SECRET

创建ML2插件文件符号连接
网络服务初始化脚本需要/etc/neutron/plugin.ini指向ML2插件配置文件的符号链接

 ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

初始化数据库

su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \\
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

5、重启相关服务

重启计算节点nova-api服务

systemctl restart openstack-nova-api.service

开启neutron服务、设置开机自启动

systemctl enable neutron-server.service \\
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \\
neutron-metadata-agent.service

systemctl start neutron-server.service \\
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \\
neutron-metadata-agent.service

netstat -anutp |grep 9696

因为配置了第三层L3网络服务、所以需要启动第三层服务

systemctl enable neutron-l3-agent.service
systemctl restart neutron-l3-agent.service

二、C1、C2计算节点操作

C1 VM:192.168.100.20 NAT:192.168.172.80
C2 VM:192.168.100.30 NAT:192.168.172.90

1、部署neutron服务

安装neutron即相关服务

yum -y install openstack-neutron-linuxbridge ebtables ipset conntrack-tools
#ipset:iptables的扩展,允许匹配规则的集合而不仅仅是一个IP

修改neutron.conf文件

cp -a /etc/neutron/neutron.conf,.bak
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak > /etc/neutron/neutron.conf

openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password NEUTRON_PASS
openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp

2、配置Linux网桥代理

修改Linuxbridge网桥配置文件

cp -a /etc/neutron/plugins/ml2/linuxbridge_agent.ini,.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak > /etc/neutron/plugins/ml2/linuxbridge_agent.ini

openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings  provider:ens33
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip 192.168.100.20
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver  neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

修改内核

echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf  #允许虚拟机的数据通过物理机出去
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
modprobe br_netfilter    #modprobe:用于向内核中加载模块或者从内核中移除模块。modprobe -r 表示移除
sysctl -p

修改nova.conf配置文件

openstack-config --set /etc/nova/nova.conf neutron auth_url http://ct:5000
openstack-config --set /etc/nova/nova.conf neutron auth_type password
openstack-config --set /etc/nova/nova.conf neutron project_domain_name default
openstack-config --set /etc/nova/nova.conf neutron user_domain_name default
openstack-config --set /etc/nova/nova.conf neutron region_name RegionOne
openstack-config --set /etc/nova/nova.conf neutron project_name service
openstack-config --set /etc/nova/nova.conf neutron username neutron
openstack-config --set /etc/nova/nova.conf neutron password NEUTRON_PASS

重启openstack-nova-compute服务,配置网络服务

systemctl restart openstack-nova-compute.service ###重新启动计算节点上的Nova服务

启动neutron网桥代理服务 设置开机自启动

systemctl enable neutron-linuxbridge-agent.service

systemctl start neutron-linuxbridge-agent.service

C2节点部署neutron服务(与C1节点相同)

验证服务组件ct节点

openstack extension list --network
openstack network agent list

总结

三个节点都需要配置neutron网络,以下为部署思路:
配置neutron组件的用户、认证、endpoint
设置提供者provider网络(这里是桥接模式)
① 配置二层网络
② 配置网桥(插件)
③ 优化内核
④ 配置网桥接口与外部对接
⑤ 修改DHCP配置(修改配置文件、代理)
⑥ 配置网桥与内部组件的配置(修改配置文件、代理)
设置neutron与nova对接的配置
其中C1、C2节点配置相同

openstack运维-部署neutron组件[t版](代码片段)

OpenStack运维-部署Neutron组件一、Neutron概述二、创建数据库neutron,并进行授权三、计算节点C1/C2四、CT验证服务组件一、Neutron概述Neutron是OpenStack项目中负责提供网络服务的组件,它基于软件定义网络的思想,实现了网... 查看详情

传统公司部署openstack(t版)简易介绍——neutron模块部署(代码片段)

传统公司部署OpenStack(t版)简易介绍(六)——neutron模块部署一、ct控制节点创建数据库neutron,并进行授权二、c1、c2节点(以c1为例)三、ct节点验证总结一、ct控制节点创建数据库neutron,并进行... 查看详情

openstack--t版部署(内容较多,需要细品(❁´◡`❁))!(代码片段)

OpenStack部署OpenStack环境部署设备准备部署OpenStack依赖环境控制节点配置MariaDB部署RabbitMQ部署memcachedKeystone组件部署Glance组件部署OpenStack-Nova模块部署OpenStack-Placement模块部署在ct节点安装部署Nova组件在计算节点配置nova服务Neutron组... 查看详情

openstack--t版部署(内容较多,需要细品(❁´◡`❁))!(代码片段)

OpenStack部署OpenStack环境部署设备准备部署OpenStack依赖环境控制节点配置MariaDB部署RabbitMQ部署memcachedKeystone组件部署Glance组件部署OpenStack-Nova模块部署OpenStack-Placement模块部署在ct节点安装部署Nova组件在计算节点配置nova服务Neutron组... 查看详情

openstack的部署t版——placement组件(代码片段)

OpenStack的部署(四)——Placement项目OpenStack-Placement组件部署1、创建数据库实例和数据库用户2、创建Placement服务用户和API的endpoint3、安装placement服务4、修改Apache配置文件5、测试总结OpenStack-Placement组件部署1、创建数据库... 查看详情

openstack_i版6.neutron部署

Neutron是不能自己创建网络的,它需要借助插件才能创建虚拟网桥、网卡依赖插件  配置ml2为核心插件 本次网络模型采用扁平化网络,不同的网络类型不同的配置,不同的使用方法    打开安全组功能  Linux... 查看详情

openstack运维-部署dashboard组件[t版](代码片段)

OpenStack运维-部署Dashboard组件一、安装dashboard和apache二、修改dashboard配置文件三、开始验证一、安装dashboard和apacheyum-yinstallopenstack-dashboardhttpd二、修改dashboard配置文件cd/etc/openstack-dashboard/#修改的内容如下:#修改local_setting 查看详情

openstack篇placement组件部署(t版)(代码片段)

文章目录一、placement组件作用二、部署创建数据库和用户授权创建placement组件的用户和API的endpoint赋予创建的用户admin权限创建一个placemeny服务类型为placement注册API到placement的服务安装placement服务和修改配置文件数据库导入文件... 查看详情

openstack部署

...制节点(controller)-增加networkingNetworking又叫做Neutron,是Openstack必不可少的组件,它其实是网络虚拟化的实现工具,可以让我们模拟出路由器、交换机、网卡等网络设备。关于Neutron的电子书 https://yeasy.gitbooks.io/openstack_understan... 查看详情

openstack运维-部署placement组件[t版](代码片段)

OpenStack运维-部署Placement组件一、创建数据库实例和数据库用户二、创建Placement服务用户和API的endpoint①创建placement用户②让placement用户对service项目拥有admin权限③创建一个placement服务,服务类型为placement④注册API端口到placeme... 查看详情

openstack的部署t版——dashboard(代码片段)

OpenStack的部署T版(八)——DashboardOpenStack-Dashboard组件部署重启服务(c1节点)重启ct节点的memcache服务验证操作OpenStack-Dashboard组件部署因为在CT控制节点已安装httpd服务,而Dashboard控制台也需要httpd支持,所... 查看详情

openstack-liberty版neutron服务部署(代码片段)

Neutron控制节点安装:node1:[[email protected]~]#yum-yinstallopenstack-neutronopenstack-neutron-ml2openstack-neutron-linuxbridgepython-neutronclientebtablesipsetNeturon注册:[[email protected]~]#source 查看详情

openstack网络服务neutron计算节点部署

...组件,安装的服务器是192.168.137.121、安装软件包yuminstall-yopenstack-neutron-linuxbridgeebtablesipset2、配置文件neutron.conf因为neutron控制节点跟计算节点配置几乎一样,直接复制控制节点的文件到计算节点,将不同的部分进行修改。scp/etc/ne... 查看详情

openstack运维-部署glance组件[t版](代码片段)

OpenStack运维-部署Glance组件一、创建数据库实例和数据库用户二、创建用户修改配置文件三、创建镜像服务API四、安装OpenStack-glance五、修改glance配置文件六、初始化glance数据库①开启服务②查看端口③赋予glance服务的读写权限七... 查看详情

传统公司部署openstack(t版)简易介绍——glance组件部署(代码片段)

传统公司部署OpenStack(t版)简易介绍(三)——Glance组件部署一、创建数据库实例和数据库用户二、创建用户、修改配置文件总结:Glance部署思路一、创建数据库实例和数据库用户mysql-uroot-pCREATEDATABASEglance;GRA... 查看详情

openstack部署neutron(代码片段)

controller   1.创建数据库并设置权限  mysql-uroot-p0330  CREATEDATABASEneutron;  GRANTALLPRIVILEGESONneutron.*TO‘neutron‘@‘localhost‘\IDENTIFIEDBY‘NEUTRON_DBPASS‘;   GRANTALLPRIVILEGESONneutron.*T 查看详情

openstack网络服务neutron介绍和控制节点部署

Neutron介绍neutron是openstack重要组件之一,在以前是时候没有neutron项目。早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个neutron。OpenStackNetworking网络:在实际的物理环境下,我们使用交换机或者集线器... 查看详情

openstack运维-部署nova组件[t版](代码片段)

OpenStack运维-部署Nova组件一、创建Nova数据库并执行授权操作二、管理Nova用户及服务①创建Nova用户②创建Nova服务③Nova关联endpoint端点④安装Nova组件⑤修改配置文件⑥初始化数据库⑦启动Nova服务并查看端口三、计算节点配置Nova服... 查看详情