ansible - Ansible:从一组主机中获取一个变量
问题描述
我有一组服务器,例如:
[mygroup]
server1
server2
server3
有没有办法在 ansible 中拥有一个变量,该变量是 mygroup 组中所有主机串联的结果?:
例子:
server1:80,server2:80,server3:80
解决方案
你可以这样做:
- hosts: localhost
gather_facts: false
tasks:
- debug:
msg: "{{ groups.mygroup|map('regex_replace', '(.*)', '\\1:80')|list|join(',') }}"
如果我的清单中有 hosts host0
、host1
和,则会产生:host2
TASK [debug] **********************************************************************************
ok: [localhost] => {
"msg": "host2:80,host1:80,host0:80"
}
推荐阅读
- react-native - 如何将图标固定在右侧?
- c - swich case 中的变量声明
- spring-boot - 无论组的已提交偏移量如何,如何从主题的末尾读取
- css - 开头的css感叹号
- objective-c - Objective C 同步和异步:为什么我的协议方法被调用了 6 次?
- docker - Docker swarm 是否会忽略来自 Dockerfiles 的 VOLUME 命令?
- python - 从导入的文件调用函数时出现 AttributeError
- excel - 是否有类似于 vba 中的 toString() 函数的实现函数?
- ssl - 如何解决:java.io.IOException: jsse.alias_no_key_entry
- html - 为什么我的工作粘性 div 不能在里面工作