Ansible
lansible下令示例:
以bruce用户执行ping存活检测 # ansible all -m ping -u bruce 以bruce sudo至root执行ping存活检测 # ansible all -m ping -u bruce -b 以bruce sudo至batman用户执行ping存活检测 # ansible all -m ping -u bruce -b --become-user batman
存活检测前,先做好免密登录
以确定用户存活检测时,目标主机必须存在该用户:
指定目标主机的用户复制管理机文件:
存活检测时询问指定目标机用户的暗码:
lansible下令使用场景
p非固化需求
p暂时一次性使用
p二次开发接口调用
lInventory是Ansible管理主机信息的设置文件,相当于系统HOSTS文件的功能,默认存放在/etc/ansible/hosts。
l界说主机和组
# Inventory可以直接为IP地点
172.25.9.2
# 端标语不是默认22端口时,可明确的体现为:
server2:2222
server2 ansible_port=2222 ansible_host=172.25.0.2
l 界说主机和组 p # 中括号体现一个组,也可以体现一个范围 [webserver] www[1: 1 0].example.com db-[a:f].example.com l 界说主机变量 p 在playbook中使用时对主机举行个性化定制 [webserver] web1 http_port=8080 maxRequestsPerChild=1024
l 界说组变量 [webserver] server2 server3 [webserver:vars] ntp_server=time1.aliyun.com webserver组中的所有主机ntp_server值为 time1.aliyun.com
l 界说组嵌套及组变量 [apache] server1 server2 [nginx] p server3 p server4 组与组之间可以相互调用,而且可以向组中的主机指定变量。不外,这些变量只能在Ansible-playbook中使用,而Ansible不支持 l在 inventory 主文件中生存所有的变量并不是最佳的方式.还可以生存在独立的文件中:
这些独立文件的格式为 YAML
/etc/ansible/group_vars/raleigh
/etc/ansible/group_vars/webservers
/etc/ansible/host_vars/foosball
当变量变得太多时,分文件界说变量更方便举行管理和组织
/etc/ansible/group_vars/raleigh/db_settings
/etc/ansible/group_vars/raleigh/cluster_settings
l变量的检索位置
Inventory设置文件(默认/etc/ansible/hosts)
Playbook中vars界说的区域
Roles中vars目次下的文件
Roles同级目次group_vars和hosts_vars目次下的文件
各人设置变量时只管沿用同一种方式,以方便维护人员管理。
l匹配所有主机,all或*号功能相同。
ansible all –m ping
ansible "*" -m ping
ansible 172.25.0.* -m ping
l对多台主机或多个组同时执行,相互之间用冒号分隔即可
ansible "web1:web2" -m ping
l在webserver组但不在database组的主机,用感叹号体现
ansible "webservers:!database" -m ping
l在webserver组和database组中同时存在的主机,用&符号体现
ansible "webservers:&database" -m ping
l暗昧匹配
*.example.com
www*.com:database
便于管理,设置在用户家目次创建文件:(优先级,所在目次>家目次>设置文件目次)
- i 优先访问当前目次的 hosts:
管理机管理目标主机时,以root权限管理:
来源:https://blog.csdn.net/qq_47714288/article/details/112002422
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |