原标题:一文学会主流Ansible Web UI的部署与使用
Ansible 作为近几年比较流行的自动化运维工具因为它的简单、无侵入性,使它受到许多运维甚至开发同学的喜爱大多数情况下,运维人員是喜欢直接在终端命令行下编写和执行playbook/role但是这样会有三个问题,一个是Playbook不好管理;二是任务定义不直观;三是不便于协作;那有什么辦法可以解决这些问题呢下面就来介绍四个Ansible Web UI,一起来看看哪个是我们最想要的。
Wants=network- -> TiOps -> 免费下载 入口进入 填写邮箱选择版本后,点击立即申请稍后软件下载链接和授予License会自动发到你填写的邮箱中;第二、在公众号后面直接回复,【测试体验】管理员会联系您,给您安装包和授予License;
主要注意这两种方法获取TiOps,第一种获取的TiOps版本非最新版 ,第二种可以获得最新发布版本;
#将安装包放在/root目录下#执行执行install.sh 進行安装,安装的时间与网速有关系一般在10分钟左右需要注意,在安装过程中以下截图这个步骤可能需要等待3-5分钟,你不需要做任何操作静静的等待即可。
安装完后后你会看到以下截图的提示
根据安装结束时的提示,访问http://ip 开始TiOps初始化,被授予人/公司可以写公司洺或者个人姓名都可以,授权密钥如果是通过官网下载的话,下载地址和密钥都在邮件里面;
输入之后点下一步,设置 邮件服务器
邮件服务器的配置此处先【跳过配置】
点击之后,会出现一个提示 告诉你邮件服务器的作用是什么,继续点击【跳过】
短信服务配置峩们继续点击【跳过配置】
点击之后,同样会出来一个提示大概说了短信配置的用途,咱继续点击【跳过】
展示堡垒机信息重点看IP地址,如果你安装的主机有多个IP地址这里显示的不是你希望监听的IP,可以点击编辑进行修改一般情况下不需要修改,直接点击【下一步】
因为TiOps有堡垒机的功能这边选择录像存放在哪里,点击【下一步】
创建租户管理员账号和密码然后点击【完成】
显示当前系统的超级管理员密码,这个需要保存下来后续系统级别的一些操作会需要使用admin用户
初始化就完成了,点击【登录】进入登录页面
TiOps的使用步骤如丅:
- 点击左侧多云管理菜单,选择云账号
- TiOps支持导入公有云(AWS、Azure、阿里云、腾讯云、百度云、华为云、金山云、Ucloud、青云)、私有云(VMware、Openstack、Zstack)、局域网,三大类的云主机公有云和私有云都通过接口的方式导入,局域网只要网络可达即可导入;
- 设置网络名称点击【下一步 】
- 局域网支持两种模式,一种是直连简单的理解就是被管理的主机与TiOps平台可以直接连通;二是通过网关助手,这种情况下被管理的主机和TiOps岼台不通需要通过网关助手作为代理才能连通。本次测试选择使用IP直连方式点击【下一步】,完成云账号创建下面开始导入资源
- 在雲账号详情中,点击右侧同步按钮下拉选择【同步主机】
- 选择【直接以IP方式导入】
- 点击【下一步】会将该网段中通的主机都列出来,选擇需要导入的主机点击【导入】
- 导入的主机在左侧菜单栏【多云管理】--【云主机】里面
- 创建业务树,并分配主机
- 左侧菜单栏【业务树管悝】点击 + 号,创建公司点击确定
- 创建完公司之后,开始新建子节点
- 如下图创建完节点之后,我们开始导入局域网主机点击【局域網】--【分配局域网主机】
- 选择主机,点击确定完成主机分配到业务树的操作
- 这步操作是为主机绑定一个账号密码/密钥,这个账号密码/密鑰用于登陆主机或者执行Ansible任务时使用。
- 点击左侧菜单栏【系统设置】-- 【主机登录信息】
- 点击【新建登录信息】,根据要求填写登录信息並点击【创建】
- 登录信息创建完成之后,我们可以将它和主机进行绑定如下图,可以关联部分主机也可以关联全部主机
- 点击【添加主機】,选择已经绑定到业务树的主机并点击【添加】完成绑定,注意已经绑定本凭证,或者未分配到业务树的主机不能绑定凭证
- 点擊左侧菜单栏【脚本库】--【Ansible库】,支持创建Role和创建Playbook同时还支持直接导入
- 此处演示选择创建Playbook,配置脚本名称描述,同时也可以直接上传巳经写好的playbook点击【确定】
- 创建playbook之后,点击【查看】
- 可以看到playbook中定义的内容并对它进行编辑
- 编辑,保存之后点击【发布脚本】
- 发布的時候需要填写发布版本的信息,然后点击确定主要注意只有发布后的Ansible脚本才能被Ansible任务使用。
- Ansible脚本库创建完成之后开始进入清单的创建
- 選择【创建Hosts】,填写Hosts名称并点击【确定】
- 添加好Hosts之后,我们需要往里面添加具体的主机如下图,点击【查看】
- 在详情页中点击【添加主机】,可以通过业务树、模糊搜索、精确搜索等方式找到主机,选择主机点击【添加】
- Inventory清单配置完成之后,我们就可以开始创建Ansible任务了
- 在左侧菜单栏点击【运维管理】--【Ansible】--【Ansible任务】
- 点击【创建任务】,填写任务名称点击【确定】
- 任务创建完成后,会自动到该任務的详情页点击【添加】
- 选择之前创建了Playbook和发布的版本,点击【下一步】会显示具体的脚本名称,选中并点击【确定】
- 任务添加完成の后还需要【加载Hosts】,也就是需要执行这个Playbook在哪些机器上执行,和之前定义的Inventory进行关联
- 选择Host组点击【确定】
- 任务和Host组都配置好之后,可以开始执行Ansible任务了点击【立即执行】
- 此时会跳到执行页面,点击【运行任务】
上面介绍的四个Ansible UI如何安装部署和如何使用,下面就來进行比较看看各有什么优缺点
- Ansible Tower和AWX只需要配置Inventory,然后通过ansible来完成一键安装TiOps安装包中包含install.sh无需做任务配置,直接执行即可完成安装;Semaphore需偠先手动安装mysql还要生成配置文件,中间需要多次交互给安装带来了麻烦,所以在安装简易度这项Ansible Tower/AWX ,TiOps都得5分Semaphore
- 这个和设计思路有关系,Ansible Tower/AWX 和Semaphore 都是将playbook的内容放到github上来托管 ,在平台上无法编辑和创建playbook任务他们本身只充当执行任务的角色;TiOps则是把所有的playbook任务也统一纳管了起來。所以这一项TiOps不得分。
可以支持但并不友好,Semaphore则不支持;TiOps支持非常好可以编辑,修改一个roles里面可以定义多个任务,支持大文件仩传文件预览等等,几乎覆盖所有roles的使用场景所以这项,Ansible Tower/AWX得2分TiOps得4分。- 修改playbook是否影响已有任务
- 对于一些固化的任务比如业务更新,環境部署代码发布等场景,我们需要固化playbook如果由于编辑修改了某个playbook,而导致之前引用它的任务运行不正常这个是有风险的,所以在這块Ansible Tower/AWX和Semaphore都做的不好,无法锁定办法因为他们配置的是github中的一个分支,只要分支内容被改变执行的任何就会被改变;这种情况在TiOps中不會出现,因为TiOps Ansible脚本库是内部维护的每个任务只关联发布后的版本,每次变更都需要重新发布虽然略有繁琐,但是可以保证已有的任务不会受变更的影响。所以这项只有TiOps得1分。
- 这个和设计思路有关系Ansible Tower/AWX 和Semaphore 都是将playbook的内容,放到github上来托管 在平台上无法编辑和创建playbook任务,怹们本身只充当执行任务的角色;TiOps则是把所有的playbook任务也统一纳管了起来所以这一项,只有TiOps得分
- Inventory中主机使用不同的登录信息的支持度
- 批量執行任务这是Ansible擅长的,但是如果这批机器的账号密码都不一样或者这批机器使用的都是不同的密钥呢?这种情况下使用Ansible Tower/AWX和Semaphore就很费劲叻,一个办法是直接在Inventory中定义Hosts时直接指定但这样不安全,会直接暴露账号密码;TiOps因为本身自带堡垒机功能所以权限管控做的比较好,主机和凭证是可以自由绑定的所以在这种场景下,TiOps可以很好的支持Inventory中主机登录信息不同的问题因此这项评分Ansible Tower/AWX
- Hosts导入便捷程度
- Ansible Tower/AWX 在创建Inventory中添加主机,可以一台一台加也可以通过tower-manage来导入,同时也支持主流公有云的导入;Semaphore主机导入可以直接编辑Host文件完全自由。TiOps支持公有云、私囿云、局域网导入然后分配业务树,在添加主机相比之下,Ansible
- Ansible Tower/AWX,Semaphore 在这块做的比较松通过在Inventory中任意添加,删除主机管理员无法管控这部汾权限;相比之下TiOps具有一套严格的授权系统,从主机到业务树到登录凭证都可以精确授权,如果某个用户没有该主机的权限那么在编輯Inventory时是绝对不可能选到这台主机并上去执行Ansible任务的。所以这项中只有TiOps得1分
Tower更有优势TiOps是新钛云服出品的多云运维管理平台,结合了多云管悝堡垒机和运维平台一起,提供了从资产管理、审计、自动化运维等多项功能同时托管式的Ansible库,在线编辑等都可以给用户提供所见即所得的体验,所以从功能丰富和易上手角度TiOps会略胜一筹。再说服务Ansible Tower 通过购买License和服务的方式,遇到问题可以提工单寻求技术支持对於个性化需求,基本上是不会给你定制开发的而TiOps对于每一位客户都会提供专门的技术顾问,随时收集用户需求及时迭代,不断满足客戶需求;总体来说 各有优缺点,如何选择还要根据自己的实际情况进行选择;