Мне надо выполнить следующий набор команд с помощью 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 <
Проблемы начинаются со второй строчки. Через 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
Комментариев нет:
Отправить комментарий