如何在 Atomic 系统上部署OpenStack

基于docker、kubernetes部署openstack到atomic系统上

openstack的服务定义,是不是看起来很简洁?

openstack的实际组件构成,是不是看起来很复杂?

所有的openstack服务彼此依赖,带来了服务生命周期管理的复杂性和低效。

比如openstack的鉴权服务keystone,在已有环境上部署一个新的keystone是否会对其他服务带来兼容性问题 是很难判断的。用现在的工具,也是难以进行回退的。 事实上,并非只有openstack是这样的,很多基础设施平台或者应用平台都有类似的问题。

openstack生命周期管理的方式

主要分为两类:基于包、基于image

基于包

通常使用PXE,并搭配puppet、chef、Ansilbe这样的配置工具。基于包的方式是低效的,原因如下:

  • 操作系统、物理节点的差异性
  • 合布时服务间的冲突(ports,文件系统等)
  • 安装速度(大规模部署时,通过网络下载包安装)
  • 也许有人会提虚拟机+包的方式,但是:
  • 虚拟机比较重(内存、CPU、磁盘占用。启动速度)
  • 虚拟机缺乏metadata注入手段(或者需要额外的组件和代理完成这个事情)

基于image

  • 解决了安装速度慢的问题,通常会有仓库存放image,直接下载到物理硬件上。
  • 但是,由于image很大,基于image的方式,增量更新仍然很缓慢。
  • 另外,基于iamge的方式并未解决opesntack服务间的复杂性问题。只是将问题提前到构建镜像时。

除此之外,运维人员还会希望这个openstack生命周期管理系统,能够跨bare metal、IaaS、甚至PaaS。

Atomic、Docker、Kubernetes带来了什么

如果有一个openstack服务的生命周期管理方案能带来以下优点:

  • 隔离、轻量、便携、可分离
  • 运行态的服务关系易于描述
  • 易于运行、易于更新
  • 独立于openstack之外管理服务的生命周期

这正是docker、atomic、kubernetes组合方案所能提供的。

Docker提供了对linux容器的抽象,并提供了一种镜像格式。通过这种镜像格式,可以方便的分享并提供镜像间的层次关系。另外docker还提供了docker仓库来分享docker镜像。 这种方式很重要,因为开发者可以发布便携的容器镜像,维护人员将之部署在不同的平台。

kubernetes是开源的容器集群管理平台。它使用master/minion结构提供给了容器的调度能力。开发者可以使用声明式语法描述容器间关系,并让集群管理进行调度。

Atomic项目提供给了一个安全、稳定、高性能的容器运行环境。Atomic包含了kubernetes和docker,并运行用户使用新的软件更新机制ostree。

将以上三者结合起来的方案就像上图。openstack开发者使用自己熟悉的环境进行开发(linux/vagrant/libvirt),然后向仓库提交服务镜像。运维人员将kubernetes配置导入生命周期管理工具,然后启动pods和services。容器镜像会被下载到本地并部署这些 openstack服务。由于服务是隔离的,我们可以在单台机器上最大化密度地部署openstack服务。除此之外还有其他优点,比如回滚、部署、更新的速度等。

博客地址:http://openstack.wiaapp.cn

关于OpenStack

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

OpenStack除了有Rackspace和NASA的大力支持外,还有包括戴尔、Citrix、Cisco、Canonical等重量级公司的贡献和支持,致力于简化云的部署过程并为其带来良好的可扩展性。

本文作者:寻觅神迹

来源:51CTO

时间: 2024-08-30 03:38:05

如何在 Atomic 系统上部署OpenStack的相关文章

如何在 Linux 系统上安装 Suricata 入侵检测系统

如何在 Linux 系统上安装 Suricata 入侵检测系统 随着安全威胁的不断发生,入侵检测系统(IDS)在如今的数据中心环境中显得尤为必要.然而,随着越来越多的服务器将他们的网卡升级到10GB/40GB以太网,对如此线路上的硬件进行计算密集型的入侵检测越来越困难.其中一种提升入侵检测系统性能的途径是多线程入侵检测系统,它将 CPU 密集型的深度包检测工作并行的分配给多个并发任务来完成.这样的并行检测可以充分利用多核硬件的优势来轻松提升入侵检测系统的吞吐量.在这方面有两个知名的开源项目,分别

如何在 AIX 系统上安装和配置 IBM OpenPages GRC

了解在 AIX 系统上安装和配置 IBM OpenPages GRC IBM OpenPages GRC 简介 IBM OpenPages GRC(Governance.Risk and Compliance)平台是一个帮助企业管理整个企业风险和合规性的综合性平台.它提供一组涵盖风险和合规性领域(包括操作风险.策略和合规性.财务控制管理.IT 治理和内部审计)的核心服务和功能组件.从而帮助管理者全面和深入了解企业管理.风险和合规性.本文旨在介绍如何在 AIX 系统上安装和配置 IBM OpenP

视频播放-如何在android系统上旋转视频方向

问题描述 如何在android系统上旋转视频方向 目前在做一个盒子,无陀螺仪,视频播放时方向不正确.试了各种方法,无效. 解决方案 tabbar的旋转方向 解决方案二: 太麻烦了,没有大侠知道吗?

如何在Linux系统上显示当前及子目录中的文件数量

在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量. 我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自标准输入的换行符.单词和字节计数. 以下是我们在 find 命令中使用的选项,如下所示: -type - 指定要搜索的文件类型,在上面的情况下,f 表示查找所有常规文件. -print - 打印文件绝对路径. 以下是我们 wc 命令中使用的选项,如下所示: -l - 此选项打印换行符的总数,也即由

如何在64系统上监视32位模式下ASP.NET程序的性能

如何在64系统上监视32位模式下ASP.NET程序的性能?为何64位系统上的性能计数器会监视不了IIS32位模式下ASP.NET的性能呢? 发生此问题是因为 64 位版本的 Corperfmonext.dll 文件只能枚举 64 位进程. 此外, 32 - 位版本的 Corperfmonext.dll 文件只能枚举 32 位进程. 要在 64 位计算机上查看托管 32 位程序, 请依次单击 开始 . 运行 , 输入%SystemRoot%SysWOW64perfmon.exe然后单击 确定 .即

如何在Atomic主机上远程使用 Docker

来自Atomic项目的Atomic主机是一个轻量级的容器基于的操作系统,它可以运行 Linux 容器.它已被优化为用作云环境的容器运行时系统.例如,它可以托管 Docker 守护进程和容器.有时,你可能需要在该主机上运行 docker 命令,并从其他地方管理服务器.本文介绍如何远程访问 Fedora Atomic 主机(你可以在这里下载到它)上的 Docker 守护进程.整个过程由 Ansible 自动完成 - 在涉及到自动化的一切上,这真是一个伟大的工具! 安全备忘录 由于我们通过网络连接,所

如何在X64系统上配置ASP.NET程序

ASP.NET程序在编译的时候默认是Any CPU,即编译的程序可以在X86.X64系统平台上运行.若希望我们的ASP.NET程序运行在X64系统上,我们所要做的仅仅是部署IIS,修改配置. 若想程序运行于IIS32位模式下,即运行在.net framwork32位下进行如下配置: 1.cscript %systemdrive%inetpubadminscriptsadsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 修改IIS配置,允许3

如何在Linux系统上安装Domino Server

前言 在Linux系统上安装Domino Server是一个小小的挑战,其实并没有大家想想的复杂,既然是商业性的软件,OEM早就为我们解决了安装的难度,还有就是选择自己熟悉的Linux发行版,各个发行版操作上还是有一定的区别的,这里选择最新的Ubuntu Server 13.04,尽量在Server版本的Ubuntu上安装,虽然说Desktop版本也可以. 安装 Unbuntu server 13.4 下载Ubuntu server镜像 http://releases.ubuntu.mirror

在Linux系统上部署Apache+Python+Django+MySQL环境

  Linux+apache+mysql+python+mod_python+Django 说明:系统rhel 5.3,默认安装httpd.mysql,没有安装的,请下载安装RPM包,删除/etc/httpd/modules/mod_python.so,如果有的话. 一.安装python ? 1 2 wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz tar xfz mod_python-2.7.11.tgz <br>cd