自动化工具Ansible

Posted 有暗香盈袖c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化工具Ansible相关的知识,希望对你有一定的参考价值。

喜欢 · 再关注

再小的努力乘以365都很明显。


1.
Ansible架构模式


Ansible是由控制机和被管理机组成:控制机是用来安装Ansible工具软件和执行指令的服务器,被管理机是指运行业务的服务器,由控制机通过SSH进行管理。

自动化工具Ansible


2
Ansible管理方式

Ansible是一个模型驱动管理器,支持多节点发布,远程任务执行,默认使用SSH远程连接,无需在被管理节点上安装附加软件。

自动化工具Ansible


3
Ansible系统架构

Ansible集合了许多运维工具,实现了批量系统配置、批量程序部署,批量运行命令等功能,Ansible是基于模块工作的,本身没有批量部署的能力,真正干活的Ansible所运行的模块,Ansible只提供一种框架。


4
Ansible功能特性
  • 应用代码自动化部署;

  • 系统管理配置自动化;

  • 支持云计算、大数据平台;

  • 轻量级无需安装agent;

  • 批量任务执行可用脚本无需分发到远程;

  • 支持非root用户和sudo;


5
Ansible任务执行流程

Ansible系统由控制主机对被管节点的操作方式可分为两类(ad-hoc)和(playbook)

  • ad-hoc支持单个模块,支持批量执行单条命令;

  • playbook通过多个task集合完成一类功能,可以理解为通过组合多条ad-hoc操作的配置文件;

自动化工具Ansible


6
Ansible安装配置

Ansible的安装方式非常灵活,满足各种环境的部署需求。

1
YUM安装
安装epel作为Ansible的默认yum源
#以CentOS7.2安装阿里的epel为例
rpm -Uvh https://mirrors.aliyun.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

其他源可参考:

安装Ansible
yum install -y ansible
2
Ansible配置参数

配置文件在:/etc/ansible/ansible.cfg

参考:http://www.ansible.com.cn/docs/intro_configuration.html#config-values-by-section

inventory

这个参数表示资源清单 . inventory文 件 的 位 置 , 资源清单就是 一些Ansible需要连接管理的主机列表 。

实例如下:

inventory == /etc/Ansible/hosts

library

Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块 , 这个library参数就是指向存放Ansible模块的 目录 。 

实例如下:

library = /usr/share/Ansible

Ansible支持多个记录方式,只要用W号(:)隔幵就可以,同时也会检査当前执行playbook位罝下的•/library目录。

forks

默认悄况下Ansible最多能有多少个进程同时丁-作,默认设置敁多5个 进程并进行理 。 具体需要设置多少个,可以根据控制主机的性能和被管节点的数诂来确定,可能是50或100,默认值5是非常保守的设置。

实例如下:

forks = 5

sudo_user

这是设罝默认执行命令的用户,也可以在playbook中重新设置这个参数。

实例如下:

sudo_user = root

remote_port

这是指定连接被管节点的管理端口,默认是22。除非设置了特殊的SSH端门.不然这个参数一般是不需要修改的。

实例如下:

remote_port = 22

host_key_checking

这是设置是否检査SSH主机的密钥。可以设置为True或False。

实例如下:

host_key_checking = False

timeout

这是设置SSH连接的超时间隔,单位是秒。

实例如下:

timeout = 60

log_path

Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录 到日志文件,需要设置log_ path指定一个存储Ansible日志的文件 。

实例如下:

log__path = /var/log/Ansible. log


注意:

执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现在日志中的。
自动化工具Ansible

自动化工具Ansible推荐阅读



自动化工具Ansible每日一句


大部分人在二三十岁就已经死去了,因为过了这个年龄,他们只是自己的影子,此后的余生则是在模仿自己中度过,更机械,更装腔作势地重复他们在有生之年的所作所为,所思所想,所爱所恨。 by 罗曼·罗兰

自动化工具Ansible

          

钟 意 请 长 按

以上是关于自动化工具Ansible的主要内容,如果未能解决你的问题,请参考以下文章

基础Ansible 自动化运维工具简单入门

ansible plugins简介

基于ansible的zabbix源代码安装

ANSIBLE自动化工具

DevOps - 配置管理工具Ansible

自动化运维工具——ansible详解案例分享