зеркало из
1
0
Форкнуть 0
azure-quickstart-templates/README.md

42 KiB

Azure Resource Manager QuickStart Templates

Contributing guide

This is a repo that contains all the currently available Azure Resource Manager templates contributed by the community. We'll soon allow a way for these templates to be indexed on Azure.com and be discoverable from there.

To make sure your template is added to Azure.com index, please follow these guidelines. Any templates that are out of compliance will be added to the blacklist.json file and not be indexed on Azure.com

  1. Every template must be contained in its own folder. Name this folder something that describes what your template does
  2. The template file must be named azuredeploy.json
  3. The template folder must host the scripts that are needed for successful template execution
  4. The template folder must contain a metadata.json file to allow the template to be indexed on Azure.com
  • Guidelines on the metadata file below
  1. Every parameter in the template must have the description specified using the metadata property. See the starter template is provided here on how to do this
  2. OPTIONAL: The folder may contain a Readme.md file for any additional information about the template

metadata.json file

Here are the required parameters for a valid metadata.json file

To be more consistent with the Visual Studio and Gallery experience we're updating the metadata.json file structure. The new structure looks like below

{
  "itemDisplayName": "",
  "description": "",
  "summary": "",
  "githubUsername": "",
  "dateUpdated": "<e.g. 2015-12-20>"
}

The metadata.json file will be validated using these rules

itemDisplayName

  • Cannot be more than 60 characters

description

  • Cannot be more than 1000 characters
  • Cannot contain HTML

summary

  • Cannot be more than 200 characters

githubUsername

  • Username must be the same as the username of the author submitting the Pull Request

dateUpdated

  • Must be in yyyy-mm-dd format.
  • The date must not be in the future to the date of the pull request

Starter template

A starter template is provided here for you to follow

101 templates

These are simple example templates with single actions for common requirements.

Type # Deploy to Azure Author Template Name Description
101 1 mahthi Deploy an Availability Set This template allows you to create an Availability Set in your subscription.
101 2 mahthi Deploy a Load Balancer with an Inbound NAT Rule This template allows you to create a load balancer with NAT rule in your subscription.
101 3 mahthi Deploy a Virtual Network This template allows you to deploy a Virtual Network.
101 4 mahthi Deploy a Simple Virtual Machine from an Image This template allows you to deploy a Simple Virtual Machines from an Image.
101 5 mahthi Create a Network Interface in a Virtual Network and associate it with a Public IP This template creates a simple Network Interface in a Virtual Network and attaches a Public IP Address to it.
101 6 mahthi Deploy a Virtual Machine with Custom Data This template allows you to deploy a Virtual Machines by passing Custom Data to the VM.
101 7 singhkay [101] Create a key Vault This template creates a Key Vault
101 8 kenazk Windows VM with Empty Data Disk This template creates a Windows VM with a new empty data disk.
101 9 mahthi Deploy a Virtual Machine from a User Image This template allows you to create a Virtual Machines from a User image. Prerequisite - The Storage Account with the User Image VHD should already exist in the same resource group.
101 10 manavis Assign RBAC BuiltInRoles to an Existing Resource Group This template assigns Owner, Reader or Contributor access to an existing resource group.
101 11 mahthi Create Linux Virtual Machine and configure SSH Key This template creates a Linux Virtual Machine and configures SSH Keys. Note: This template will be slightly modified in the coming weeks to allow SSH Keys to be passed in the standard PEM format
101 12 kenazk Create an Availability Set with 3 FDs configured This template snippet creates an Availability Set with 3 FDs
101 13 singhkay Create a network Security Group This template creates a Network Security Group
101 14 kenazk Create a VM from a Windows Image with 4 Empty Data Disks Create a VM from a Windows Image with 4 Empty Data Disks
101 15 kenazk Linux VM with Empty Data Disk This template creates a Linux VM with a new empty data disk.
101 16 ggalow Create a public IP with DNS Name Create a public IP with DNS Name
101 17 ManaviS RBAC - Grant Built In Role Access for an existing VM in a Resource Group RBAC - Grant Built In Role Access for an existing VM in a Resource Group

201 templates

These are more complex example templates with single actions for more advanced requirements.

Type # Deploy to Azure Author Template Name Description
201 1 singhkay Discover a VMs Private IP Dynamically This templates discovers a private ip of another VM dynamically
201 2 mahthi Deploy 2 Windows VMs under Availability Set with NAT Rules through Load balancer This template allows you to create 2 Windows Virtual Machines in an Availability Set and configure NAT rules through a load balancer. We also use the resource loops capability to create the network interfaces and virtual machines
201 3 ypitsch Deploy 2 Windows VMs under a load balancer and configure a LB rule This template allows you to create 2 Windows Virtual Machines in an under a Load Balancer, configure LB rules for load balancing and NAT rules for RDP Access to each VM. We also use the resource loops capability to create the network interfaces and virtual machines.
201 4 singhkay Create a VM referencing a VNET in a different Resource Group This template creates a VM in a VNET which is in a different Resource Group. You'll need to have the VNET created before running this template and pass the VNET name and its resource group name as input to this parameter.
201 5 singhkay Create a VM and install a certificate referenced from an Azure Key Vault This template creates a VM and installs a certificate from the Azure Keyvault on the Virtual Machine. The template expects the Keyvault Name and the certificate URL of the certificate in KeyVault.
201 6 mahthi Execute Dependent script extensions to Configure and Install Mongo DB on a Ubuntu Virtual Machine This template deploys Configures and Installs Mongo DB on a Ubuntu Virtual Machine in two separate scripts. This template is a sample that showcases how to express dependencies between two scripts running on the same virtual machine.
201 7 singhkay Create 2 VMs in a Availability Set with 2 FDs without resource loops This template allows you to create 2 VMs in an Availabiltiy Set with 2 Fault Domains without resource loops
201 8 singhkay Create a VM from a specialized VHD disk This template creates a VM from a specialized VHD
201 9 narayan Create a virtual Network with DMZ Subnet Virtual Network with DMZ Subnet
201 10 ypitsch 2 VMs in a VNET with an Internal Load Balancer and Load Balancer rules 2 VMs in a VNET with an Internal Load Balancer and Load Balancer rules
201 11 MJZawacki Generate VM Instances and pass all input parameters via custom data Generate VM Instances and pass all input parameters via custom data
201 12 ManaviS RBAC - Grant Built In Role Access for multiple existing VMs in a Resource Group RBAC - Grant Built In Role Access for multiple existing VMs in a Resource Group

General Workloads

You can deploy the template to Azure by clicking the "Deploy to Azure" button below next to each template.

Type # Deploy to Azure Author Template Name Description
APP 1 singhkay VM DSC Extension IIS Server This template allows you to deploy a VM with with a DSC extension that sets up an IIS server
DEV 2 coreysa Deploy from DockerHub This template allows you to deploy a Docker container from DockerHub using Compose.
DEV 3 coreysa Deploy Ubuntu Azure Dev VM This template deploys an Ubuntu VM with the Azure Dev tools installed, which includes node. This executes a bash script pulled from GitHub.
DEV 4 coreysa Deploy from DockerHub (Simple Template) This template allows you to deploy a Docker container from DockerHub using Compose with a very small amount of parameters (simple).
DEV 5 drewm3 Chocolatey VM This template allows you to create a VM with an application from Chocolatey.org installed.
DEV 6 singhkay VM with Chef extension This template allows you to deploy a windows VM with Chef extension and run any recipe
201 7 coreysa Deploy an Ubuntu VM with an additional sudo user The purpose of this script is to show how to execute a custom script with parameters passed throguh the template that will create an additional user with sudo access. The value of the sample is to show how to pass template parameter based input into a bash Linux script.
APP 8 paigeliu Deploy a Percona XtraDB Cluster on CentOS or Ubuntu This template deploys a 3-node high availability MySQL Percona XtraDB Cluster 5.6 on CentOS 6.5 or Ubuntu 12.04 LTS.
DEV 9 gbowerman Deploy LAMP app on Ubuntu This template uses the Azure Linux CustomScript extension to deploy a LAMP application by creating an Ubuntu VM, doing a silent install of MySQL, Apache and PHP, then creating a simple PHP script.
DEV 10 snallami VM-Ubuntu - Tomcat and Open JDK installation This template allows you to create a Ubuntu VM with OpenJDK and Tomcat.
201 11 mahthi Deploy 'N' Virtual Machines in a Single Click This template allows you to deploy 'n' virtual machines in a Single Click.
DEV 12 mahthi Install Mongo DB on CentOS Virtual Machine This template deploys Mongo DB on CentOS Virtual Machine.
DEV 13 mahthi Install Mongo DB on Ubuntu Virtual Machine This template deploys Mongo DB on Ubuntu Virtual Machine.
DEV 14 singhkay Create a Zookeeper cluster This template deploys a 3-node Zookeeper cluster on Ubuntu Virtual Machines.
DEV 15 gbowerman Deploy an Apache webserver on Ubuntu This template uses the Azure Linux CustomScript extension to deploy an Apache web server. The deployment template creates an Ubuntu VM, installs Apache2 and creates a demo HTML file.
DEV 16 kundanap Bootstrap a Ubuntu VM with Chef Agent This templates provisions a Ubuntu VM and bootstraps Chef Client on it.
201 17 mahthi Deploy Virtual Machines across 5 regions using Template Linking This template showcases the 'Template Linking' capability in Azure Resource Manager. This template deploys 'n' Virtual Machines across 5 regions in parallel.
101 18 singhkay Windows VM with custom script extension This template creates a VM and runs a PowerShell script using the custom script extension.
101 19 kenazk Windows VM with Azure Diagnostics Extension This template creates a VM and deploys the Azure Diagnostics Agent to emit performance metrics from within the VM to a Table in the Storage Account specified.
DEV 20 kundanap Bootstrap a Ubuntu VM with Chef Agent with Json paramters This templates provisions a Ubuntu VM and bootstraps Chef Client on it by taking only json parameters.
DEV 21 tomconte Deploy a single-VM WordPress to Azure This template deploys a complete LAMP stack, then installs and initializes WordPress.Once the deployment is finished, you need to go to http://fqdn.of.your.vm/wordpress/ to finish the configuration, create an account, and get started with WordPress.
APP 22 simongdavies This template creates an Azure VM with AD This template creates a new Azure VM, with a public IP address, load balancer and VNet, it configures the VM to be an AD DC for a new Forest.
DEV 23 coreysa Deploy Docker Containers on Virtual Machines across 5 regions using Loops & Template Linking This template allows you to create 'N' number of Virtual Machines based on the 'numberOfInstances' parameter specified during the template deployment and deploys 2 docker containers [nginx & redis] on each VM.
201 24 mahthi Deploy 'n' Virtual Machines from a user image using Resource Loops This template allows you to create 'N' number of Virtual Machines from a User image based on the 'numberOfInstances' parameter specified during the template deployment.
201 25 mahthi Deploy 'n' Virtual Machines from a user image across 3 storage accounts in the same region This template allows you to create VMs from User image across 3 Storage accounts in the same region. You can also chose to specify the number of Virtual Machines that you want to spin up per storage accounts where the user image is placed [Recommended number is 40]. There are some critical pre-requisties for this template, please refer to the readme in the template folder for additional details.
DEV 26 arsenvlad Deploy 'n' Ubuntu VMs with memcached service and one Apache test VM This template allows you to create multiple (based on the 'numberOfMemcachedInstances' parameter) Ubuntu 14.04 VMs in a private-only subnet and installs and configures memcached service on each VM. It also creates one publicly accessible Apache VM with a PHP test page to confirm that memcached is installed and accessible.
DEV 27 thecaterminator Deploy a Redis cluster with configurable number of nodes This template deploys a Redis cluster on the Ubuntu virtual machines. The deployment topology is comprised of a customizable number of nodes joined into a cluster. The cluster is pre-configured with persistence and other optimizations as per best practices.
DEV 28 trentmswanson Install Elasticsearch cluster on Ubuntu Virtual Machines using Custom Script Linux Extension This template deploys an Elasticsearch cluster on Ubuntu Virtual Machines. The template provisions 3 dedicated master nodes in one availability set, and a configurable number of data nodes in another availability set. A load balancer is configured with a rule to route traffic on port 9200 to the client/data nodes, and also includes SSH nat rules for management. Elasticsearch data nodes are configured to store indexes using multiple data disks attached to each virtual machine.
DEV 29 anweiss Deploy an Ubuntu VM with Drone CI. This template provisions an Ubuntu Linux VM on Azure and bootstraps it with the latest release of the Drone continuous integration toolset.
APP 30 justintian Create HPC Cluster on Azure This template provisions an HPC Pack Cluster on Azure
201 31 kenazk Create 5 VMs in an Availability Set with 3 FDs This template provisions 5 VMs in an Availability Set with 3 FDs
101 32 singhkay Windows VM with Anti-Malware extension This template creates a Windows VM with Anti-Malware extension
APP 33 arsenvlad Create PostgreSQL on Ubuntu with one master and 'N' replicas This template allows you to create one master PostgreSQL 9.3 server with streaming-replication to multiple (based on the 'numberOfSlaveInstances' parameter) slave servers in a private-only subnet. Each database server is configured with 2 data disks that are striped into RAID-0 configuration using mdadm. The template also creates one publicly accessible VM to serve as a jumpbox for ssh into the backend database servers.
101 34 singhkay Create Storage Account This template creates a Storage Account
APP 35 hausdorff Spin up a Mesosphere cluster with 3 master nodes Template spins up and configures a fully-functional mesosphere cluster.
APP 36 hausdorff Spin up a Mesosphere cluster with a single master node Spin up a Mesosphere cluster with a single master node
201 37 trentmswanson Create Ubuntu vm data disk raid0 Create Ubuntu vm data disk raid0
101 38 sung-msft Create a Windows VM with Symantec Endpoint Protection extension enabled Create a Windows VM with Symantec Endpoint Protection extension enabled
APP 39 johndehavilland Create an ElasticSearch cluster on Windows Create an ElasticSearch cluster on Windows
APP 40 ojdude Create SQL Server AlwaysOn Cluster Create SQL Server AlwaysOn Cluster
201 41 jvallery Create a VM from 32 Data Disks configured for high IOPS Create a VM from 32 Data Disks configured for high IOPS
DEV 42 madhana Deploy a Django app Deploy a Django app
APP 43 nmackenzie Deploy a CoreOS cluster hosting Fleet Deploy a CoreOS cluster hosting Fleet
DEV 44 paigeliu Deploy a Gluster file system on CentOS Deploy a N node gluster file system with a replication factor of 2. Each node has 2 disks stripped