Мне нужно выполнить один из этапов установки kubeadm, который включает следующие команды на машине centos
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
Мне нужно выполнить это с помощью сценария автоматизации Ansible, и я не смог выяснить, какой способ правильно реализовать этот шаг Я пробовал
- name: Install these packages - kubelet kubeadm kubectl
yum:
name: "{{ packages }}"
vars:
packages:
- kubelet
- kubeadm
- kubectl
state: latest
disable_excludes: repoid
disablerepo: kubernetes
become: yes
become_user: root
И я получил следующий результат:
TASK [Install these packages - kubelet kubeadm kubectl] *****************************************************************************************************
fatal: [k8s-head]: FAILED! => {"ansible_facts": {"pkg_mgr": "yum"}, "changed": false, "msg": "Failure talking to yum: failure: repodata/repomd.xml from kubernetes: [Errno 256] No more mirrors to try.\nhttps://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for kubernetes"}
fatal: [k8s-node-1]: FAILED! => {"ansible_facts": {"pkg_mgr": "yum"}, "changed": false, "msg": "Failure talking to yum: failure: repodata/repomd.xml from kubernetes: [Errno 256] No more mirrors to try.\nhttps://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for kubernetes"}
Я знаю, что делаю это неправильно, но я не понимаю, если я я должен использовать файл yum.conf, чтобы исправить это, или использовать любую другую опцию из модуля yum для disable_exclude Kubernetes. Я всегда могу использовать модуль оболочки, но я хочу оставить его в крайнем случае.
РЕДАКТИРОВАТЬ: ОПЫТНАЯ ИНФОРМАЦИЯ Отказ от ответственности, это сработало, но не является решением *. 1016 * Итак, я исправил свою идентификацию и попробовал сценарий ansible следующим образом:
- name: Install these packages - kubelet kubeadm kubectl
yum:
name: "{{ packages }}"
state: latest
disable_excludes: all
exclude: kubernetes
vars:
packages:
- kubelet
- kubeadm
- kubectl
become: yes
become_user: root
Я до сих пор не уверен, что это правильный способ реализовать следующие команды
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
, но мои пакеты устанавливаются без ошибок, поэтому он выполняет ту работу, которую я хочу сейчас.