Setup Ansible to efficiently manage N Linux VMs

Gonzalo 提供
上次更新时间: 2016/3/23

This advanced template deploys N Linux VMs ( Ubuntu) and it configures Ansible so you can easily manage all the VMS from the Ansible Controller VM. Additionally, it will execute an ansible Playbook that creates a RAID with all the available data disks. Don't suffer more pain configuring and managing all your VMs , just use Ansible! Ansible is a very powerful masterless configuration management system based on SSH. Do you need 1 or 10 or 100 VMs? It won't make any difference with Ansible playbooks, just apply consistent configuration to all your VMS

此 Azure Resource Manager (ARM) 模板由社区的某个成员(而不是由 Microsoft)创建。每个 ARM 模板都根据其所有者(不是 Microsoft)的许可协议向你授予许可。Microsoft 不对由社区成员提供并授予许可的 ARM 模板负责,并且不针对安全性、兼容性和性能进行筛选。社区 ARM 模板不由任何 Microsoft 支持计划或服务提供支持,按“原样”提供,没有任何种类的担保。

参数

参数名 说明
storageAccountType Storage account Type. Standard_LRS or Premium_LRS
vmSize VM Size, for Premium Storage specify DS VMs.
vmSizeDataDisks Data disks Size in GBs
linuxFileSystem Linux File system
serversRole Servers role, for instance webtier, database.A tag will be created with the provided value
serversPurpose Servers purpose, for instance development, test, pre-production, production. A tag will be created with the provided value
numberOfVms Number of VMs. The template will create N number of identical VMs
adminUsername Admin user name
adminPassword Admin password
sshKeyData ssh public key for the admin user
sshStorageAccountName Private storage account name in which you are storing your ssh certificates
sshStorageAccountKey Private storage account key in which you are storing your ssh certificates
dnsLabelPrefix DNS Label for the Public IP. Must be lowercase. It should match with the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$ or it will raise an error.
publicIPType Public facing IP Type.

使用模板

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/ansible-advancedlinux/azuredeploy.json
安装和配置 Azure PowerShell

命令行

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/ansible-advancedlinux/azuredeploy.json
安装和配置 Azure 跨平台命令行界面