ansible配置
[root@ecs-proxy ~]# for i in {1..5}
> do
> echo -e "192.168.1.1$i\tnode$i" >> /etc/hosts
> done
###for输出结果名称解析
[root@ecs-proxy ~]# tail -5 /etc/hosts
192.168.1.11 node1
192.168.1.12 node2
192.168.1.13 node3
192.168.1.14 node4
192.168.1.15 node5
[root@ecs-proxy ~]# ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa
[root@ecs-proxy ~]# chmod 0400 /root/.ssh/id_rsa
[root@ecs-proxy ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.125 #单台机器发送公钥
[root@ecs-proxy ~]# for i in node{1..5}
> do
> ssh-copy-id -i /root/.ssh/id_rsa.pub $i
> done
[root@ecs-proxy ~]# ssh node5
[root@ecs-adc5 ~]# exit == (catl+d)
[root@ecs-proxy ~]# tar zxf ansible_centos7.tar.gz
[root@ecs-proxy ~]# yum install -y ansible/*.rpm
####主配置文件说明:
主配置文件ansible.cfg(主配置文件的内容可以参考/etc/ansible/ansible.cfg)
ansible配置文件查找顺序
首先检测ANSIBLE_CONFIG变量定义的配置文件(默认没有这个变量)
其次检查当前目录下的./ansible.cfg文件
再次检查当前用户家目录下~/ansible.cfg文件
最后检查/etc/ansible/ansible.cfg文件
####
[root@ecs-proxy ~]# vim ~/ansible/ansible.cfg
[defaults]
inventory = hosts
#主机清单配置文件(hosts可以是任意文件名)
#forks = 5 #ssh并发数量
host_key_checking = False #是否校验密钥(第一次ssh时是否提示yes/no)
[root@control ~]# vim /ansible/hosts
[test] #定义主机组(组名称任意)
node1 #定义组中的具体主机,组中包括一台主机node1
[proxy] #定义主机组(组名称任意),英语词汇:proxy(代理人,委托人)
node2 #proxy组中包括一台主机node2
[webserver]
node[3:4] #这里的node[3:4]等同于node3和node4
[database]
node5
[cluster:children] #嵌套组(children为关键字),不需要也可以不创建嵌套组
webserver #嵌套组可以在组中包含其他组
database
[root@ecs-proxy ansible]# ansible all --list-hosts #查看所有主机列表
# --list-hosts是ansible这个命令的固定选项,如同ls -a一样(-a是ls命令的固定选项)
#英语词汇:list(列表,清单)、host(主机、主办、主人)
###command默认模块
Shell模块
command和shell模块的区别,command不支持bash的特性,如管道和重定向等功能,shell模块可以支持。
###
[root@jumpserver ansible]# ansible all -m shell -a "ip a s | head "
###script模块
script模块会把-a后面的脚本拷贝到被管理端主机,然后执行这个脚本,执行完脚本远端主机会删除test.sh脚本
###
[root@control ansible]# ansible test -m script -a "test.sh"
###
很多ansible模块都具有幂等性的特征。
幂等性:任意次执行所产生的影响均与一次执行的影响相同。
file模块
file模块可以创建文件、目录、链接;修改权限与属性
ansible-doc -l 查看模块
ansible-doc file 查看具体模块格式使用 (/EX) 查看格式方式
###
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律