新型云基础设施项目Airship 介绍

背景

AT&T正在与SK电信(SKT),Intel和OpenStack基金会合作推出一个名为Airship的新型云开放基础设施项目。Airship的宣传语是“声明式地定义您的OpenStack和Kubernetes基础设施”。

Airship是OpenStack的一个新的开放式基础设施项目,这个项目是建立在2017年推出的OpenStack-Helm基础上的。

Airship是一组用于自动化云配置和管理的开源工具。Airship提供了一个声明性框架,用于定义和管理开放式基础架构工具和底层硬件的生命周期。这些工具包括用于虚拟机的OpenStack,用于容器编排的Kubernetes和用于裸机的MaaS,并计划支持OpenStack Ironic,即Airship是一种管理工具,可以用于管理数据中心中目前繁杂的裸机、IaaS、PaaS平台。

Airship层级

下图中所标注为蓝色的是Airship的组件,后文也会详细介绍这些组件的具体功能,这张图很好得解释了Airship与OpenStack和Kubernetes关联,以及Airship在层级中所处的位置。即底层利用Kubernetes进行OpenStack服务组件容器的编排,并通过Airship来通过YAML语言进行各类配置、版本的容器的生命周期管理。

架构

由于架构图字太小,可以参考[4]

里面涉及了一堆新名词

1.Pegleg

Pegleg是一个文档聚合器, Deckhand是Airship中的文档管理微服务

2.Shipyard

Shipyard是用于Kubernetes和OpenStack生命周期管理的控制器,Shipyard为控制平面的提供Entrypoint, 包括站点设计和操作。名称上也可以看出来是一个是Airship“飞船”的Shipyard“造船厂”,为Airship提供分类过后的数据。

2.1站点设计

作为AirShip入口,将裸机主机节点的配置,网络设计,操作系统,Kubernetes节点,Armada manifests,Helm图表以及定义一组服务器构建的任何其他描述符通过Shipyard进入Airship。 密码和证书、使用相同的机制。密码和证书存储在Airship的Deckhand中,提供版本历史记录和安全存储。

2.2操作

通过调用Shipyard中的操作完成与站点控制平面的交互。 每个操作都由作为使用Apache Airflow运行的有向无环图(DAG)实现的工作流支持。 Shipyard提供了mechanism来监视和控制workflow。

总结一下,Shipyard就是把各类的配置通过各个接口收集起来,提供给Airship其他的组件,并将各类需要经过Shipyard的Workflow(别名Airflow)监控起来。

3.DryDock

Drydock将基于YAML的声明性的拓扑(从Shipyard传过来的)转换为可用于构建企业Kubernetes集群的配置信息。 相比Shipyard,Drydock更像是具体干活的,他可以做如下一些工作:

1.PXE引导新服务器的初始IPMI配置

2.支持Canonical MAAS配置

3.配置复杂网络拓扑,包括绑定,标记VLAN和静态路由

4.支持基于Keystone的身份验证和授权

4. Deckhand

Deckhand是一种通过一系列配置语言来提供存储的服务,其构建时考虑了可审计性和认证。利用现有的OpenStack API(即Barbican)可靠、安全地存储数据。

5.Armada

Armada是一个管理多个具有依赖关系的Helm图表的工具,它通过在单个Armada YAML中集中所有配置并为所有Helm版本提供生命周期支持。

6.Kubernetes

Kubernetes是一个开源系统,用于跨多个主机管理容器化应用程序,为应用程序的部署,维护和扩展提供基本机制。

7. Promenade

Promenade是一个用于部署Kubernetes集群并管理其生命周期的工具。Promenade可针对节点故障和完整群集重新启动提供群集恢复能力。

8.Helm

Helm是Kubernetes的包管理工具。可以使用Helm图表定义、安装和升级Kubernetes应用程序。图表是用于描述Kubernetes资源的。 Helm将每个图表的部署包装成一个具体的版本,它是构成该服务的所有Kubernetes资源的集合, 我们能够通过Kubernetes资源模板化,即通过Helm提供标准接口,以控制Kubernetes的安装和应用生命周期管理。

9.OpenStack-Helm

OpenStack-Helm项目提供了一个框架,实现松散耦合的OpenStack服务及其依赖项的部署,维护和升级。

OpenStack-Helm本质上是Kubernetes、Helm和OpenStack的结合,旨在为每个OpenStack服务创建Helm图表。 这些Helm图表为这些OpenStack服务提供完整的生命周期管理。

10.Divingbell

Divingbell是一种轻量级解决方案:实现一些有针对性的用例的裸机配置管理和实现裸机的安装包管理器

其他OpenSource项目Airship集成

1.OpenStack-Helm

OpenStack-Helm是一个OpenStack项目,提供一组Helm图表。便于在Kubernetes上部署OpenStack和相关服务。

2. Barbican

Barbican是一个OpenStack REST API,专为安全存储、配置和管理秘钥

3. Keystone

Keystone是一个OpenStack项目,提供身份验证,授权和服务。通过HTTP协议提供给OpenStack中的其他项目使用。

4.Ironic(未来整合)

Ironic包含各类API和插件,用于管理和配置物理机器

5.Mogan(未来整合)

Mogan是一个OpenStack项目,为用户提供裸机作为基础资源,支持各种裸机配置驱动器,包括Ironic。

Airship优势

1.声明式配置

Airship使用YAML声明。 包括网络配置和裸机主机以及软件,如helm chart、docker image等,只需要通过Airship来进行YAML信息管理即可。

2.生命周期管理

Airship既可以处理初始部署,也可以处理基础设施管理平台的后期更新。

3.面向容器

容器是AIrship的软件交付单位,这样方便对基础设施管理平台的部署、开发,测试

4.灵活适用于不同的架构和软件

Airship正在提供各种规模的小型和大型环境配置。 可以使用Airship来管理的整个基础设施架构,而不仅仅是OpenStack。

预览安装

想尝试一下Airship的功能的话也没有很高的门槛,基本就是起一个Ubuntu16.04的虚拟机然后执行下面的5行命令即可[3]:

sudo -i

mkdir -p /root/deploy && cd “$_”

git clone https://github.com/openstack/airship-in-a-bottle

cd/root/deploy/airship-in-bottle/manifests/dev_single_node

./airship-in-a-bottle.sh

参考

[1].https://wiki.openstack.org/w/index.php?title=Airship&oldid=165315

[2].https://www.sdnlab.com/20822.html

[3].https://www.airshipit.org/

[4].https://airship-treasuremap.readthedocs.io/en/latest/_images/architecture.png

[5].https://airship-treasuremap.readthedocs.io/en/latest/

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-10-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

想要使用容器技术 这5类遗留工具就应该被淘汰

充分利用容器并不只是安装Dockers和激活容器应用程序那么简单。你需要改进的同样还有监控方法、安全性能等。 这么做的理由是,容器并不只是对你过去工作中使用到的...

3528
来自专栏非著名程序员

Android NFC 技术解析,附 Demo 源码

近期由于项目需求,对 Android NFC 技术进行了一定的了解和深入,整合了一些网络、书籍资料,此文章仅作为自己的学习笔记。 NFC 是 Near Fiel...

3597
来自专栏FreeBuf

如何打造一款可靠的WAF(Web应用防火墙)

之前写了一篇《WAF防御能力评测及工具》,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!)。本篇文章从W...

3555

OpenShift的容器镜像(第1部分):目标

这是我在EMEA红帽技术2017交流会议(Red Hat Tech Exchange 2017)上所做的文字记录,这是一个由所有的Red Hat解决方案架构师和...

2925
来自专栏BestSDK

Kubernetes发布1.10版本:开发者可自己定义API

Container存储介面(Container Storage Interface,CSI)能让使用者像安装Pod一样,轻松安装Volume插件,而这使得第三方...

42511
来自专栏点点滴滴

关于Windows系统安装(一)

1166
来自专栏云计算D1net

Docker怎样改造你的开发团队

Docker提升了软件测试的速度,毫无疑问,任何研发团队都应该选择它。下面我来告诉你为什么。 一直以来,部署测试环境是一个耗时并且繁杂的工作。即便测试环境中运行...

3385
来自专栏从零开始的linux

初识docker

docker使用go语言开发,基于apache2.0协议 容器虚拟化 ? 传统虚拟化 ? Docker的优势 启动非常快,秒级实现 资源利用率很高,一台机器可以...

3745
来自专栏IT派

最全的30+个开源免费的Docker工具

容器生态系统的发展和扩展速度越来越快速,并且已经有了许多的Docker工具和服务,想要知道所有的有用选择,你会发现基本很难完成。

2263
来自专栏IT大咖说

揭秘携程内部海量CRN项目解决方案

摘要 随着公司内部CRN项目的日益增多,越来越多的业务部门开始意识到,是否可以将CRN的项目直接运行在浏览器上,以免去他们在H5和SEO上的额外开发。甚至有的W...

4215

扫码关注云+社区

领取腾讯云代金券