本文主要是介绍ansible hosts and groups配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1. hosts配置格式
- 2. 命令使用格式
- 3. yaml文件格式
- hosts tempalte
1. hosts配置格式
注意: 您可以使用逗号(,)或冒号(:)分隔主机列表。处理范围和IPv6地址时,首选逗号。
#定位到“ webservers”和“ dbservers”组中也属于“ staging”组的所有计算机,但“ phoenix”组中的所有计算机除外。
webservers:dbservers:&staging:!phoenix
您可以将通配符模式与FQDN或IP地址一起使用,只要主机在清单中按FQDN或IP地址命名即可:
192.0.\*
\*.example.com
\*.com
您可以同时混合使用通配符模式和组:
one*.com:dbservers
第一种分组匹配:
[webservers]
cobweb
webbing
weber
您可以使用下标在Webservers组中选择单个主机或范围:
webservers[0] # == cobweb
webservers[-1] # == weber
webservers[0:2] # == webservers[0],webservers[1]# == cobweb,webbing
webservers[1:] # == webbing,weber
webservers[:3] # == cobweb,webbing,weber
第二种分组匹配
atlanta:host1:http_port: 80maxRequestsPerChild: 808host: 127.0.0.2
all:hosts:node0001:ansible_host: 10.250.47.135ip: 10.250.47.135access_ip: 10.250.47.135node0002:ansible_host: 10.250.47.136ip: 10.250.47.136access_ip: 10.250.47.136node0003:ansible_host: 10.250.47.137ip: 10.250.47.137access_ip: 10.250.47.137children:kube-master:hosts:node0001:node0002:node0003:kube-node:hosts:node0001:node0002:node0003:etcd:hosts:node0001:node0002:node0003:k8s-cluster:children:kube-master:kube-node:calico-rr:hosts: {}
在模式中使用变量
您可以使用变量通过-eansible-playbook
的参数来启用传递组说明符:
webservers:!{{ excluded }}:&{{ required }}
2. 命令使用格式
ansible <pattern> -m <module_name> -a "<module options>"
例如:
ansible webservers -m service -a "name=httpd state=restarted"
3. yaml文件格式
- name: <play_name>hosts: <pattern>
例如:
---
- name: update webservershosts: webserversremote_user: admintasks:- name: thing to do first in this playbook. . .
ansible-playbook site.yml --limit datacenter2
最后,您可以–limit通过在文件名前添加前缀来从文件中读取主机列表@:
ansible-playbook site.yml --limit @retry_hosts.txt
如果RETRY_FILES_ENABLED
设置为True
,.retry
则ansible-playbook
运行后将创建一个文件,其中包含所有播放的失败主机列表。每次ansible-playook完成运行都会覆盖此文件。
ansible-playbook site.yml –limit @ site.retry
hosts tempalte
- vim /home/deployer/apps/hosts
[all:children]
k8s
es[k8s]
192.168.20.1
192.168.20.2
192.168.20.3
192.168.20.4
192.168.20.5
192.168.20.6
192.168.20.7
192.168.20.8
192.168.20.9
192.168.20.10[es]
192.168.20.6
192.168.20.7
192.168.20.8[all:vars]
ansible_connection=ssh
ansible_user=deployer
ansible_ssh_pass=12345678
配置别名
$ vim /home/deployer/.bashrc
alias asb='ansible -i /home/deployer/apps/hosts'$ source /home/deployer/.bashrc
这篇关于ansible hosts and groups配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!