puppet部署
在管理一定规模的基础架构部署时,即使忍者系统管理员也无法在没有任何帮助的情况下完成全部工作。 实际上,可能有人争辩说,知道何时以及如何使用IT自动化工具来管理基础结构是获得管理员黑手的前提。 输入Puppet 。
Puppet是一个开放源代码框架,用于模板化重复任务,以节省时间并使它们易于记录,修改和复制。 它得到一家提供企业支持的公司的支持,同时仍在公开进行开发。
Puppet广泛采用的一个领域是部署OpenStack 。 我与Puppet Labs OpenStack的高级软件工程师Chris Hoge进行了交谈,以了解有关Puppet的一些知识以及如何将其用于自动化OpenStack安装和管理过程。
![](https://i-blog.csdnimg.cn/blog_migrate/0ee37a1a30291735c55fa10801f678c1.png)
您是如何开始使用OpenStack和Puppet的?
我来自俄勒冈大学,负责管理研究OpenStack的安装,并使用Puppet进行了部署。 那是我在Essex [release]时代开始使用OpenStack的地方。 我是生产Folsom安装的管理员,然后升级到了Grizzly。 当该项目的资金在大学用完时,这对我来说是一个很好的机会,可以继续在Puppet Labs建立网络。 自去年6月以来,我一直在这里,而且我一直在接管Puppet OpenStack模块和围绕这些模块成长的开发人员社区的工作。
告诉我们一些有关Puppet作为软件工具的信息。
因此,Puppet是用于配置任何东西的工具。 这是我们称之为DevOps的运动的一部分。 您可以使用声明性语言指定想要的实例外观,该声明性语言使您可以尽可能以与平台无关的方式指定该实例的外观。
Puppet Labs如何与开源社区合作?
Puppet Labs遵循经过验证的模型,与开放源代码社区一起在我们的产品上进行开发。 因此,我们所有的主要产品(Puppet,MCollective,Hiera和Facter)都是公开开发的,并且我们提供了这些产品的开源版本。 这是我们在社区中具有较高知名度并就项目应如何增长以及应向何方向发展提供大量反馈的一种方式。PuppetEnterprise要做的是将所有这些开源项目和将它们捆绑在一起,可以更轻松地使用项目,但是它也为您提供了一个支持渠道,这样您就可以在Puppet及其所有相关工具中进行大型的机构部署,并确保您准备好了得到专业及时的支持。
Puppet如何帮助OpenStack部署和管理?
Puppet OpenStack模块真正擅长的地方是OpenStack的部署。 这是一个已经进行了一段时间的项目。 我们已经完成了多个发行版。 在上届香港OpenStack峰会上进行了一项调查,结果发现Puppet OpenStack模块是人们用来安装和管理其OpenStack安装的第一方式。 这是因为模块上构建了很多非常出色的工具。 如果您查看Red Hat和Cisco之类的小组正在做的工作,他们将在这些模块中进行扩展。 这些模块有很多非常出色的功能。 它们实际上允许您管理基础结构。
其中的一些示例是能够管理Keystone,其中可以在Puppet代码中管理租户,角色和用户。 我们有自定义管道和提供程序,可让您将用户和租户视为资源。 对于Neutron来说也是如此,在这里您拥有网络,子网和端口的这些抽象,并且所有这些都可以通过Puppet资源进行管理,以便在安装OpenStack时,您的租户已经可以使用公用和专用网络。完全定义。 不仅在安装过程中。 您还可以添加和创建新的网络,并根据需要销毁那些网络。 因此,它最终成为了一个非常强大的工具,可与诸如软件定义网络(SDN)之类的东西集成在一起,这对我来说真的很有趣。
告诉我更多有关软件定义网络模块的信息。
那是Neutron开发和ML2框架正在发生的令人兴奋的事情之一,您正在采用网络的概念,并且试图抽象出“我如何实现我的网络”,即通过硬件,是通过虚拟软件开关进行的?并且为您提供了一个API层来与之交互。 因此,当我们能够在Neutron已经提供给我们的界面之上构建各种类型的提供程序时,这确实令人激动。 当您的网络得到所使用的任何硬件供应商或所使用的任何软件实现的支持时,您可以定义所需的网络外观。 您可以使用相当简单的声明性语言定义网络和子网,并使它们可用并通过中央位置进行管理。
您还有哪些其他与OpenStack一起使用的模块? 您是否对所有主要的OpenStack组件都拥有一个?
有效地,我们跟踪进入OpenStack核心发行版的每个项目,因此,这当然意味着我们将为Keystone,Nova,Glance,Swift,Neutron提供模块-您的主要OpenStack项目。 我们还有针对热,云高仪,暴风雨的模块-您将这些新项目引入OpenStack生态系统。 本质上,我们试图做的是,每当项目从孵化状态进入OpenStack的[核心]时,我们都希望有一个针对该服务的安装和管理的模块。
您的发布时间表如何与OpenStack本身的发布时间表一致?
过去,我们通常比核心OpenStack项目的发布晚了几个月。 我一直在努力并且一直在努力工作的事情之一就是加快了发布周期。 这意味着在这里内部改进我们自己的测试结构,以便策划这些模块发布的Puppet Labs可以提高我们将模块发布与OpenStack版本相匹配的节奏。 从花费了数周时间来验证这些模块的地方,到几个小时以来,我可以使用公共存储库验证一个模块。 因此,这实际上就是我现在正在研究的内容,以便在我们大家到达峰会时就可以完整发布稳定的Puppet OpenStack Icehouse模块。
听起来Puppet将在下周成为OpenStack峰会的活跃成员吗?
是。 我们将在那里做很多事情。 首先是我们在那儿有一个展位,就像现在几次峰会上一样。 我们还将进行十五分钟的剧院演示 。 但是,今年还有一些激动人心的新事物将针对运营商和开发商。 首先是即将举行的Ops峰会,Puppet将于5月16日(星期五)下午3点出席该会议。
去年,我们试办了一个程序,该程序是专门针对Puppet OpenStack的Puppet OpenStack设计峰会。 这是我们自己放在一起的东西,对此我们投入了很多精力。 来自世界各地的许多开发人员最终都想到了这一点。 我们制定了明年的计划,并将其真正视为传统的OpenStack设计峰会。 这就变成了一个更大的程序,在该程序中,许多与OpenStack相关的开源项目能够在基金会的基础上留出空间和时间,以便可以见面并计划自己的项目。 Puppet OpenStack 开发人员会议将于5月13日(星期二)下午2:50-6:10举行会议。
除了为Icehouse更新模块之外,您还在开发其他哪些新功能?
新的Sahara和Trove模块是我们非常感兴趣的。 我个人也对扩展我们的类型和提供程序感兴趣,因此我们可以捕获我们可以在您的OpenStack集群中管理的更多资源,尤其是能够直接从Puppet代码从Nova设置机器。 为OpenStack提供高可用性,社区内也有很多兴趣,这将成为Juno周期我的首要任务之一。
您的社区是否参加了Puppet OpenStack项目?
绝对! 实际上,这是我们从Puppet Labs外部获取大量代码的那些事情之一。 有许多不同的组织在生产中使用这些模块,我们一直在跟踪它的发展方向,因此实际上我们几乎是从Puppet Labs之外获得我们所有的贡献。 对我来说,这是另一件事,这真的很令人兴奋。 Puppet OpenStack模块确实是一个广泛分布的开源项目。
那真的是神奇的子弹,不是吗? 从一个很棒的主意开始,您的社区实际上会为您编写它吗?
是的,绝对! 我无法告诉您我对自己说过多少次,“我需要实现此新功能”,然后感觉像是在几分钟之内就想到对我自己来说,请求请求就来了。 看到它真的很有趣。
在哪里可以了解更多?
我真的鼓励任何对模块感兴趣的人,无论是从操作员的角度还是从开发人员的角度来看我们正在做什么。 我们有一个新的Puppet Labs OpenStack模块将在Icehouse版本中发布,这将为人们提供一个非常好的开始安装OpenStack的开始,同时也使他们了解如何使用和扩展其模块。自己的环境。
我们正在StackForge上开发所有源代码,因此欢迎人们前来,加入并贡献力量。 我们还有一个Puppet OpenStack 邮件列表 ,他们可以参与其中,并获得有关开发方向的更新。 我们也有一个Puppet OpenStack IRC频道(在Freenode上为#puppet-openstack),如果他们想立即提出任何疑问的话。
翻译自: https://opensource.com/business/14/5/managing-openstack-with-puppet
puppet部署