Ansible

1.Ansible的安装

安装epel源

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*

sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*  

dnf  list ansible    可以成功列出 进行下一步

下载ansible 需要的 插件 sshpass http://www.rpmfind.net/linux/centos/8-stream/AppStream/x86_64/os/Packages/sshpass-1.09-4.el8.x86_64.rpm

dnf install   ansible -y

2.构建Anisble清单

清单就是ansible控制主机的列表
/etc/ansible/hosts 全局清单文件
直接书写受管主机名或ip,每行一个
node1.westos.com
node2.westos.com
172.25.254.240
ansible 清单中组名称 [-i 清单文件] --list-hosts
ansible ungrouped --list-hosts    没有分组的 清单
ansible all --list-hosts

 

 单层清单

[list1]
node1.westos.com
node2.westos.com
[list2]
node2.westos.com
[list3]
172.25.254.240

嵌套清单

[westos:children]

list1

list3

 

 3.Ansible命令指定清单的正则表达式

* 所有 172.25.254.* westos*
: 逻辑或 westos1:linux
172.25.254.100:172.25.254.200
:& 逻辑与 westos1:&linux         主机即在westos1清单也在linux清单中
:! 逻辑非 westos1:!linux            在westos1中不在linux中
~ 以关键字开头
~(str1|str2) 以条件1或者条件2开头

 4.Ansible配置文件参数详解

ansible 清单中组名称 -m 模块 -u remote_user
配置文件的分类与优先级
/etc/ansible/ansible.cfg 基本配置文件,找不到其他配置文件此文件生效
~/.ansible.cfg 用户当前目录中没有ansible.cfg此文件生效
./ansible.cfg 优先级最高
常用配置参数
[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

 

 5.构建用户级Ansible操作环境 免密认证

创建 用户 westan

su - westan

 ssh-keygen  生成密钥 

 ansible westos -m shell -a 'useradd westan' -u root -k     给 被控主机添加用户
 ansible westos -m shell -a 'echo westos|passwd --stdin westan' -u root -k

 ansible westos -m file -a 'path=~/.ssh mode=700 state=directory'  -k  创建一个文件 设置权限

  ansible westos -m copy -a 'src=~/.ssh/id_rsa.pub dest=~/.ssh/authorized_keys mode=600' -k               复制密钥 

 修改sudo  让 普通用户有权限

创建.ansible 文件   复制 配置信息

vim  ~/.ansible/ansible.cfg 

 

 vim ~/.ansible/inventory

 免密认证成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淼祺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值