Задать вопрос
bigazzzz
@bigazzzz

Как прочитать переменные в ansible по отдельной группе?

Добрый день!
Есть inventory файл.
cluster:
          children:
            masters:
              hosts:
                K8s-Master01:
                  ansible_host: 192.168.0.2
            workers:
              hosts:
                K8s-Node01:
                  ansible_host: 192.168.0.3
                K8s-Node02:
                  ansible_host: 192.168.0.4
                  taints:
                  - dedicated=true:NoSchedule

Мне нужно "загрязнить" ноды исходя из инвентори, т.е. на мастере выполнить kubectl taint nodes
Что-то типа
- name: Apply taints
    shell: "kubectl taint nodes {{ item | lower }} {{ hostvars['{{ item }}']['taints'] }}"
    with_items: "{{ groups.workers }}"

Разумеется конструкция {{ hostvars['{{ item }}']['taints'] }} не работает. Есть варианты обхода?
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Сложный Комментировать
Пригласить эксперта
Ответы на вопрос 3
@MaxKozlov
Насколько я помню, через groups['workers'] можно добраться до хостов. ну и та уже извлекатели более глубоких-- данных
Ответ написан
opium
@opium
Просто люблю качественно работать
Для рецепта можно просто указать в хостс группу
Ответ написан
@mureevms
Как я решил эту задачу https://notessysadmin.com/how-to-get-a-variable-fr...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы