0°

Ansible介绍(2):配置文件以及命令行模式

此处用3台机器做演示,机器如下:

Ansible 服务端 master 192.168.153.128
Ansible节点1:node1 192.168.153.129
Ansible节点2:node2 192.168.153.130

一、密钥互通

Ansible是基于ssh工作,为了方便,首先在机器之间做密钥来免密登录。

在master上敲命令: ssh-keygen -t rsa 然后一直回车

使用ssh-copy-id命令来复制Ansible公钥到节点:node1与node2
ssh-copy-id root@192.168.153.129
ssh-copy-id root@192.168.153.130

二、配置Ansible的hosts

如图,编辑该文件:

Ansible介绍(2):配置文件以及命令行模式

然后执行第一个ansible命令: ansible all -m ping

如图,连通性没问题的话就会出现下面的情形:

Ansible介绍(2):配置文件以及命令行模式

三、Ansible配置文件ansible.cfg

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
还有更多的配置项,大家可以参考官方文档,如下:
http://docs.ansible.com/ansible/latest/intro_configuration.html#private-key-file

四、Ansible常用模块

使用ansible的命令行模式来介绍常用模块

shell模块:使用shell模块,在远程命令通过/bin/sh来执行;

ansible all -m shell -a "free -m"

scripts模块:使用scripts模块可以在本地写一个脚本,在远程服务器上执行
ansible all -m script -a "~/test.sh"

copy模块:拷贝文件

ansible all -m copy -a "src=/etc/hosts dest=/etc/hosts owner=root group=root mode=0755"

file模块设置文件属性

ansible all -m file -a "dest=/path/to/c state=touch"

yum模块linux平台软件包管理。
ansible all -m yum -a "name=httpd state=latest"

service模块远程主机系统服务管理
ansible all -m service -a "name=httpd state=restarted"

上面的模块应该是最常用到的,其他模块大家可以前往官网查看

0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论