ansible配置详解2

一:ssh无密码登陆
1.安装sshpass包

yum install sshpass

在这里插入图片描述
2.## 配置文件/etc/ansible/ansible.cfg
[defaults]
inventory = /etc/ansible/hosts #主机清单读取文件
forks = 5 #允许并发数,即可同时执行5个任务
default_sudo_user = root #用户
remote_port = 22 #端口号
host_key_checking = False #主机检查
timeout = 20 #超时
log_path = /var/log/ansible.log #日志路径

vi /etc/ansible/ansible.cfg

在这里插入图片描述

在这里插入图片描述
1.生成一对密钥
#ssh-keygen -t rsa 在执行的过程中,对询问直接按回车
命令执行完毕,会在/root/.ssh下生成一对密钥,其中id_rsa为私钥,id_rsa.pub为公钥,公钥需要下发到远程主机用户的.ssd目录

ssh-keygen -t rsa

在这里插入图片描述
注意他也会让你输入两次密码
在这里插入图片描述
2.将公钥下发到远程主机
#ssh-copy-id root@192.168.126.13

ssh-copy-id root@192.168.126.132

注意这一步也会让你输入密码
在这里插入图片描述

3.保管私钥

ssh-agent bash
ssh-add /root/.ssh/id_rsa

在这里插入图片描述

4.完成配置后,用ping模块对节点进行ping操作,测试节点与管理机是否连通

ansible 192.168.126.130 -m ping

在这里插入图片描述

如果出现如下这个问题
在这里插入图片描述

注:192.168.126.131失败,是因为我没有创建这个IP地址的虚拟机

二:ad-hoc
Ad-hoc简而言之,就是“临时命令”
Ansible中有两种模式,分别是ad-hoc模式和playboook模式
使用场景:1.在多台机器上,查看某个进程是否启动
2.在多台机器上,拷贝指定日志文件到本地
Ad-hoc模式的命令使用格式:ansible [options]
1.Host-pattern:匹配主机名或者主机组名
例如:ansible 192.168.1.* -a ‘ls /tmp’ ansible group1 -a ‘ls /tmp’ ansible test1 -a ‘ls /tmp’

注意这里是填写主机二的IP地址

ansible 192.168.126.132 -a "ls /tmp"

在这里插入图片描述
这里报错了
在这里插入图片描述

利用

ls

查看文件列表
在进入hosts文件
在这里插入图片描述
然后再进入tmp文件

cd tmp

在这里插入图片描述
在这里插入图片描述
2.options:包括执行的模块和执行命令参数
#ansible 192.168.126.132 -a ‘ls /tmp’ -vvv #一个v显示详细执行过程信息,三个v可得到所有执行过程

ansible 192.168.126.132 -a 'ls /tmp' -vvv

在这里插入图片描述
在这里插入图片描述
3.ad-hoc模式常用模块
在这里插入图片描述
在这里插入图片描述

-l 展示出ad-hoc模式下所支持的模块名称以及作用

/usr/bin/ansible-doc -l

在这里插入图片描述

ansible 192.168.126.132 -m fetch -a "src=/etc/fstab dest=/testdir/ansible/"

4.假如我们想要将192.168.126.132组中所有主机的/etc/fstab文件拉取到本地,则可以使用如下命令

如上述命令所示,-m选项用于调用指定的模块,”-m fetch”表示调用fetch模块,-a选项用于传递模块所需要使用的参数, -a “src=/etc/fstab dest=/testdir/ansible/”表示我们在使用fetch模块时,为fetch模块传入了两个参数,src与dest。

在这里插入图片描述
发现输出为黄色,为什么呢?
再输入一次这个命令

ansible 192.168.126.132 -m fetch -a "src=/etc/fstab dest=/testdir/ansible/"

在这里插入图片描述
怎么又变绿了呢?
当返回信息为绿色时,”changed”为false,表示ansible没有进行任何操作,没有”改变什么”。
当返回信息为黄色时,”changed”为true,表示ansible执行了操作,”当前状态”已经被ansible改变成了”目标状态”。

5.setup模块
用于获取节点的详细信息,包括硬件和软件信息,如主机IP、环境变量等

ansible 192.168.126.132 -m setup

在这里插入图片描述
6.copy模块
该模块可以实现从管理机向节点复制静态文件,并且设置合理的文件权限
参数:dest:文件复制的目的地
Src:复制的源文件
Backup:是否备份源文件
Validate:复制前是否检验需要复制目的地的路径
例:将/etc/hosts文件复制到所有节点的/root目录下

ansible all -m copy -a 'dest=/root src=/etc/hosts'

在这里插入图片描述

登陆到132看一下是否成功
在这里插入图片描述
很明显是成功了

7.yum模块
该模块能够从指定的服务器自动下载安装RPM包,并且可以自动处理依赖性关系
参数:config_file:yum配置文件
Disable_gpg_check:是否开启GPG检查
Disablerepo:禁用仓库
Name:包名
State:选项:present:安装 latest:更新 absent:卸载
例如:使用yum模块在节点129上安装命令tree (注意这一步是在主机1上操作)

ansible 192.168.126.132 -m yum -a "name=tree state=present"

在这里插入图片描述
若已经安装,则为绿色

8.service模块
该模块用来管理节点上的服务,可以开启、关闭、重启等服务,如httpd、sshd、nfs、crond等服务
例如:启动firewalld服务

ansible 192.168.126.132 -m service -a "name=firewalld state=started"

在这里插入图片描述
在这里插入图片描述

恭喜完成,至此ansible配置2就已经完成了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值