Setup Ansible to efficiently manage N Linux VMs

von Gonzalo
Zuletzt aktualisiert: 23.03.2016

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

Diese ARM-Vorlage (Azure-Ressourcen-Manager) wurde von einem Mitglied der Community und nicht von Microsoft erstellt. Jede ARM-Vorlage wird für Sie von dessen Besitzer, nicht von Microsoft, unter einem Lizenzvertrag lizenziert. Microsoft übernimmt keine Zuständigkeiten für ARM-Vorlagen, die von Mitgliedern der Community bereitgestellt und lizenziert werden, und auch nicht für deren Sicherheit, Kompatibilität oder Leistung. ARM-Vorlagen aus der Community werden von keinem Microsoft-Supportprogramm oder -Dienst unterstützt und wie vorhanden ohne jegliche Gewährleistung zur Verfügung gestellt.

Parameter

Parametername Beschreibung
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.

Verwenden der Vorlage

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 installieren und konfigurieren

Befehlszeile

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
Installieren und Konfigurieren der plattformübergreifenden Azure-Befehlszeilenschnittstelle