最近帮领导做了几页ppt,总结几种场景下ironic管理物理机网络的网络拓扑,简单做成一份文章记录下。只是方便自己记忆,没有认真修改。如果对ironic有一定了解,可以看下,加深理解。

1. vlan模式+物理机

Ironic Ocata之后支持,neutron接交换机管理物理机网络的场景。在这种模式下,通过nova创建裸机时,neutron可以配置交换机,将物理机的接口vlan切入到用户指定的vlan中,达到在不同租户间网络隔离的效果。

OpenStack管理网要和IPMI网络,部署网络,交换机管理ip,打通,最方便的方式时规划成同一个网络

物理机在部署时,Ironic conductor经过管理网向交换机发起请求,将物理机端口vlan id切换到指定的部署网络的vlan id,该vlan在规划时就与管理网打通。然后被部署节点节点在部署网络中dhcp,拿到tftp地址,通过tftp获取deploy kernel,deploy ramdisk。

物理机使用deploy kernel/ramdisk 启动后, ramdisk中自带的ironic python agent访问ironic conductor,通过iscsi将自身磁盘挂载到控制器上,控制器向磁盘写入用户指定的操作系统,部署完成

最后将物理机端口切换到用户指定的vlan中。

2. flat模式+物理机

不接入交换机,物理机网络由运维提前配好,neutron只负责ip分配。O版本之前的功能,运维操作较多,除非规模较小,所有的物理机工作在同一个二层中,只是用ironic装系统,否则不推荐使用。

Flat网络模式下,所有的物理机无论是部署还是工作,都处于一个flat网络中(图中external network)

管理网和external网要打通,因为裸机处理被部署时,需要访问管理网获取镜像,元数据信息
管理网和IPMI网络要打通,因为控制节点要能访问IPMI网络,对服务器进行开关机,pxe设置等操作
这个模式不需要考虑虚拟机网络

3. flat模式+ kvm虚拟机

物理机启动速度较慢,测试成本较高,这种模式主要用于开发测试环境。

这个模式时用pxe_ssh driver,不需要ipmi,虚拟机通过桥接宿主机eth1,eth1需要和控制器 external网络在同一个二层

external网络需要和管理网打通

最简单粗暴的方法是图中所有eth0,eth1都规划到同一个二层中

Ironic几种不同的场景下的网络拓扑的更多相关文章

  1. Cobar提出的一种在分库场景下对Order By / Limit 的优化

    搜索关注微信公众号"捉虫大师",后端技术分享,架构设计.性能优化.源码阅读.问题排查.踩坑实践. 本文已收录 https://github.com/lkxiaolou/lkxiao ...

  2. ADO.NET Entity Framework 在哪些场景下使用?

    在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...

  3. Redis11种Web应用场景

    Redis的一个非常大优点就是能够不用整个转入到这个数据库,而是能够沿用之前的MySQL等数据库,而仅在一些特定的应用场景通过Redis的特性提高效率.本文列出了11个这种Web应用场景,如显示最新的 ...

  4. Entity Framework:如果允许模型处于非法状态,在某些场景下,记得清空DbContext

    Entity Framework:如果允许模型处于非法状态,在某些场景下,记得清空DbContext 背景 之前写过两篇文章介绍模型的合法性: DDD:关于模型的合法性,Entity.IsValid( ...

  5. CI Weekly #11 | 微服务场景下的自动化测试与持续部署

    又一周过去了,最近我们的工程师正在搞一个"大事情" --「[flow.ci](http://flow.ci/?utm_source=bokeyuan&utm_medium= ...

  6. Redis 11种Web应用场景举例

    在"怎样让redis在你的系统中发挥作用"一文中,salvatore 'antirez' sanfilippo告诉我们如何利用redis独有的数据结构处理能力来解决一些常见问题.一 ...

  7. 浅谈Vue不同场景下组件间的数据交流

    浅谈Vue不同场景下组件间的数据“交流”   Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...

  8. Redis能干啥?细看11种Web应用场景

    下面列出11种Web应用场景,在这些场景下可以充分的利用Redis的特性,大大提高效率. 1.在主页中显示最新的项目列表. Redis使用的是常驻内存的缓存,速度非常快.LPUSH用来插入一个内容ID ...

  9. 【转】MySQL乐观锁在分布式场景下的实践

    背景 在电商购物的场景下,当我们点击购物时,后端服务就会对相应的商品进行减库存操作.在单实例部署的情况,我们可以简单地使用JVM提供的锁机制对减库存操作进行加锁,防止多个用户同时点击购买后导致的库存不 ...

随机推荐

  1. robotframework安装及入门指南

    将很久之前自己在本地记录的一些笔记发表到随笔来,希望能够帮到一些童鞋~ robotframework安装及入门指南 本文主要介绍robotframework在windows环境的安装过程! 安装步骤 ...

  2. js执行函数报错Cannot set property 'value' of null怎么解决?

    js执行函数报错Cannot set property 'value' of null 的解决方案: 原因:dom还没有完全加载 第一步:所以js建议放在body下面执行, 第二步:window.on ...

  3. C#使用Redis

    一,引入dll 1.ServiceStack.Common.dll 2.ServiceStack.Interfaces.dll 3.ServiceStack.Redis.dll 4.ServiceSt ...

  4. python 集合操作方法详解

    说集合之前,我们先说一个小例子,假设某公司有五个人喜欢打篮球,五个人喜欢打游戏,问即打游戏有打篮球 的人都有哪些? play_basketball = ['a','b','c','d','e'] pl ...

  5. configparser模块的常见用法

    configparser模块用于生成与windows.ini文件类似格式的配置文件,可以包含一节或多节(section),每个节可以有一个或多个参数(键=值) 在学习这个模块之前,先来看一个经常见到的 ...

  6. 禁掉或启用firefox 的 javascript 脚本

    老版本的firefox可以直接在“选项”页设置启用或禁用javascript 脚本 新版的Firefox中,我找了半天,没有找到,看来是没法直接设置了 于是在 地址栏键入 about:config 搜 ...

  7. java导入项目有红色叹号

    原因:缺少jar包 解决:         选中项目  ->  右键  -> Build Path  -> Configer Builder Path  ->  删除掉有错的J ...

  8. JSP基础篇

    JSP可以认为是加上了Java代码块的HTML文件,常常和CSS,JS结合使用,下面是一个JSP的基本的例子. <%@ page language="java" conten ...

  9. Spring整合JMS(三)——MessageConverter介绍

    原文链接:http://haohaoxuexi.iteye.com/blog/1900937 1.4     消息转换器MessageConverter MessageConverter的作用主要有两 ...

  10. ThinkPHP删除栏目(多)

    前段时间发表了一个删除栏目的随笔,当时实现的功能是删除一条信息,这次来实现一下批量删除栏目. 我们需要达到的是这样一个效果: 选中批量删除按钮后可以选中所有该页面的栏目,这个是前端页面的实现,在这里就 ...