Azure 运维篇 通过 Ansible 批量更改 Azure 资源,azure开发教程Azure运维篇通过Ansible批量更改Azure资源。本文主要介绍如何通过Ansible的Playbook批量更改Azure中的资源。在这里,首先,选择Ansible的原因是你写不出复杂的Shell脚本。如果有大神看到这篇文章,......
本文主要介绍如何通过Ansible的Playbook批量更改Azure中的资源。在这里,首先,选择Ansible的原因是你写不出复杂的Shell脚本。如果有大神看到这篇文章,请自动右转哈哈。
在这个实验中,我们其实做了一件比较简单但是很实用的事情,将所有没有HttpsOnly的存储账号设置为HttpsOnly,只支持Https访问,使得访问更加安全。
当我们环境中有许多存储帐户时,必须通过脚本来完成。脚本可以通过多种方式实现,比如Azure CLIPowerShellPython、Ansible或者Terraform。
构建运行Ansible的环境
建议创建一个VM来完成以后的运维工作。这种虚拟机可以在平时关闭,节省成本,并在需要时开始执行任务。除了在机器上安装Ansible之外,包括Grafana在内的很多未来的运维工具也可以放在这台机器上,让这台机器的利用效率更高。
#创建一个Linux虚拟机,比如Ubuntu 16.04,安装相应的依赖包和ansiblesudo aptget更新sudo aptget instally libssldevlibffidev pythondev pythonpi pudo pip安装ansible [azure] #登录Linux虚拟机,安装azure Clic URLSL https://aka.ms/InstallAzureCLIDeb sudobash #,切换云环境,登录Azure,每次在ansible之前登录Azure,确保Ansible可以使用Azure登录信息。当然还有其他Ansible登录凭证,可以选择尝试az cloud setn azurecentacloud。
为所有存储帐户准备可行的行动手册并仅更改https
Ansible的一个概念叫做剧本,剧本执行一组任务,完成一件事。如果想进一步了解学习Ansible的知识和结构,请参考文末的Ansible文档。
在此示例中,使用的剧本azure storageaccount ops.yml如下:
name:将所有存储帐户设置为http only hosts:localhost连接:localhost任务: name:列出订阅中的所有存储帐户命令:az存储帐户列表register:allStorageAccountsname:将所有存储帐户的http only更新为True命令:az存储帐户updat en { { item . name } }g { { item . resource group } }httpsonly True with items:{ { allStorageAccounts . stdout from JSON } } when:item . enablehttpstrafficonly
在LInux VM中创建一个文件夹azureops/ansible,将azurestorageaccountops.yml放入其中。
#执行可行的行动手册非常简单
ansi bleplaybook ~/azure ops/ansi ble/azure storage account ops . yml
Ansible是幂等的,所以当第二次执行检查存储帐户的HttpsOnly状态为True时,它将跳过执行。
这里实际上有两个额外的扩展主题,所以我把它们留给你:
第一,其实我们可以把所有与存储账户相关的运维工作放在一个剧本里,用标签区分,用标签执行;
其次,其实我写的剧本很简单,不好看。Ansibel中有很多针对Azure不同服务的模块。也可以尝试使用模块,而不是直接执行Azure CLI,让剧本更美观。
参考数据
#快速入门:在Azure中的Linux虚拟机上安装AnsibleHTTPS://docs . Microsoft . com/zhcn/Azure/virtualmachines/Linux/ansi bleInstallconfigure # ansi ble使用docs.ansible.com/ansible/latest/user支持的https:// Azure模块 guide/basic concepts.html # ansi ble https://docs.ansible.com/ansible/latest/scenario guides/guide Azure . html # Github Azure资源剧本示例https://Github . com/AzureSamples/ansi ble剧本
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部