如何使用 ansible playbook 安装和更新工具

问题描述 投票:0回答:0

以安装 istio 为例,这是一个 playbook 脚本,用于在没有 istioctl 的主机上安装 istioctl

name: ISTIOCTL | Check installation
stat:
path: "{{ istioctl_binary_dir }}/istioctl"
changed_when: False
register: istioctl_binary

name: ISTIOCTL | Download and unarchive binary
unarchive:
remote_src: yes
src: "{{ istioctl_src_url }}"
dest: "{{ istioctl_source_dir }}"
creates: "{{ istioctl_source_dir }}/{{ istioctl_name }}"
when: not istioctl_binary.stat.exists

name: ISTIOCTL | Link Istio binary
file:
src: "{{ istioctl_source_dir }}/{{ istioctl_name }}/bin/istioctl"
dest: "{{ istioctl_binary_dir }}/istioctl"
owner: root
group: root
mode: 0755
state: link

它的好处是在我安装 istioctl 后执行这段代码并且它不会重新安装

但是即使修改了istioctl_src_url中的版本号,也无法升级istioctl。 我想要一个好的剧本来实现以下目标

  1. 不再重复安装
  2. 更改下载源,即升级版本时,可以帮我备份原来的istioctl命令,升级

我正在寻找的答案是包含代码的答案

ansible istio
© www.soinside.com 2019 - 2024. All rights reserved.