专栏首页SDNLAB新型云基础设施项目Airship 介绍

新型云基础设施项目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)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • OpenStack发布Queens版本,扩展对GPU和容器支持

    OpenStack本周发布了第17个代码版本Queens,该版本包含一些重大的更新,例如软件定义存储功能、GPU兼容性以及容器工作负载的跟踪等。Queens不仅...

    SDNLAB
  • ONF宣布发布COMAC参考设计(RD)规范

    2020年5月18日,开放网络基金会(ONF)宣布发布COMAC(Converged Multi-Access and Core)参考设计(RD)规范。同时,T...

    SDNLAB
  • 思科又裁了数百名员工

    据硅谷商业杂志报道,该公司将加利福尼亚州圣何塞的总部裁员405人,在加利福尼亚州Milpitas裁员57人。Register报告称,思科从其客户体验(CX)团队...

    SDNLAB
  • CSDN专访|腾讯的OpenStack实践与创新

    前言: 本文转载自微信公众号OpenStack 文章《用户访谈丨腾讯的OpenStack实践与创新》,来自CSDN专访。 2017年7月24日~25日,2017...

    腾讯云TStack
  • 面试官问:MySQL的自增ID用完了,怎么办?

    可以发现 AUTO_INCREMENT 已经自动变成2,这离用完还有很远,我们可以算下最大当前声明的自增ID最大是多少,由于这里定义的是 intunsigned...

    用户4143945
  • 面试官问:MySQL的自增ID用完了,怎么办?

    可以发现 AUTO_INCREMENT 已经自动变成2,这离用完还有很远,我们可以算下最大当前声明的自增ID最大是多少,由于这里定义的是 intunsigned...

    xcbeyond
  • [PHP] RBAC权限与审批流的简单数据库构想

    陶士涵
  • Hibernate框架HQL语句

    这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利。 在这里通过定义了三个类,Special、Classroom、Student来做测试,Special...

    二十三年蝉
  • 快速学习-前端开发模式的发展

    最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务端到客户端单向流通。开发人员也只关心页面的样式和内容即可。

    cwl_java
  • 微服务架构搭建:Consul+sleuth+zipkin+Feign/Ribbon+SpringConfig+Zuul+Hystrix Dash-Board-Turbine

    用户2235302

扫码关注云+社区

领取腾讯云代金券