Ansible的安装和部署步骤以及配置文件的解析


一、Ansible的安装

1.Ansible的安装

以下为epel源连接

https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm		#搭建好的仓库即可进行安装
dnf install ansible -y			#安装下载该软件

二、构建清单

1. 直接设定首管控的IP或是主机名

/etc/ansible/hosts						#全局主机清单文件
/etc/ansible/ansible.cfg				#默认配置文件(很少修改)
vim /etc/ansible/host 					#任意位置添加被控主机IP或是主机名
172.25.254.190
westoslinux.westos.org					

在这里插入图片描述

ansible 172.25.254.190 -m ping -k			#-k表示添加认证然后使用ssh服务时使用的密码即可的登陆受控主机

2. 设定首管控的主机组的名称

  1. 嵌套式清单
    设定清单如下所示为
[westos:children]
westos1
westos2
[westos1]
172.25.254.190
[westos2]
172.25.254.91
ansible westos --list-hosts					#查看名为westos嵌套清单

在这里插入图片描述2. 单层清单
以下内容为单层清单的写法

[westos1]
172.25.254.190
ansible westos1 --list-hosts	#显示名为westos1的清单

3. 主机规格范围优化

通过语法的方式指定清单中的主机名或是范围
示例如下

#[start:end]						#注意此行需要注释掉才能进行生效
[westos3start]						#这个清单名为westos3start
172.25.254.[90:92]

在这里插入图片描述

4. 指定其他清单文件

  1. 清单内容如下
172.25.254.1
[westos:children]
westos1
westos2
westos3
[westos1]
172.25.254.190
[westos2]
172.25.254.91
#[start:end]
[westos3]
172.25.254.[100:110]
  1. 查看命令如下所示
ansible ungrouped -i inventory --list-hosts				#不再清单内的会直接显示出来
ansible westoslist -i inventory --list-hosts			#显示指定清单内的内容
ansible all -i inventory --list-hosts					#显示所有的内容
3. 正则表达式部分
*											#表示匹配所有即172.25.254.下的所有ip
:											#或表示两个条件满足一个就判定成立
:!											#逻辑非即表示这来两个条件都不成立才可判定成功
:&											#逻辑与即两个条件都满足才可成功判定
~											#表示以什么关键字开头

示例
在这里插入图片描述

四、配置参数文件

1. 配置参数内容解释

#[default]				#基本信息设定
inventory=				#指定清单路径
remote_user=			#在受管主机上登陆的用户名称,未指定使用当前用户
ask_pass=				#是否提示输入SSH密码,如果公钥登陆设定为false
library=				#库文件存放目录
local_tmp=				#本机临时命令执行目录
remote_tmp=				#远程主机临时py命令文件存放目录
forks=					#默认并发数量
host_key_checking=		#第一次连接受管主机时是否要输入yes建立host_key
sudo_user=				#默认sudo用户
ask_sudo_pass=			#每次在受控主机执行ansible命令时是否询问sudo密码
module_name=			#默认模块,默认使用command,可以修改为shell
log_path= 				#日志文件路径
[privilege_escalation]	#身份信息设定
become=					#连接后是否自动切换用户
become_method=			#设定切换用户的方式,通常用sudo
become_user=			#在受管主机中切换到的用户,通常为root
become_ask_pass=		#是否需要为become_method提示输入密码,默认为false

2.配置文件的分集以及配置文件的级别

/etc/ansible/ansible.cfg			#全局配置文件针对全局进行生效,一般不进行更改
~/.ansible.cfg						#在该用户的家目录下进行配置没有全局配置文件时该文件生效

在这里插入图片描述

在这里插入图片描述
将sudo提权的更改为免密执行使得其可以进行免密执行全部的用户权限
%wheel ALL=(ALL) NOPASSWD: ALL
这一行会影响结果必须注释掉才能执行

在这里插入图片描述

Ansible实际上是将我们输入的命令转换为Pythone后发送到被控主机进行执行,执行过后在进行删除使得被控主机可以执行该命令。


总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值