bilibili视频地址
无主无从, 开箱即用, 用完就走, 只要能用ssh即可使用ansible
总结 分成两部分
ssh
ansible只要在controller控制节点上安装即可, 其它的节点可以通过ssh协议进行连接操作
安装
yum -y install epel-release
yum -y install ansible
验证
rpm -qa | grep ansible
ansible-2.8.1
- 从主机清单中读取主机列表进行配置
- 实现主机分组
主机清单文件
/etc/ansible/hosts
192.168.1.11
myweb1 # 能够解析
[webgroup1]
192.168.1.11
myweb2
免密登陆
两步免密登陆
定义主机清单文件
vim /etc/ansible/hosts
添加主机IP
192.168.1.111
...
ansible 主机清单中IP或分组名称 -m 模块
ansible 192.168.1.111 -m ping
输出
"ping":"pong"
即可
全部
ansible all -m ping
time1.aliyun.com
time.windows.com
命令格式
ansible 主机清单中的IP或分组名称 -m 模块 -a "参数"
cron模块的使用 每小时执行一次时钟源同步
ansible 清单中的IP -m cron -a 'name="test cron1" job="ntpdate time1.aliyum.com" minute=0 hour=*/1'
首先查看时钟源是否可用
ntpdate time1.aliyum.com
如果出现the NTP socket is in used, exiting
先关闭 ntpd
systemctl stop ntpd
如果出现 adjust time server 正常
在其它主机上查看是否有计划任务
crontab -l
[root@hadoop1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.31.234.62 hadoop1
172.31.234.76 hadoop2
172.31.234.97 hadoop3
copy
模块的使用ansible 清单文件中的IP或者是组名称 -m 模块名称 -a "参数"
ansible 172.31.234.76 -m copy -a "src=/etc/hosts dest=/etc/hosts"
[root@hadoop1 ~]# ansible hadoop2 -m copy -a "src=/etc/hosts dest=~/hosts"
hadoop2 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"checksum": "b476d5fc53b1799bf461d22d602360c23eba2ba6",
"dest": "/root/hosts",
"gid": 0,
"group": "root",
"md5sum": "ee64c686d024ea414cc35aa443936081",
"mode": "0644",
"owner": "root",
"size": 224,
"src": "/root/.ansible/tmp/ansible-tmp-1618366232.25-4998-196093705045362/source",
"state": "file",
"uid": 0
}