ansible初识

1. ansible简介

 ansible是一款基于Python的自动化运维工具,可以对系统进行批量配置、批量程序部署、批量执行命令。宏观的说,ansible是一种框架 ,他的各种模块才真正有批量部署能力。

2. ansible的特点 

1.部署简单,只需要在主服务器上操作,被控端无需任何操作

2.使用SSH协议对设备进行管理

3.具有大量的操作模块,功能强大

4.轻量级,只需要在操作的机器上进行更新即可

5.通过playbooks可以实现更多功能

3. ansible 的安装及配置详解

安装

简单的说,两种安装方式 yum和pip

```

yum -y install ansible(前提装好epel源)

(yum -y install epel-release)

pip install ansible(前提安装好python-pip包并安装)

```

配置文件

ansible的配置文件路径:/etc/ansible/ansible.cfg

inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置

library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号

host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提

示配置实例

timeout = 60 #设置SSH连接的超时时间,单位为秒

log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志)

ansible-doc帮助命令

```

ansible-doc -l #获取全部模块的信息

ansible-doc -s mod_name #获取指定模块的使用帮助


```

ansible 命令格式

ansible web -m 指定模块名 -a执行的命令

4. 配置主服务器和其他从服务器之间的关系

1.首先要推公钥(步骤如下)

ssh-keygen (生成公钥)

ssh-copy-id +ip地址 (记住,推给谁 连接谁就不需要密码)

这几个命令需要的安装包(yum -y install openssh-clientsansible)

2. cd到/etc/ansible中  然后 mv hosts hosts.bak 再 vim hosts 在其中添加 [web]   下面写被控制主机的ip地址

3. 运用命令 ansible web -m ping ip 命令进行连通性测试

至此配置完成 可以运用下面的各种模块进行部署

5.各种模块简介

1.command模块

这个模块可以直接在远程主机上执行命令 但是shell中的某些功能不能用 比如管道

```

ansible web -m command -a 'ss -ntl'

```

2. shell模块


shell模块可以在远程主机上调用shell解释器运行命令,支持shell的各种功能,例如管道等

```

ansible web -m shell -a 'cat /etc/passwd |grep "keer"'

```

3. copy 模块

这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。

ansible web -m copy -a 'src=~/hello dest=/data/hello'

你可能感兴趣的:(ansible初识)