ansible部署安装及基本知识
1.ansible安装方式
(1)使用yum安装
yum install epel-release -y
yum install ansible –y
(2) 使用pip(python的包管理模块)安装
pip install ansible
#如果没pip,需先安装pip.
yum可直接安装:
yum install python-pip
pip install ansible
2.配置文件
Ansible.cfg是ansible自动化任务所用的一个核心配置文件,大部分的配置文件都集中在defualts配置项目中。
我的自动化实战课程讲解到ansble配置的时候,提供如下的问题,给大家作为参考阅读,defaults下的配置项,下面列出常用的配置参数
1)inventory
该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表 inventory = /root/ansible/hosts
2)library
Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录 library = /usr/share/ansible
3)forks
设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。 forks = 5
4)sudo_user
这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数 sudo_user = root //注意:新版本已经作了修改,如ansible2.4.1下已经为: default_sudo_user = root
5)remote_port
这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的 remote_port = 22
6)host_key_checking
这是设置是否检查SSH主机的**。可以设置为True或False host_key_checking = False
7)timeout
这是设置SSH连接的超时间隔,单位是秒。 timeout = 20
8)log_path
Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件 log_path = /var/log/ansible.log 另外需要注意,执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现的日志中的
9)private_key_file
在使用ssh公钥私钥登录系统时候,使用的**路径。 private_key_file=/path/to/file.pem
3.常用命令
(1)主机连通性测试:ansible all -m ping
(2)command:在远程主机执行命令;不支持|管道命令
执行指令 ansible all -m command -a 'ls'
3.shell操作:shell模块在远程主机上调用shell解释器运行命令,支持shell的各种功能,例如管道等 :
ansible all -m shell -a 'cat /etc/profile |grep "java"'