它提供了一个声明性框架,用于定义和管理开放基础设施工具及其底层硬件。这些工具包括用于虚拟机的OpenStack(可以裸金属扩展)、用于容器编排的Kubernetes等。现在,一个主要的更新,Airship2.0,来了。
在了解Airship的新功能和改进之前,让我们先了解一下基本知识。该框架由四个部分组成:
使用声明性架构:使用YAML声明站点。这包括硬资产(如网络配置和裸金属主机)和软资产(如Helm图表、其覆盖和容器镜像)。你管理文件,Airship执行它。
生命周期管理的单一工作流:我们需要一个以可预测的生命周期管理为核心的系统。这意味着要确保我们有一个处理初始部署和未来站点更新的工作流。换句话说,在与新部署交互或提供对现有站点的更新时,应该没有什么不同。
容器是软件交付的唯一单位:容器是Airship软件交付的单位。一切都是一个容器。这使我们能够满怀信心地推进环境从开发到测试,最后到生产。
灵活地适应不同的架构和软件:Airship提供了各种配置的小型和大型环境。你还可以使用Airship来管理OpenStack之外的其他云平台。
这些元素都使用声明性YAML文档松散地耦合在一起。据开放基础设施基金会董事Jonathan Bryce称,它并不是要取代现有的跨裸金属、虚拟机和容器的云原生程序,而是让你控制一个复杂的云和容器软件堆栈。这个框架是在Apache2.0下授权的。
那你能用它做什么呢?实际上你该问的是,不能用它做什么。
Airship可以:
管理传统的基础设施即服务(IaaS)云。
使用Kubernetes编排的容器和诸如Gerrit、Jenkins或Zuul等CI/CD程序运行持续集成/持续交付(CI/CD),同时使用池虚拟机(vm)进行测试。
在Kubernetes集群上运行高端软件定义的网络和网络功能虚拟化。
使用Helm部署和管理基于Kubernetes的容器,以部署任何Kubernetes友好的程序,如TensorFlow、Hadoop、ElasticSearch、Kafka等。
听起来不错,但有用吗?是的。AT&T负责网络云软件工程的助理副总裁在2019年推出Airship时表示,“AT&T从去年12月开始在生产网络中使用Airship。特别是,AT&T正在基于Airship的容器化OpenStack云为其5G推广提供动力。”
如今,随着Airship 2.0的出现,更多的云原生程序,如Cluster API、Kustomize、Metal3和Helm-Controller都被添加了进来。所有这些以及更多功能都已集成到端到端解决方案中,并提供流畅的运维体验。
根据开发者的说法,“我们已经使airshipctl(新的Airship外壳程序)对新社区用户用起来尽可能简单。运营商也可以直接利用Airship Treasury Map项目的工作负载定义,无缝集成自己的工作负载。”
得益于集群API,Airship 2.0还支持多种基础设施后端和操作系统选择。这包括公共云,比如Azure和谷歌;VMs via Openstack;以及使用Metal3的裸金属。更好的是,你可以用一个工具在所有这些云平台上建立、配置和生命周期。
Airship 2.0也带来了GitOps的方法。也就是说,“airshipctl可以直接从版本化的git存储库中提取Kubernetes资源文件形式的声明意图。通过与Kustomize作为库集成,airshipctl可以呈现文档包。这些功能允许在将意图部署到活动站点之前对其进行测试和验证,从而提供强大的可预测性保证。”
Airship 2.0的目标是提供一个声明性接口来组装和编排最佳的CNCF构建块。笔者认为它非常成功。你不妨试试看,可能会发现它的方法正是你的云原生计算需求所需要的。
标签:游戏攻略