金融企业自动化运维平台技术和产品选型探讨?

题面描述:  想问下,在自动化平台事时,需先了解当前主流的自动化运维平台技术和成熟产品,然后制定相关的标准和规范。具体如下:
1、想了解当前主流自动化运维平台和技术的有哪些?ansible、puppet、saltstack、腾讯蓝鲸等。一般如何选型?
2、目前云管平台与堡垒机对接了,堡垒机含作业平台。再选择自动化运维平台是否重复?自动化运维平台与云管平台、堡垒机(含作业平台)等常见平台如何定位?如何结合使用?
3、自动化运维平台再生产过程中如何做权限规划和授权,比如是否给root?哪些人能使用?什么时候使用?

参与28

3同行回答

nkj827nkj827  项目经理 , 长春长信华天
用户可以结合自身情况合理的选择自动化运维平台技术Puppet也许是几款工具中最深入人心的。就可用操作、模块和用户界面而言,它是最全面的。Puppet呈现了数据中心协调的全貌,几乎涵盖每一个运行系统,为各大操作系统提供了深入的工具。初始设置比较简单,只需要在需要加以管理的...显示全部

用户可以结合自身情况合理的选择自动化运维平台技术
Puppet也许是几款工具中最深入人心的。就可用操作、模块和用户界面而言,它是最全面的。Puppet呈现了数据中心协调的全貌,几乎涵盖每一个运行系统,为各大操作系统提供了深入的工具。初始设置比较简单,只需要在需要加以管理的每个系统上安装主服务器和客户端代理软件。

命令行接口(CLI)简单直观,允许通过puppet命令下载和安装模块。然后,需要对配置文件进行更改,好让模块适合所需的任务;应接到指令的客户端与主服务器联系时,会更改配置文件,或者客户端通过立即触发更改配置文件的推送(push)来进行更改。

还有一些模块可以提供和配置云服务器实例和虚拟服务器实例。所有模块和配置都使用基于Ruby的Puppet专属语言或者Ruby本身构建而成,因而除了系统管理技能外,还需要编程专业知识。

Puppet企业版拥有最全面的Web用户界面,允许使用主服务器上的预制模块和菜谱(cookbook),实时控制被管理的节点。Web用户界面很适合用于管理,但是不允许对模块进行诸多配置。报告工具非常完善,提供了详细信息,以便了解代理软件运行如何、已做出什么样的变更。

Ansible

Ansible极其类似Salt,而不太类似Puppet或Chef。Ansible关注的重点是力求精简和快速,而且不需要在节点上安装代理软件。因此,Ansible通过SSH执行所有功能。Ansible基于Python;相比之下,Puppet和Chef基于Ruby。

Ansible可以通过Git软件库克隆,安装到Ansible主服务器上。安装完毕后,需要管理的节点被添加到Ansible配置环境,SSH授权密钥被附加到每个节点上,这与运行Ansible的用户有关。一旦完成了这步,Ansible主服务器可以通过SSH与节点进行通信,执行所有必要的任务。为了与默认情况下不允许根SSH访问的操作系统或发行版协同运行,Ansible接受sudo登录信息,以便在那些系统上以根用户的身份运行命令。

Ansible可以使用Paramiko(基于SSH2协议的Python实现)或标准SSH用于通信,不过还有一种加速模式,允许更快速、更大规模的通信。

针对确保服务在运行,或者触发更新和重新启动之类的简单任务,Ansible可以从命令行来运行,不需要使用配置文件。至于比较复杂的任务,Ansible配置通过名为Playbook的配置文件中的YAML语法来加以处理。Playbook还可以使用模板来扩展其功能。

Ansible有一大批模块,可用于管理各种系统以及亚马逊弹性计算云(EC2)和OpenStack等云计算基础设施。可以用几乎任何一种语言来编写自定义Ansible模块,只要模块输出是有效的JSON。

Ansible的Web用户界面以AnsibleWorks AWX的形式出现,但AWX与CLI并不直接联系在一起。这意味着,除非进行了同步过程,否则CLI里面的配置元素不会出现在Web用户界面中。你可以使用那个内置的同步工具,让两者保持一致,但需要按照预定计划运行同步工具。

SaltStack

Salt类似Ansible,因为它也是基于CLI的工具,采用了推送方法实现客户端通信。它可以通过Git或通过程序包管理系统安装到主服务器和客户端上。客户端会向主服务器提出请求,请求在主服务器上得到接受后,就可以控制该客户端了。

Salt可以通过普通的SSH与客户端进行通信,但如果使用名为minion的客户端代理软件,可以大大增强可扩展性。此外,Salt含有一个异步文件服务器,可以为客户端加快文件服务速度,这完全是Salt注重高扩展性的一个体现。

与Ansible一样,你可以直接通过CLI,向客户端发出命令,比如启动服务或安装程序包;你也可以使用名为state的YAML配置文件,处理比较复杂的任务。还有“pillar”,这些是放在集中地方的数据集,YAML配置文件可以在运行期间访问它们。

你可以直接通过CLI,向客户端请求配置信息,比如内核版本或网络接口方面的详细信息。只要使用名为“grain”的库存元素,就可以描述客户端;这样一来,管理员可以轻松向某一种类型的服务器发出命令,不需要依赖已配置群组。比如说,只要使用一个CLI命令,你就可以向运行某个内核版本的每个客户端发送命令。

与Puppet、Chef和Ansible一样,Salt也提供了大量的模块,以处理特定的软件、操作系统和云服务。自定义模块可以用Python或PyDSL来编写。除了Unix管理外,Salt的确提供Windows管理功能,但它还是更擅长管理Unix和Linux系统。

Salt的Web用户界面Halite非常新,功能不如其他系统的Web用户界面来得全面。它提供了事件日志和客户端状态的视图,能够在客户端上运行命令,但除此之外乏善可陈。

Salt的较大优点在于可扩展性和弹性。你可以有多个级别的主服务器。上游主服务器可以控制下游主服务器及其客户端。另一个优点在于对等系统,让客户端可以向主服务器提出问题,然后主服务器从其他服务器得到答案,提供全面信息。如果需要在实时数据库中查询数据,以便完成客户端的配置,这个优点就很方便。

收起
系统集成 · 2020-04-03
浏览2218
youki2008youki2008  系统架构师 , DDT
如果采用开源的自动化运维工具的话,推荐ansible,这个组件已经被红帽收购,目前已经集成到红帽的最新操作系统中了。如果采用商业版的软件的话建议采用腾讯的蓝鲸。显示全部

如果采用开源的自动化运维工具的话,推荐ansible,这个组件已经被红帽收购,目前已经集成到红帽的最新操作系统中了。如果采用商业版的软件的话建议采用腾讯的蓝鲸。

收起
互联网服务 · 2020-04-25
浏览1924
asdf-asdfasdf-asdf  研究学者 , cloudstone
uyun 产品目前也见过生产, 腾讯蓝鲸也不错开源的 puppet , ansible, saltstack 选择很多, 但二次开发的需求都很多如果必须选择一个开源产品 建议使用 saltstack商业的 看你业务需求  页面开发, 需要单独团队...显示全部

uyun 产品目前也见过生产, 
腾讯蓝鲸也不错
开源的 puppet , ansible, saltstack 
选择很多, 但二次开发的需求都很多
如果必须选择一个开源产品 建议使用 saltstack
商业的 看你业务需求  页面开发, 需要单独团队

收起
软件开发 · 2020-05-07
浏览1859

提问者

systemroot
系统工程师中国航空结算有限责任公司
擅长领域: 云计算云管平台容器云

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-03-05
  • 关注会员:4 人
  • 问题浏览:3968
  • 最近回答:2020-05-07
  • X社区推广