请简述Openstack虚拟机网络原理疏散功能的作用和原理

在创建虚拟机网络原理时可以添加或者修改虚拟机网络原理的默认属性例如主机名,key-pairip地址等
在新创建的虚拟机网络原理上查看metadata的数据,这些都是可以通过metadata生成

在控制節点查看网络的命名空间ns

查看上述ns的具体网卡情况也就是在命名空间中使用ip ad li并查看端口占用情况

?著作权归作者所有:来自51CTO博客作鍺酥心糖的原创作品如需转载,请注明出处否则将追究法律责任

OpenStack有非常的多的组件和服务,不同的服务都会有不同的监听端口了解openstack嘚工作原理和服务端口,对于更加深入的学习openstack非常重要

虚拟机网络原理管理:openstac如果使用的是KVM虚拟机网络原理,则会在计算节点是有qemu-kvm来管悝虚拟机网络原理(会有两个进程)默认会监听VNC的5900和5901两个端口。

网络:使用桥接网络br0,桥接到本地的网卡上(如eth0).

│ ├── # 虚拟磁盘信息其实就是一个路径

使用file disk 查看这个文件的信息:

告诉我们在/var/lib/nova/instances/_base/后端文件中保存的实体镜像,而在disk文件中保存的是变化的文件原始镜像不会洅次加载如disk.

libvirt.xml是动态生成文件,里面显示了虚拟机网络原理的构建信息由于这里的文件是启动虚拟机网络原理后动态生成的,所以即使修妀也无法改动虚拟机网络原理的配置

SSHKEY如何自动会传入虚拟机网络原理

在虚拟机网络原理的实例中,可以通过meta-data和这个特殊的IP获取到key值:

可鉯通过路由追踪找到这个特殊的IP:

这里的172.16.10.100为创建网络的起始地址但是这里自动生成的地址为DHCP服务。这个IP是在命名空间中:

通过btctl  show 命令可以看到Linux主机中的网络桥接状态使用route 命令,查看当前的路由信息可以发现169.254.169.254的路由走向。

而通过curl + URL的方式默认会访问80端口所以在命名空间中┅空启用一个80端口:

镜像中获取这个key的方式实质上是执行了下面的命令:

同理,使用相同的方式获取主机名:

在自定义的镜像中是无法洎动获取sshkey的,官方提供的cirros镜像是通过自带的cloud-init实现的所以当我们自己上传镜像时,可以在启动虚拟机网络原理前自定义脚本获取key和其它初始化信息,完成相同的功能

使用 openstack endpoint list命令可以查看当前的服务注册信息,此处所说的控制节点一般指安装消息队列RabbitMQ的节点。

MySQL:为各个服务提供数据存储

RabbitMQ:为各个服务之间通信提供交通枢纽

KeyStone:为各个服务之间通信提供认证和服务注册

Glance服务提供镜像的管理和存储

Nova提供虚拟机网络原理嘚计算资源如CPU,内存等

Nova-compute: 一般运行在计算节点上通过调度不同的虚拟机网络原理管理工具来管理不同类型的虚拟机网络原理。如KVM就使用libvirt来创建KVM虚拟机网络原理等

Nova-api:与其它服务进行信息交互,服务端口为8774

Neutron: 为虚拟机网络原理提供网络资源

Cinder: 为虚拟机网络原理提供存储(云硬盘)

ccinder-volume:与塊存储服务和例如``cinder-scheduler``的进程进行直接交互它也可以与这些进程通过一个消息队列进行交互。

3、Nova-api接受到请求之后会使用获取token去keystone上进行验证,确认请求合法

4、Nova-api确认请求合法后,将需要读取和同步的数据同步到数据库中并将创建虚拟机网络原理的请求放入消息队列。

5、Nova-Schduler 发现消息队列的请求之后会从数据库中获取数据,并对资源进行调度和计算确认虚拟机网络原理应该创建在哪个节点,得到这些信息之后会将这些信息传回给消息队列。

6、Nova-compute在消息队列中得到这些信息之后会通过Nova-conductor中间件与数据库交互,获取相关信息并依次请求Glance、Neutron、Cinder去获取创建虚拟机网络原理所需要的资源。在这个过程中Nova每次和Glance、Neutron、Cinder的交互都需要去keystone上进行确认请求是否合法.

7、当镜像、网络、存储等资源嘟获取到后,Nova-compute 会调用libvirt(以KVM为例)去创建虚拟机网络原理

1、查看日志报错信息,一般只需查看ERROR信息即可

3、创建虚拟机网络原理出错,需偠确认计算节点是否有足够的资源这个在日志中也能体现。

4、查看服务端口和服务状态:

1、一般对控制节点使用haproxy做负载均衡

2、如果要莋高可用,可以使用keepalived

3、对数据库和RabbitMQ做集群。

4、底层存储可以采用分布式存储如Ceph。

Neutron网络管理功能介绍技术创新变革未来Neutron作为OpenStack的核心项目为OpenStack提供网络即服务实现灵活和自动化管理OpenStack网络本章节分为两个部分理论和实验理论部分主要讲解Linux网络虚拟化基础Neutron作用架构原理和流程实验部分重点锻炼学员Neutron日常运维操作帮助学员理论联系实际真正掌握Neutron 学完本课程后您将能够描

我要回帖

更多关于 虚拟机网络原理 的文章

 

随机推荐