文章目录

  • ansible的安装
  • epel源安装
  • 源码安装
  • ansible常用命令和常用参数
  • ini格式书写/etc/ansible/hosts(清单)文件
  • 对受管主机添加别名
  • ansible的免密认证
  • 测试别名+免密访问
  • 一次性操作清单中的所有主机
  • 分组管理主机
  • 分组内容的简写形式
  • 测试主机名访问受管主机
  • 测速主组和子组
  • yaml格式的清单编写



实验环境:

172.25.2.10 server1 ansible软件主机
172.25.2.11 server2 受管主机1
172.25.2.254 server3 受管主机2

ansible的安装

epel源安装

EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。

ansible源码包怎么下载 ansible源码安装详解_常用命令

1.在server1中,在虚拟机网络畅通的情况下,并且本地yum源配置正常的情况下

ansible源码包怎么下载 ansible源码安装详解_主机名_02

ansible源码包怎么下载 ansible源码安装详解_主机名_03

ansible源码包怎么下载 ansible源码安装详解_常用命令_04


直接联网下载

ansible源码包怎么下载 ansible源码安装详解_常用命令_05

发现epel源已经下载好

ansible源码包怎么下载 ansible源码安装详解_常用命令_06

直接yum install ansible就可以,安装好之后ansible不需要手动启动或者关闭

源码安装

此操作也需要在联网的情况下,

ansible源码包怎么下载 ansible源码安装详解_源码安装_07

ansible源码包怎么下载 ansible源码安装详解_源码安装_08

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_09

mkdir /etc/ansible

ansible源码包怎么下载 ansible源码安装详解_主机名_10

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_11

ansible常用命令和常用参数

ansible常用参数及命令
常用参数 功能

-m 	要执行的模块,默认为command
-a 	指定模块的参数
-u 	ssh连接的用户名,默认用root,ansible.cfg中可以配置
-b,–become 	变成那个用户身份,不提示密码
-k 	提示输入ssh登录密码,当使用密码验证的时候用
-s 	sudo运行
-U 	sudo到哪个用户,默认为root
-K 	提示输入sudo密码,当不是NOPASSWD模式时使用
-C 	只是测试一下会改变什么内容,不会真正去执行
-c 	连接类型(default=smart)
-f 	fork多少进程并发处理,默认为5个
-i 	指定hosts文件路径,默认default=/etc/ansible/hosts
-I 	指定pattern,对已匹配的主机中再过滤一次
-list-host 	只打印有哪些主机会执行这个命令,不会实际执行
-M 	要执行的模块路径,默认为/usr/share/ansible
-o 	压缩输出,摘要输出
–private-key 	私钥路径
-T 	ssh连接超时时间,默认是10秒
-t 	日志输出到该目录,日志文件名以主机命名
-v 	显示详细日志

常用命令

ansible命令使用场景:

非固化需求
    临时一次性操作
    二次开发接口调用
ansible-doc -l  #显示所有可用模块
ansible-doc yum   #获取yum模块帮助
ansible server2 -m setup  		##查看指定主机server2上的facts变量信息
ansible all -m setup   			##查看指定的所有主机上的facts变量信息
ansible '*' -m setup			##同上
ansible-doc -l | wc -l		##列出有多少个可用的模块
ansible-doc user			##查看user模块的帮助文档,按q退出。也可以在最后一行输入/passwd,来过滤与passwd有关的内容
ansible test -a 'df -h'  	##在test组执行df -h命令

ini格式书写/etc/ansible/hosts(清单)文件

ansible源码包怎么下载 ansible源码安装详解_常用命令_12

ansible源码包怎么下载 ansible源码安装详解_主机名_13

ansible源码包怎么下载 ansible源码安装详解_主机名_14

对受管主机添加别名

别名不是/etc/hosts中的主机名,两者不一样,给11的别名是testA

ansible源码包怎么下载 ansible源码安装详解_主机名_15

ansible源码包怎么下载 ansible源码安装详解_源码安装_16

ansible的免密认证

1.在ansible主机上

ansible源码包怎么下载 ansible源码安装详解_源码安装_17

2.给自己一份(其实这里最好用ip)

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_18

3.给受管主机(server2和serevr3)分别一份

ansible源码包怎么下载 ansible源码安装详解_常用命令_19

测试别名+免密访问

ansible源码包怎么下载 ansible源码安装详解_常用命令_20

ansible源码包怎么下载 ansible源码安装详解_主机名_21

ansible源码包怎么下载 ansible源码安装详解_主机名_22

一次性操作清单中的所有主机

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_23


ansible源码包怎么下载 ansible源码安装详解_源码安装_24

ansible源码包怎么下载 ansible源码安装详解_主机名_25

分组管理主机

ansible源码包怎么下载 ansible源码安装详解_主机名_26

ansible源码包怎么下载 ansible源码安装详解_常用命令_27

ansible源码包怎么下载 ansible源码安装详解_主机名_28

ansible源码包怎么下载 ansible源码安装详解_常用命令_29

1.

ansible源码包怎么下载 ansible源码安装详解_常用命令_30

ansible源码包怎么下载 ansible源码安装详解_主机名_31

2.

ansible源码包怎么下载 ansible源码安装详解_主机名_32

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_33

分组内容的简写形式

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_34

ansible源码包怎么下载 ansible源码安装详解_常用命令_35

ansible源码包怎么下载 ansible源码安装详解_主机名_36

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_37

ansible源码包怎么下载 ansible源码安装详解_主机名_38

测试主机名访问受管主机

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_39

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_40

ansible源码包怎么下载 ansible源码安装详解_常用命令_41

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_42

ansible源码包怎么下载 ansible源码安装详解_常用命令_43

ansible源码包怎么下载 ansible源码安装详解_常用命令_44

ansible源码包怎么下载 ansible源码安装详解_源码安装_45

测速主组和子组

ansible源码包怎么下载 ansible源码安装详解_源码安装_46

1.

ansible源码包怎么下载 ansible源码安装详解_源码安装_47

ansible源码包怎么下载 ansible源码安装详解_常用命令_48

2.

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_49

ansible源码包怎么下载 ansible源码安装详解_主机名_50

ansible源码包怎么下载 ansible源码安装详解_常用命令_51

yaml格式的清单编写

ansible源码包怎么下载 ansible源码安装详解_常用命令_52

ansible源码包怎么下载 ansible源码安装详解_主机名_53

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_54

ansible源码包怎么下载 ansible源码安装详解_源码安装_55

ansible源码包怎么下载 ansible源码安装详解_常用命令_56

ansible源码包怎么下载 ansible源码安装详解_ansible源码包怎么下载_57