OpenStack私有网络的部署

Posted Tuki_a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack私有网络的部署相关的知识,希望对你有一定的参考价值。

OpenStack网络服务简介

OpenStack Networking(neutron),允许创建、插入接口设备,这些设备由其他的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。

它包含下列组件:
1、neutron-server
接收和路由API请求到合适的OpenStack网络插件,以达到预想的目的。

2、OpenStack网络插件和代理
插拔端口,创建网络和子网,以及提供IP地址,这些插件和代理依赖于供应商和技术而不同,OpenStack网络基于插件和代理为Cisco 虚拟和物理交换机、NEC OpenFlow产品,Open vSwitch,Linux bridging以及VMware NSX 产品穿线搭桥。
常见的代理L3(3层),DHCP(动态主机IP地址),以及插件代理。

3、消息队列
大多数的OpenStack Networking安装都会用到,用于在neutron-server和各种各样的代理进程间路由信息。也为某些特定的插件扮演数据库的角色,以存储网络状态

OpenStack网络主要和OpenStack计算交互,以提供网络连接到它的实例。

对于任意一个给定的网络都必须包含至少一个外部网络。不像其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种OpenStack安装之外的能从物理的,外部的网络访问的视图。外部网络上的IP地址可供外部网络上的任意的物理设备所访问

外部网络之外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机

更多内容参照官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/common/get_started_networking.html

部署环境

我已经部署好了OpenStack平台并且装了可视化工具。可参照我之前的文章

OpenStack平台的搭建:https://blog.csdn.net/m0_55005311/article/details/119750200?spm=1001.2014.3001.5501
OpenStack可视化:https://blog.csdn.net/m0_55005311/article/details/119773544?spm=1001.2014.3001.5501

私有网络部署

控制端部署

配置服务组件
配置步骤参考官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-controller-install-option2.html

[root@controller ~]# vim /etc/neutron/neutron.conf


启用Modular Layer 2 (ML2)插件,路由服务和重叠的IP地址

[root@controller ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini


Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则

[root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population

查看有哪些模块,查看配置有没有问题

[root@controller ~]# grep -v ^# /etc/neutron/plugins/ml2/linuxbridge_agent.ini | uniq


Layer-3代理为私有虚拟网络提供路由和NAT服务,配置Linuxbridge接口驱动和外部网络网桥

[root@controller ~]# vim /etc/neutron/l3_agent.ini

重启Linuxbridge代理和neutron-server

[root@controller ~]# systemctl restart neutron-server.service   neutron-linuxbridge-agent.service
[root@controller ~]# systemctl enable --now neutron-l3-agent.service
[root@controller ~]# source admin-openrc 		#切换到admin身份
[root@controller ~]# neutron agent-list			#列出代理端,如下添加成功

计算节点部署

计算节点配置,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population

[root@compute1 ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
参考链接:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-compute-install-option2.html

重启Linuxbridge代理,列出代理以验证启动 neutron 代理是否成功

[root@compute1 ~]# systemctl restart neutron-linuxbridge-agent.service

图形化部署创建私有网络

编辑配置文件支持3层网络服务

[root@controller ~]# vim /etc/openstack-dashboard/local_settings


然后浏览器以demo用户身份重新登录一下即可,创建一个私有网络

如图填写即可,ip地址随意,不和本机的ip冲突即可


到网络拓扑看一下创建成功,但没有和公网连起来

创建路由

进行如图操作创建路由

要设置网关为外网,但因为我们的公共网络在设置时没有设置为外部的,所以不能添加进去

切换用户到admin,编辑public网络设置为外部的

切换用户到demo添加网关

这时再到网络拓扑看已经将公网和路由连起来了

通过路由将私网和公网连接起来

给路由增加一个私有网络的接口

路由器就得到了一个私网ip

这时再看网络拓扑私网和公网就连起来了

私网也新增了一个端口

创建私网的云主机

创建一个私网的云主机,网络部分选择私网,剩下的选择可选的,端口、配置、元数据不用管,启动实例即可

查看网络拓扑都是连起来的

打开私网这个云主机的控制端,尝试ping公网的云主机

上面ping失败了是因为没开公网云主机test1,下面是开了后重新ping的,都连在一起肯定是可以ping通的

因为计算节点可以上网,所以该主机也可以上网

打开公网的云主机尝试ping私网的云主机却ping不通,是因为私有ip是不允许外部访问的,内部可以访问外部,但外部不可以访问内部

让外部网络可以访问内部网络

可以将外部网络的IP地址分配给内部网络的端口。不管什么时候一旦有连接连接到子网,那个连接被称作端口。可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例

加一个浮动ip

分配浮动ip

选择让公网给分配浮动ip(有公网的ip才能被外部访问)

已经自动分配了ip,点击关联

此时私网的云主机就有了一个浮动ip,但不是主机的真实ip,只是主机开了个端口分配了一个ip

在公网云主机test1端ping浮动ip,这次可以ping通私网主机了

在真机ssh连接浮动ip也可以,查看ip只显示真实ip

以上是关于OpenStack私有网络的部署的主要内容,如果未能解决你的问题,请参考以下文章

Centos8部署Openstack(U版本)

Openstack部署

OpenStack Mitaka部署<四;

OpenStack-部署

私有云 openstack部署

openstack项目day24:OpenStack mitaka部署