gpt4 book ai didi

jinja2 - Ansible:如何为主机设置序列号

转载 作者:行者123 更新时间:2023-12-01 08:27:21 28 4
gpt4 key购买 nike

我正在尝试在 EC2 上配置主机,因此我正在使用 Ansible Dynamic Inventory。

我想做的是;为每个节点设置序列号。

例如:Zookeeper 的“myid”配置

Zookeeper 要求每个节点的序列号为“myid”; hostA 为 1,hostB 为 2,hostC 为 3,以此类推。

这是我的剧本中将“myid”文件复制到主机的部分。

- name: Set myid
sudo: yes
template: src=var/lib/zookeeper/myid.j2 dest=/var/lib/zookeeper/myid

myid.j2 应该是下面这样的。

{{ serial_number }}

问题是:变量“{{ serial_number }}”应该是什么样的?

最佳答案

我找到了一种使用 Ansible 的 with_index_items 语法的干净整洁的方法:

tasks:
- name: Set Zookeeper Id
set_fact: zk_id={{item.0 + 1}}
with_indexed_items: "{{groups['tag_Name_MESOS_MASTER']}}"
when: item.1 == "{{inventory_hostname}}"

/etc/zookeeper/conf/myid 模板然后可以设置为

{{zk_id}}

这假设您使用的是 AWS 动态 list 。

关于jinja2 - Ansible:如何为主机设置序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30794025/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com