Openstack架构构建及详解(5)--Neutron组件

| provider | Provider Network |

| agent | agent |

| quotas | Quota management support |

| dhcp_agent_scheduler | DHCP Agent Scheduler |

| l3-ha | HA Router extension |

| multi-provider | Multi Provider Network |

| external-net | Neutron external network |

| router | Neutron L3 Router |

| allowed-address-pairs | Allowed Address Pairs |

| extraroute | Neutron Extra Route |

| extra_dhcp_opt | Neutron Extra DHCP opts |

| dvr | Distributed Virtual Router |

±----------------------±----------------------------------------------+

2、配置neutron节点

1、编辑/etc/sysctl.conf文件,包含下列参数:

net.ipv4.ip_forward=1

net.ipv4.conf.all.rp_filter=0

net.ipv4.conf.default.rp_filter=0

[root@network ~]# sysctl -p

net.ipv4.ip_forward = 1

net.ipv4.conf.all.rp_filter = 0

net.ipv4.conf.default.rp_filter = 0

安装网络组件

yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch

编辑/etc/neutron/neutron.conf文件并完成下列操作:

a.编辑[database]小节,注释任何connection选项。因为network节点不能直接连接数据库。

b.编辑[DEFAULT]小节,配置RabbitMQ消息队列访问

[DEFAULT]

rpc_backend=rabbit

rabbit_host= controller.nice.com

rabbit_password= RABBIT_PASS

c.编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务访问:

[DEFAULT]

auth_strategy= keystone

[keystone_authtoken]

auth_uri= http://controller.nice.com:5000/v2.0

identity_uri= http://controller.nice.com:35357admin_tenant_name= service

admin_user= neutron

admin_password= NEUTRON_PASS

d.编辑[DEFAULT]小节,启用Modular Layer2(ML2)插件,路由服务和重叠IP地址功能:

[DEFAULT]

core_plugin= ml2

service_plugins= router

allow_overlapping_ips= True

e.(可选)在[DEFAULT]小节中配置详细日志输出。方便排错。

[DEFAULT]

verbose = True

ML2插件使用Open vSwitch(OVS)机制为虚拟机实例提供网络框架。编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成下列操作:

a.编辑[ml2]小节,启用flat和generic routing encapsulation (GRE)网络类型驱动,配置GRE租户网络和OVS驱动机制。

[ml2]

type_drivers= flat,gre

tenant_network_types= gre

mechanism_drivers= openvswitch

b.编辑[ml2_type_flat]小节,配置外部网络:[ml2_type_flat]

flat_networks= external

c.编辑[ml2_type_gre]小节,配置隧道标识范围:

[ml2_type_gre]

tunnel_id_ranges= 1:1000

d.编辑[securitygroup]小节,启用安全组,启用ipset并配置OVS防火墙驱动:

[securitygroup]

enable_security_group= True

enable_ipset= True

firewall_driver= neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

e.编辑[ovs]小节,配置Open vSwitch(OVS) 代理

[ovs]

local_ip= INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS

tunnel_type= gre

enable_tunneling= True

bridge_mappings= external:br-ex

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

[root@network ~]# systemctl enable openvswitch.service

ln -s ‘/usr/lib/systemd/system/openvswitch.service’ ‘/etc/systemd/system/multi-user.target.wants/openvswitch.service’

[root@network ~]# systemctl start openvswitch.service

[root@network ~]# ovs-vsctl add-br br-ex

[root@network ~]# ovs-vsctl add-port br-ex eno50332184

[root@network ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

[root@network ~]# cp/usr/lib/systemd/system/neutron-openvswitch-agent.service/usr/lib/systemd/system/neutron-openvswitch-agent.service.orig

-bash: cp/usr/lib/systemd/system/neutron-openvswitch-agent.service/usr/lib/systemd/system/neutron-openvswitch-agent.service.orig: No such file or directory

[root@network ~]# cp /usr/lib/systemd/system/neutron-openvswitch-agent.service /usr/lib/systemd/system/neutron-openvswitch-agent.service.orig

[root@network ~]# sed -i ‘s,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g’ /usr/lib/systemd/system/neutron-openvswitch-agent.service

[root@network ~]# systemctl enable neutron-openvswitch-agent.service neutron-l3-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-ovs-cleanup.service

ln -s ‘/usr/lib/systemd/system/neutron-openvswitch-agent.service’ ‘/etc/systemd/system/multi-user.target.wants/neutron-openvswitch-agent.service’

ln -s ‘/usr/lib/systemd/system/neutron-l3-agent.service’ ‘/etc/systemd/system/multi-user.target.wants/neutron-l3-agent.service’

ln -s ‘/usr/lib/systemd/system/neutron-dhcp-agent.service’ ‘/etc/systemd/system/multi-user.target.wants/neutron-dhcp-agent.service’

ln -s ‘/usr/lib/systemd/system/neutron-metadata-agent.service’ ‘/etc/systemd/system/multi-user.target.wants/neutron-metadata-agent.service’

ln -s ‘/usr/lib/systemd/system/neutron-ovs-cleanup.service’ ‘/etc/systemd/system/multi-user.target.wants/neutron-ovs-cleanup.service’

[root@network ~]# systemctl start neutron-openvswitch-agent.service neutron-l3-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

3、配置compute节点

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

4、验证安装

[root@controller ~]# neutron net-create ext-net --shared --router:external True --provider:physical_network external --provider:network_type flat

Created a new network:

±--------------------------±-------------------------------------+

| Field | Value |

±--------------------------±-------------------------------------+

| admin_state_up | True |

| id | f4314f21-5fc1-423b-b011-e5ad14de1767 |

| name | ext-net |

| provider:network_type | flat |

| provider:physical_network | external |

| provider:segmentation_id | |

| router:external | True |

| shared | True |

| status | ACTIVE |

| subnets | |

| tenant_id | dc4de4d7ecda4ed898b5e0d82809d2ad |

±--------------------------±-------------------------------------+

创建外部网络子网

[root@controller ~]# neutron subnet-create ext-net --name ext-subnet --allocation-pool start=100.100.100.12,end=100.100.100.240 --disable-dhcp --gateway 100.100.100.11 100.100.100.0/24

Created a new subnet:

±------------------±------------------------------------------------------+

| Field | Value |

±------------------±------------------------------------------------------+

| allocation_pools | {“start”: “100.100.100.12”, “end”: “100.100.100.240”} |

| cidr | 100.100.100.0/24 |

| dns_nameservers | |

| enable_dhcp | False |

| gateway_ip | 100.100.100.11 |

| host_routes | |

| id | 1b9c8211-ab2d-4e61-8839-7fc780d201c4 |

| ip_version | 4 |

| ipv6_address_mode | |

| ipv6_ra_mode | |

| name | ext-subnet |

| network_id | f4314f21-5fc1-423b-b011-e5ad14de1767 |

| tenant_id | dc4de4d7ecda4ed898b5e0d82809d2ad |

±------------------±------------------------------------------------------+

创建租户网络

[root@controller ~]# source demo-openrc.sh

[root@controller ~]# neutron net-create demo-net

Created a new network:

±----------------±-------------------------------------+

| Field | Value |

±----------------±-------------------------------------+

| admin_state_up | True |

| id | c882ea04-dde5-4df0-a407-01a2a8dd7743 |

| name | demo-net |

| router:external | False |

| shared | False |

| status | ACTIVE |

| subnets | |

| tenant_id | ab56bdec367e478cbdfbd1769f9c1649 |

±----------------±-------------------------------------+

在这里插入图片描述

测试

[root@controller ~]# neutron router-list

±-------------------------------------±------------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±------------±------+

| id | name | external_gateway_info | distributed | ha |

±-------------------------------------±------------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±------------±------+

| 5b51cc40-0b8f-45f8-958a-66887d38d6ec | demo-router | {“network_id”: “f4314f21-5fc1-423b-b011-e5ad14de1767”, “enable_snat”: true, “external_fixed_ips”: [{“subnet_id”: “1b9c8211-ab2d-4e61-8839-7fc780d201c4”, “ip_address”: “100.100.100.12”}]} | False | False |

±-------------------------------------±------------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±------------±------+

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。
当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。

更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。

更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务

[外链图片转存中…(img-ogB1CUbQ-1712658403023)]

[外链图片转存中…(img-SQ1mgoqI-1712658403024)]

[外链图片转存中…(img-hmoOQ3BW-1712658403024)]

[外链图片转存中…(img-pTyGKQP7-1712658403024)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenStack是一个开源的云计算平台,它的架构由一系列的组件和服务组成,用于构建和管理私有云和公有云环境。下面是对OpenStack架构的详细解释: 1. 控制节点(Controller Node):控制节点是OpenStack架构的核心组件,负责管理各种服务和资源。它包括以下服务: - Nova组件:负责计算资源的管理和虚拟机实例的创建、启动、停止和删除。 - Neutron组件:提供网络服务,负责虚拟网络的创建、管理和连接。 - Cinder组件:提供块存储服务,允许用户创建和管理虚拟机的持久性存储。 - Glance组件:提供镜像服务,用于存储和管理虚拟机镜像。 - Keystone组件:提供身份认证和授权服务,负责用户管理、权限控制和身份验证。 - Heat组件:提供编排服务,允许用户以模板方式定义和部署基础设施和应用。 - Swift组件:提供对象存储服务,用于存储非结构化数据。 - Horizon组件:提供Web界面,用于管理和监控OpenStack环境。 2. 计算节点(Compute Node):计算节点是负责运行虚拟机实例的主机,它提供计算资源和能力,并与控制节点通信以获取指令和配置。计算节点可以是物理服务器或者虚拟机。 3. 网络节点(Network Node):网络节点负责处理网络流量和连接,它提供网络服务和路由功能。它可以作为网络入口,并连接物理网络和虚拟网络。 4. 存储节点(Storage Node):存储节点负责存储和管理持久化数据,它提供块存储、对象存储和共享文件系统服务。 OpenStack架构允许用户根据需要灵活部署每个组件和服务。用户可以根据实际需求扩展和配置控制节点、计算节点、网络节点和存储节点,以创建适合自己的云计算环境。同时,OpenStack提供了丰富的API接口,使得开发人员可以通过编程方式操作和管理OpenStack环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值