@maxgud

Как мне исправить эту ошибку"msg": "AnsibleUndefinedVariable: 'hosts' is undefined"}?

Для запуска плейбука я использую два файла .
Первый файл инвентори ,где я перечисяю айпи адреса виртуальных машин
[k8s:children]
haproxy
masters
worker
ansible
# Set variables common for all k8shosts
[k8s:vars]
ansible_ssh_user=root
ansible_become=true

[haproxy]
172.168.10.100
[masters]
172.168.10.101
172.168.10.102
172.168.10.103
[ansible]
172.168.50.11
[leader]
172.168.10.101
[member]
172.168.10.102
172.168.10.103
[worker]
172.168.10.104
Второй файл hosts.j2 -
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
{% for host in groups.k8s %}
{{ hostvars[host].ansible_eth1.ipv4.address }} {{ hostvars[host].ansible_fqdn }} {{ hostvars[host].ansible_hostname }}
{% endfor %}
И вот сам плейбук:

---
- name: Generate Hosts File
hosts: k8s
become: true
gather_facts: true
vars:
my_file: /etc/hosts
my_template: templates/hosts.j2
tasks:
- name: Create "{{ my_file }}"
template:
src: "{{ my_template }}"
dest: "{{ my_file }}"
owner: root
group: root
mode: "0644"
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov
Вам бы стоило сообщение об ошибке прислать полностью - с номером строки и моментом возникновения.
Но могу предположить что что-то не так со строкой около
hosts: k8s
может пробелы, может написание. насколько я вижу, переменная hosts есть только в ней
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы