前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ansible Tower的容量规划与高可用设计

Ansible Tower的容量规划与高可用设计

作者头像
魏新宇
发布2018-06-25 15:25:08
1.4K0
发布2018-06-25 15:25:08
举报

一、Ansible Tower的高可用架构

Ansible tower可以配置集群,如果配置集群,至少有三个节点,并且是奇数个。例如下图:

三个ansibe tower组成的cluster共享一个postgreSQL数据库(当然也可以给数据库做高可用,如Hot standby/streaming replication或者Warm standby/log shipping方式);

每个节点上都有RabbitMQ,RabbitMQ可以连接所有的ansible toewer节点,并做任务下发的负载均衡(任务下发策略后面会提到);

一个任务下发到某一个tower上,任务执行过程中,如果节点出现故障,任务需要重新提交,在其他tower上执行;

Ansible tower集群中的任务有两类:

  1. housekeeping tasks,它包含:

(1)决定去哪运行job

(2)处理playbook信息

Tower cluster判断tower成员健康状态调用:/api/v2/ping

二、Ansible Tower容量规划

一个Ansible tower最小配置:

2个CPU(硬件超线程)

2GB内存

每个CPU(硬件超线程)最大可以有10个forks,4GB内存可以运行100个forks。

所以:

  1. 一个2 CPU、2G内存的tower可以运行20个forks
  2. 一个10CPU、4G内存的tower可以最多运行100个forks

当通过访问呢ansible tower发执行jod请求的时候,tower会计算这个运算这个jbos所需要的运算能capacity。

一个job运行所需要的运算能力公式:

(number of forks on the job) * 10 = (capacity consumed)

其中,number of forks on the job,指的是这个job执行的时候,并发执行节点的数量。例如,一个job是给100个Linux系统打补丁,如果每次对5个机器并发下发任务,那就需要下发20次。这个并发下发的数量,就是number of forks on the job。

那么,怎么计算一个tower的运算能力呢?参照公式:

50 + ((total memory in megabytes) / 1024) - 2) * 75

我们想象一个场景:运行一个job,需要50的运算能力,那么当job发起后,就会到tower集群中,寻找剩余运算能力不低于50的tower节点去执行。

因此,我们在给ansible tower做配置和设置job fork的时候,就需要尽量合理。

三、Ansible Tower的认证方式

Ansible tower的认证方式有:

  • Social authentication

Google OAuth2

GitHub OAuth2

  • Enterprise authentication

Azure Active Directory

SAML authentication

RADIUS authentication

  • LDAP authentication

Kerberos authentication

Active Directory and Kerberos

四、Ansible Tower中的workflow

在Ansible tower中,可以配置workflow。

workflow是将tower中已有的多个job串联、并联起来,组成任务流。

workflow的每一步使用不同的Playbook、Inventory和Set of credentials。

局内内容,后面内容会涉及。

五、Ansible Tower安装

首先查看实验环境:

下载tower软件包:

配置ansible tower集群的清单文件:

执行ansible tower cluster的安装:

安装完毕:

通过浏览器访问tower1:

配置psotgres数据库复制:

PostgreSQL Database for Replication创建配置文件

在tower集群中tower1创建用户

tower2上也可以看到这个用户:

创建孤立节点:

执行playbook:

安装成功:

再度登录ansible tower,可以看到孤立组:

六、Ansible Tower配置与LDAP的认证

查看tower集群:

安装openldap的客户端:

查看ldap中的信息:

配置LDAP:

配置完成以后,可以使用ldap的用户登录Ansible tower。

魏新宇

"大魏分享"运营者、红帽资深解决方案架构师

专注开源云计算、容器及自动化运维在金融行业的推广

拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、ITIL V3、Cobit5、C-STAR、AIX、HPUX等相关认证。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大魏分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PostgreSQL Database for Replication创建配置文件
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档