热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

OpenStack网络配置规划

OpenStack提供了丰富的网络配置环境,本文介绍设计云系统是对于网络部分需求的考虑和设计。如果这次是首次在你的组织中部署云系统,在阅读完本章节后请和你的网络运维团队进行沟通,以便了解现有网络状况。云系统使用的网络同普通系统所使用的网络部署方式

  OpenStack提供了丰富的网络配置环境,本文介绍设计云系统是对于网络部分需求的考虑和设计。

  如果这次是首次在你的组织中部署云系统,在阅读完本章节后请和你的网络运维团队进行沟通,以便了解现有网络状况。云系统使用的网络同普通系统所使用的网络部署方式不同,且有可能在部署时对于网络的连接性和网络策略造成影响。

  比如:组成云系统的服务器和云上运行的虚拟机实例所需要用的IP地址资源就需要事先进行妥善规划和准备;云系统网络中所涉及到的代理,防火墙也需要进行相应的研究。

  网络管理

  网络有效管理通常是一个重要的考虑项目(常见的如:分散的交换机和网络接口)。通过将系统管理和监控产生流量和实际云系统用户流量进行分流的网络管理方式可以减少对于用户使用的影响。

  对于OpenStack内部组件则建议使用私有网络进行通讯,如:消息队列,OpenStack计算节点。VLAN非常适合于这种私有网络的场景。

  公共访问选项

  对于云系统中虚拟机实例有两种的IP地址分配策略:固定IP和动态IP。固定IP策略是在虚拟机实例启动时分配并绑定一个固定IP地址,而动态IP策略则可能在用户的不同操作时IP地址发生变更。这两种IP策略按照需求同时可用于共有和私有网络。

  OpenStack必须使用固定IP地址,而动态IP地址则不是必须的。常见的2种动态IP的应用场景是:对于公网IP地址有限的私有云环境,可提供外网对于私有云的访问;或对于公有云用户可以有一个静态IP来访问云资源,而在云系统中实际对应的实例已迁移或升级。

  固定IP地址可以是私有云中的内网IP,也可以是公有云中的公网IP。当虚拟机实例终止后,对应的固定IP地址就被系统回收。需要注意的是刚开始使用云系统的用户可能会对固定IP地址的消失产生困惑。

  IP地址规划

  OpenStack环境可能会需要很多子网,且每个子网间运行不同的服务。IP地址规划可以对于网络分隔和扩展提供更好的帮助。控制类服务同时需要公网和私网IP地址,可参见之前提到的虚拟机公网配置的选项。

  IP地址规划可以分解成以下部分:

子网路由:子网数据包通过专用路由或nova-network服务进行通讯

控制服务的公开接口:swift-proxy, nova-api, glance-api和horizon的公用访问,可以指向单台服务器也可在负载均衡之后。

对象存储集群内部通讯:在对象/账号/容器的服务之间的通讯和代理服务的内部接口使用的私有网络上的通讯。

计算和存储通讯:临时存储和对象存储对于计算节点来说是外部服务,需要网络进行连接通讯。

外部远程管理:如果专用的外部远程控制器用于管理服务器,通常采用分隔的网络。

内部远程管理:通常计算或存储节点需要额外的网络接口(如 1G接口)用于系统管理或监控工具访问服务器。

未来扩展的预留空间:添加新的面向公开的控制服务,或是更多的虚拟机实例的IP需要在你的计划中。

  比如:在私有IP段172.22.42.0/24 and 172.22.87.0/26上部署了OpenStack的计算和对象存储服务,可按照如下方式进行配置:

172.22.42.0/24 172.22.42.1 - 172.22.42.3 - 子网路由 172.22.42.4 - 172.22.42.20 - 预留 172.22.42.21 - 172.22.42.104 - 计算节点远程控制器 172.22.42.105 - 172.22.42.188 - 计算节点管理接口 172.22.42.189 - 172.22.42.208 - Swift proxy远程控制器 172.22.42.209 - 172.22.42.228 - Swift proxy管理接口 172.22.42.229 - 172.22.42.252 - Swift storage servers远程控制器 172.22.42.253 - 172.22.42.254 - 预留 172.22.87.0/26: 172.22.87.1 - 172.22.87.3 - 子网路由 172.22.87.4 - 172.22.87.24 - Swift proxy server内部接口 172.22.87.25 - 172.22.87.63 - Swift object server内部接口

  也可以使用公网IP地址实现类似方式,建议使用较大范围段的IP地址。需要注意的是有些Openstack网络配置下,虚拟机实例的公网IP地址是分配给了nova-compute主机。

  网络拓扑

  OpenStack提供了几种网络管理方式,每种各自有自己的优缺点。选择不同的网络管理管理方式会影响到你网络拓扑,所以需要谨慎选择合适方式。 方式 Flat 优点:及其简单,不需要DHCP广播 缺点:需要在虚拟机实例中进行文件注入,仅限于有限的Linux发行版,配置困难,不推荐 FlatDHCP 优点:配置相对简单,标准网络协议,可用于任意操作系统 缺点:需要有自己的DHCP广播域 VlanManager 优点:每个租户可以隔离在自己的VLAn中 缺点:配置较复杂,需要有自己的DHCP广播域,需要需要许多VLAN配置传输端口,有VLAN数量限制,交换机需要支持802.1q VLAN tagging FlatDHCP Multi-host 优点:网络故障可按照虚拟机进行隔离 缺点:配置复杂 HA 优点:running on the hypervisor affected.(不知道什么意思?主机上运行,可迁移?),DHCP通讯可以隔离在单个主机,网络流量可以分布到不同的计算节点上 缺点:默认计算节点需要分配公网IP地址,在线扩展时在网络部分需要特别小心的修改配置

  VLANs

  VLAN的配置可以从简单到复杂。使用VLAN可以使每个项目有有自己的子网且网络广播可以同其他的项目分隔开。为了让OpenStack更好的使用VLAN,需要将VLAN进行划分(每个项目一个VLAN)且每个计算节点连接的交换机端口都需要绑定到VLAN的传输端口(trunck port)。

  比如:你的云预计需要支持最多100个项目,选择一个当前网络架构中没有使用的VLAN范围(如:VLAN 200 - 299),然后配置OpenStack使用该VLAN范围且交换机端口允许该范围的VLAN进行通讯。

  多个网络接口

  OpenStack可以支持将多个网络接口分配给一个虚拟机实例。虽然这是一个不常用的高级特性,但通过简单配置就可支持。需要注意的是第二个网络接口使用整个子网或VLAN,对于可支持的项目数会减少。

  多主机和单主机网络

  nova-network服务可以运行在多主机或单主机模式下。多主机网络模式就是每个计算节点上都运行一份nova-network服务,该服务就作为相同节点上虚拟机实例连接Internet的网关。同时,计算节点也为本机的虚拟机实例提供了动态IP和安全组(Security Groups)。单主机网络模式是使用集中的服务器,如:云控制器,独立运行nova-network服务。所有计算节点都将虚拟机实例的网络通讯转发到云控制器,云控制器负责连接到Internet。云中的所有计算节点上所有的虚拟机实例使用的动态IP和安全组(Security Groups)都是由云控制器支持。

  这两种模式各有优缺点。单主机网络模式有单点故障的缺点,当云控制器发生故障,所有虚拟机实例都无法进行网络通讯。而多主机网络模式则没有这个问题,但多主机模式下需要每个计算节点都有一个公网IP用于连接Internet。当没有足够的公网IP地址时,则无法使用多主机网络模式。

  网络服务

  OpenStack和其他网络应用一样会应用很多标准服务,比如:DNS和NTP

  NTP

  时间同步是确保OpenStack各个组件能正常工作的一个关键因素。虚拟机实例中的调度,对象存储中的对象复制和日志中的时间戳匹配都必须要有正确的时间。

  所有运行OpenStack组件的服务器都需要能访问适合的NTP服务。你可以通过在本地搭建一个NTP服务或者是使用公用的NTP服务。通过访问http://www.pool.ntp.org/可以获得可用的公用NTP服务。

  DNS

  除了在安装nova-network服务器上有运行dnsmasq之外,OpenStack目前并不提供DNS服务。你可以考虑提供一个动态DNS服务用于虚拟机实例更新DNS记录指向新的IP地址,也可以提供正向或逆向的DNS同虚拟机实例IP地址的映射,如:vm-203-0-113-123.example.com。


推荐阅读
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文档详细介绍了在 Kubernetes 集群中部署 ETCD 数据库的过程,包括实验环境的准备、ETCD 证书的生成及配置、以及集群的启动与健康检查等关键步骤。 ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 容器与微服务基础:快速入门指南
    探索容器和微服务的基础知识,了解如何通过先进的应用性能管理(APM)工具提升监控效能。加入AppDynamics APM的导览,掌握容器与微服务实施及监控的最佳实践。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 热璞数据库与云宏达成兼容性互认证,共筑数据安全屏障
    热璞数据库与云宏信息技术有限公司近期宣布完成产品兼容性互认证,旨在提升数据安全性与稳定性,支持企业数字化转型。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 免费获取:全面更新的Linux集群视频教程及配套资源
    本资源包含最新的Linux集群视频教程、详细的教学资料、实用的学习课件、完整的源代码及多种软件开发工具。百度网盘链接:https://pan.baidu.com/s/1roYoSM0jHqa3PrCfaaaqUQ,提取码:41py。关注我们的公众号,获取更多更新的技术教程。 ... [详细]
  • 一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景&# ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • 腾讯视频 Node.js 服务国庆阅兵直播高并发实战
    本文分享了腾讯视频团队在国庆阅兵直播项目中,如何利用Node.js服务成功应对2.38亿次观看的高并发挑战。文章将从服务架构、可用性保障、缓存策略、日志与告警等方面详细解析。 ... [详细]
  • ipvsadm命令简介:ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。在fedora14、Linux6.0之后系统中 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • 本文将探讨iOS开发过程中需要掌握的三种关键编程语言——C、Objective-C和Swift,并深入解析面向过程与面向对象编程的概念,同时对比iOS与Android两大移动平台的特点。 ... [详细]
author-avatar
再见WhoWho
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有