В Ansible Как прочитать файл configMap в локальной системе и удалить его с удаленного узла? - PullRequest
0 голосов
/ 27 января 2020

У меня есть файл configMap в моей локальной системе. Эта configMap создается в кластере kubernetes (который является удаленной машиной). Теперь я пытаюсь удалить configMap с удаленного компьютера, используя ansible.

   - hosts: k8s
     vars:
       configmap: "./configmap.yml"
       secret: "./secret.yml"

   - name: uninstall configMap file
     shell: "kubectl delete -f {{ configMap }}" 

Ошибка, как показано ниже. Кажется, он ищет файл в узлах k8s. но файл находится на локальном компьютере.

"stderr": "ошибка: путь \" ./ configmap.yml \ "не существует"

I также попробовал это.

   - hosts: k8s
     vars:
       configmap: "{{ lookup('file', './configmap.yml') }}"

   - name: get ConfigMap
     shell: "cat {{configmap | from_yaml}} | kubectl delete -f -  "

Там написано, что изменилось, как если бы успех, но карта конфигурации не удалена

Как удалить карту конфигурации с удаленного узла?

1 Ответ

0 голосов
/ 28 января 2020

Самый простой способ понять проблему - это проверить текущий каталог для playbook. Сравните текущий каталог и каталог, в котором вы сохранили файл. Они разные. Чтобы взять текущий каталог:

- shell: "pwd"
  register: result
- debug:
    var: result

Проще использовать абсолютный путь для configmap.yml для создания / использования файлов на хосте, например:

vars:
  configmap: "/root/configmap.yml"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...