第 2 章 Ansible安装与配置

本章内容:

1. Ansible使用要求

2. 安装Ansible

3. 配置文件

4. Inventory(主机清单)

1. Ansible使用要求

服务端要求

Python2.6/2.7/3.x

RedHat,Debian,CentOS,OS X等。不支持Windows

被管理端要求

OpenSSH

Python2.6/2.7/3.x

2. 安装Ansible

yum install ansible (推荐)

pip install ansible

https://releases.ansible.com/ansible or https://github.com/ansible/ansible.git

3. 配置文件详解

# vi /etc/ansible/ansible.cfg 

[defaults]
inventory = /etc/ansible/hosts     #默认主机清单位置
forks = 5    #进程并发数默认为5
become = root     #执行命令时被管理端默认切换使用用户为root
remote_port = 22    #默认ssh远程端口
host_key_checking     = False #第一次ssh连接被管理端时忽略主机指纹检查
timeout = 10    #连接超时10s
log_path = /var/log/ansible.log     #默认ansible执行日志
private_key_file = /root/.ssh/id_rsa    #使用密钥登陆时,管理端私钥文件位置

4. Inventory(主机清单)

4.1 主机清单写法示例:

# 示例1:未分组的主机 

green.example.com 

blue.example.com 

192.168.100.1

192.168.100.10

# 示例2:属于webservers组主机集合

[webservers]

alpha.example.org 

beta.example.org 

192.168.1.100

192.168.1.110

www[001:006].example.com 

示例3:属于dbservers组主机集合连续数字集合简写

[dbservers] 

db01.intranet.mydomain.net 

db02.intranet.mydomain.net 

……

db100.intranet.mydomain.net 

db101.intranet.mydomain.net 

连续编号可简写为:

[dbservers] 

db[01:101].intranet.mydomain.net

4.2、主机和主机组变量:

主机清单变量引用

单个主机变量引用   

例如添加变量:http_port=80

[web]

192.168.0.13 ansible_ssh_user=root ansible_ssh_pass=123.com  http_port=80

192.168.0.14 ansible_ssh_user=root ansible_ssh_pass=123.com

输出变量:

[root@ansible~]# ansible 192.168.0.13 -a "echo {{http_port}}"

整个主机组变量引用 (在主机组web的基础上定义)

方法一:(在主机清单中直接定义)

[web:vars]

http port= 8080

server_name=www.ctnrs.com 

输出变量:

[root@ansible~]# ansible web -a "echo {{http_port}}"
192.168.0.13 | SUCCESS | rc=0 >> 
8080
192.168.0.14 | SUCCESS | rc=0>>
8080
[root a ansible~] # ansible web -a "echo{{server_name}}"
192.168.0.13 | SUCCESS | rc=0 >> 
www.ctnrs.com
192.168.0.14 | SUCCESS | rc=0>>
www.ctnrs.com

方法二:添加到单独的组变量文件中:

在ansible下创建目录group_vars:

mkdir /etc/ansible/group_vars

vim /etc/ansible/group_vars/web.yml (文件名需要跟组名相同)

http_port: 8080

server_name: www1.longtao.vip

注意:冒号后有空格再跟参数。

定义变量参数的优先级:

单台主机变量设定 > 单独的组变量文件设定 > 在主机清单中直接定义组变量

版权声明:
作者:WaterBear
链接:https://l-t.top/1934.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录