Страницы

Поиск по вопросам

воскресенье, 7 июля 2019 г.

Добавление нового репозитория в ansible скрипте

Мне надо выполнить следующий набор команд с помощью ansible
apt-get update && apt-get install -y apt-transport-https curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat </etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl
Проблемы начинаются со второй строчки. Через ansible делаю так:
- name: curl curl command: sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
В ответ получаю ошибку:
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
fatal: [default]: FAILED! => {"changed": true, "cmd": ["sudo", "curl", "-s", "https://packages.cloud.google.com/apt/doc/apt-key.gpg", "|", "sudo", "apt-key", "add", "-"], "delta": "0:00:00.037295", "end": "2018-02-14 07:25:50.272885", "failed": true, "msg": "non-zero return code", "rc": 2, "start": "2018-02-14 07:25:50.235590", "stderr": "curl: option -: is unknown
curl: try 'curl --help' or 'curl --manual' for more information", "stderr_lines": ["curl: option -: is unknown", "curl: try 'curl --help' or 'curl --manual' for more information"], "stdout": "", "stdout_lines": []}
Как выполнить такую команду правильно? Пробовал добавить строку sudo: true и убрать sudo в команде. Ошибка не пропадает.


Ответ

Ну вот как-то так наверное:
- name: Install Kubernetes 4 Ubuntu when: ansible_distribution == 'Ubuntu' become: yes block: - apt: name: apt-transport-https state: latest - apt_repository: repo: deb http://apt.kubernetes.io/ kubernetes-{{ ansible_distribution_release }} main state: present filename: kubernetes - apt_key: url: https://packages.cloud.google.com/apt/doc/apt-key.gpg state: present - apt: update_cache: yes force: yes - apt: name: "{{ item }}" state: present install_recommends: yes with_items: - kubelet - kubeadm - kubectl

Комментариев нет:

Отправить комментарий