我使用ansible copy task将相同的文件复制到大约50个Azure服务器。
- copy:
src: /home/myuser/project/build/fatboot.jar
dest: /opt/project/fatboot.jar
owner: foo
group: foo
mode: 0644
这会将相同的文件上传50次到azure(每个服务器一次)。
是否可以将其上传到azure,然后将其从远程位置复制到azure中的服务器?
还是通过其他方式减少我的电脑上的网络流量(以及时间)?
答案 0 :(得分:0)
将.jar
放入Blob存储空间,programatically或az CLI或Azure Storage Explorer,然后从每个虚拟机中获取。{p}然后为blob创建Shared Access Signature。
这种方法应该比从办公室上传快几个数量级。所有流量都保存在同一个Azure DC中,只需确保存储帐户与您的计算机位于同一区域。
- name: Fetch jar.jar from blob storage
get_url:
url: https://{{storage_account}}.blob.core.windows.net/{{container}}/jar.jar?{{sas_token}}
dest: /opt/project/jar.jar
mode: 0644
我不太确定你在Ansible中如何追加包含URL查询参数的字符串,但是你明白了。
完全成型时,Shared Access Signature URL应如下所示: