Created
July 26, 2018 12:33
-
-
Save bernadinm/adea143c5844916424958827fce8de0f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"outputs": { | |
"masterFQDN": { | |
"value": "[reference(concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))).dnsSettings.fqdn]", | |
"type": "string" | |
}, | |
"diagnosticsStorageAccountUri": { | |
"value": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('diagnosticsStorageAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob]", | |
"type": "string" | |
}, | |
"agentFQDN": { | |
"value": "[reference(concat('Microsoft.Network/publicIPAddresses/', variables('agentPublicIPAddressName'))).dnsSettings.fqdn]", | |
"type": "string" | |
}, | |
"jumpboxFQDN": { | |
"value": "", | |
"type": "string" | |
} | |
}, | |
"parameters": { | |
"linuxOffer": { | |
"metadata": { | |
"description": "This is the offer of the image used by the linux cluster" | |
}, | |
"defaultValue": "UbuntuServer", | |
"type": "string" | |
}, | |
"windowsJumpboxPublisher": { | |
"metadata": { | |
"description": "This is the windows publisher used by the windows" | |
}, | |
"defaultValue": "MicrosoftVisualStudio", | |
"type": "string" | |
}, | |
"windowsAdminPassword": { | |
"metadata": { | |
"description": "Password for the Windows Virtual Machine." | |
}, | |
"defaultValue": "", | |
"type": "securestring" | |
}, | |
"vmsPerStorageAccount": { | |
"metadata": { | |
"description": "This specifies the number of VMs per storage accounts" | |
}, | |
"defaultValue": 5, | |
"type": "int" | |
}, | |
"linuxAdminPassword": { | |
"metadata": { | |
"description": "Password for the Linux Virtual Machine. Not Required. If not set, you must provide a SSH key." | |
}, | |
"defaultValue": "", | |
"type": "securestring" | |
}, | |
"masterCount": { | |
"allowedValues": [ | |
1, | |
3, | |
5 | |
], | |
"defaultValue": 1, | |
"type": "int", | |
"metadata": { | |
"description": "The number of Mesos masters for the cluster." | |
} | |
}, | |
"enableVMDiagnostics": { | |
"metadata": { | |
"description": "Allows user to enable/disable boot & vm diagnostics." | |
}, | |
"defaultValue": true, | |
"type": "bool" | |
}, | |
"masterEndpointDNSNamePrefix": { | |
"metadata": { | |
"description": "Sets the Domain name label for the master IP Address. The concatenation of the domain name label and the regional DNS zone make up the fully qualified domain name associated with the public IP address." | |
}, | |
"type": "string" | |
}, | |
"linuxVersion": { | |
"metadata": { | |
"description": "This is the linux version used by the linux cluster" | |
}, | |
"defaultValue": "16.04.201606270", | |
"type": "string" | |
}, | |
"jumpboxEndpointDNSNamePrefix": { | |
"metadata": { | |
"description": "Sets the Domain name label for the jumpbox. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address." | |
}, | |
"defaultValue": "", | |
"type": "string" | |
}, | |
"setLinuxConfigurationForVMCreate": { | |
"allowedValues": [ | |
0, | |
1 | |
], | |
"defaultValue": 1, | |
"type": "int", | |
"metadata": { | |
"description": "This setting controls whether Linux configuration with SSH Key is passed in VM PUT Payload. Defaults to 1. If SSH Key is blank, this must be set to 0." | |
} | |
}, | |
"agentEndpointDNSNamePrefix": { | |
"metadata": { | |
"description": "Sets the Domain name label for the agent pool IP Address. The concatenation of the domain name label and the regional DNS zone make up the fully qualified domain name associated with the public IP address." | |
}, | |
"type": "string" | |
}, | |
"oauthEnabled": { | |
"allowedValues": [ | |
"true", | |
"false" | |
], | |
"defaultValue": "false", | |
"type": "string", | |
"metadata": { | |
"description": "Enable OAuth authentication" | |
} | |
}, | |
"linuxPublisher": { | |
"metadata": { | |
"description": "This is the publisher of the image used by the linux cluster" | |
}, | |
"defaultValue": "Canonical", | |
"type": "string" | |
}, | |
"nameSuffix": { | |
"metadata": { | |
"description": "A string to include in the names of resources created. Defaults to 0. Can not be blank." | |
}, | |
"defaultValue": "01234567", | |
"type": "string" | |
}, | |
"disablePasswordAuthentication": { | |
"metadata": { | |
"description": "This setting controls whether password auth is disabled for Linux VMs provisioned by this template. Default is true which disables password and makes SSH key required." | |
}, | |
"defaultValue": true, | |
"type": "bool" | |
}, | |
"isValidation": { | |
"allowedValues": [ | |
0, | |
1 | |
], | |
"defaultValue": 0, | |
"type": "int", | |
"metadata": { | |
"description": "This is testing in the validation region" | |
} | |
}, | |
"sshRSAPublicKey": { | |
"metadata": { | |
"description": "SSH public key used for auth to all Linux machines. Not Required. If not set, you must provide a password key." | |
}, | |
"defaultValue": "", | |
"type": "string" | |
}, | |
"agentVMSize": { | |
"allowedValues": [ | |
"Standard_A2", | |
"Standard_A3", | |
"Standard_A4", | |
"Standard_A5", | |
"Standard_A6", | |
"Standard_A7", | |
"Standard_A8", | |
"Standard_A9", | |
"Standard_A10", | |
"Standard_A11", | |
"Standard_D1", | |
"Standard_D2", | |
"Standard_D3", | |
"Standard_D4", | |
"Standard_D11", | |
"Standard_D12", | |
"Standard_D13", | |
"Standard_D14", | |
"Standard_D1_v2", | |
"Standard_D2_v2", | |
"Standard_D3_v2", | |
"Standard_D4_v2", | |
"Standard_D5_v2", | |
"Standard_D11_v2", | |
"Standard_D12_v2", | |
"Standard_D13_v2", | |
"Standard_D14_v2", | |
"Standard_G1", | |
"Standard_G2", | |
"Standard_G3", | |
"Standard_G4", | |
"Standard_G5", | |
"Standard_DS1", | |
"Standard_DS2", | |
"Standard_DS3", | |
"Standard_DS4", | |
"Standard_DS11", | |
"Standard_DS12", | |
"Standard_DS13", | |
"Standard_DS14", | |
"Standard_GS1", | |
"Standard_GS2", | |
"Standard_GS3", | |
"Standard_GS4", | |
"Standard_GS5" | |
], | |
"defaultValue": "Standard_D2_v2", | |
"type": "string", | |
"metadata": { | |
"description": "The size of the Virtual Machine." | |
} | |
}, | |
"agentCount": { | |
"allowedValues": [ | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
16, | |
17, | |
18, | |
19, | |
20, | |
21, | |
22, | |
23, | |
24, | |
25, | |
26, | |
27, | |
28, | |
29, | |
30, | |
31, | |
32, | |
33, | |
34, | |
35, | |
36, | |
37, | |
38, | |
39, | |
40, | |
41, | |
42, | |
43, | |
44, | |
45, | |
46, | |
47, | |
48, | |
49, | |
50, | |
51, | |
52, | |
53, | |
54, | |
55, | |
56, | |
57, | |
58, | |
59, | |
60, | |
61, | |
62, | |
63, | |
64, | |
65, | |
66, | |
67, | |
68, | |
69, | |
70, | |
71, | |
72, | |
73, | |
74, | |
75, | |
76, | |
77, | |
78, | |
79, | |
80, | |
81, | |
82, | |
83, | |
84, | |
85, | |
86, | |
87, | |
88, | |
89, | |
90, | |
91, | |
92, | |
93, | |
94, | |
95, | |
96, | |
97, | |
98, | |
99, | |
100 | |
], | |
"metadata": { | |
"description": "The number of Mesos agents for the cluster. This value can be from 1 to 100" | |
}, | |
"defaultValue": 1, | |
"type": "int" | |
}, | |
"windowsAdminUsername": { | |
"metadata": { | |
"description": "User name for the Windows Virtual Machine (Password Only Supported)." | |
}, | |
"defaultValue": "azureuser", | |
"type": "string" | |
}, | |
"linuxAdminUsername": { | |
"metadata": { | |
"description": "User name for the Linux Virtual Machines (SSH or Password)." | |
}, | |
"defaultValue": "azureuser", | |
"type": "string" | |
}, | |
"windowsJumpboxSku": { | |
"metadata": { | |
"description": "This is the windows sku used by the windows" | |
}, | |
"defaultValue": "VS-2015-Enterprise-AzureSDK-2.7-WS2012R2", | |
"type": "string" | |
}, | |
"windowsJumpboxOffer": { | |
"metadata": { | |
"description": "This is the windows offer used by the windows" | |
}, | |
"defaultValue": "VisualStudio", | |
"type": "string" | |
}, | |
"postInstallScriptURI": { | |
"metadata": { | |
"description": "After installation, this specifies a script to download and install. To disabled, set value to 'disabled'." | |
}, | |
"defaultValue": "disabled", | |
"type": "string" | |
}, | |
"enableNewStorageAccountNaming": { | |
"metadata": { | |
"description": "If true: uses DNS name prefix + Orchestrator name + Region to create storage account name to reduce name collision probability. If false: uses DNS name prefix + Orchestrator name to create storage account name to maintain template idempotency." | |
}, | |
"defaultValue": true, | |
"type": "bool" | |
}, | |
"linuxSku": { | |
"metadata": { | |
"description": "This is the linux sku used by the linux cluster" | |
}, | |
"defaultValue": "16.04-LTS", | |
"type": "string" | |
} | |
}, | |
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", | |
"contentVersion": "1.0.0.0", | |
"resources": [ | |
{ | |
"name": "[variables('masterStorageAccountName')]", | |
"apiVersion": "[variables('apiVersionStorage')]", | |
"type": "Microsoft.Storage/storageAccounts", | |
"properties": { | |
"accountType": "[variables('vmSizesMap')[variables('masterVMSize')].storageAccountType]" | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" | |
], | |
"location": "[variables('storageLocation')]" | |
}, | |
{ | |
"name": "[variables('masterStorageAccountExhibitorName')]", | |
"apiVersion": "[variables('apiVersionStorage')]", | |
"type": "Microsoft.Storage/storageAccounts", | |
"properties": { | |
"accountType": "Standard_LRS" | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" | |
], | |
"location": "[variables('storageLocation')]" | |
}, | |
{ | |
"name": "[variables('diagnosticsStorageAccountName')]", | |
"apiVersion": "[variables('apiVersionStorage')]", | |
"type": "Microsoft.Storage/storageAccounts", | |
"properties": { | |
"accountType": "Standard_LRS" | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" | |
], | |
"location": "[variables('storageLocation')]" | |
}, | |
{ | |
"name": "[variables('virtualNetworkName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/virtualNetworks", | |
"properties": { | |
"subnets": [ | |
{ | |
"properties": { | |
"addressPrefix": "[variables('masterAddressPrefix')]" | |
}, | |
"name": "[variables('masterSubnetName')]" | |
}, | |
{ | |
"properties": { | |
"networkSecurityGroup": { | |
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('agentPublicNSGName'))]" | |
}, | |
"addressPrefix": "[variables('agentPublicAddressPrefix')]" | |
}, | |
"name": "[variables('agentPublicSubnetName')]" | |
}, | |
{ | |
"properties": { | |
"networkSecurityGroup": { | |
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('agentPrivateNSGName'))]" | |
}, | |
"addressPrefix": "[variables('agentPrivateAddressPrefix')]" | |
}, | |
"name": "[variables('agentPrivateSubnetName')]" | |
} | |
], | |
"addressSpace": { | |
"addressPrefixes": [ | |
"[variables('masterAddressPrefix')]", | |
"[variables('agentAddressPrefix')]" | |
] | |
} | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/networkSecurityGroups/', variables('agentPublicNSGName'))]", | |
"[concat('Microsoft.Network/networkSecurityGroups/', variables('agentPrivateNSGName'))]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"properties": {}, | |
"name": "[variables('masterAvailabilitySet')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"location": "[resourceGroup().location]", | |
"type": "Microsoft.Compute/availabilitySets" | |
}, | |
{ | |
"properties": { | |
"dnsSettings": { | |
"domainNameLabel": "[variables('masterEndpointDNSNamePrefix')]" | |
}, | |
"publicIPAllocationMethod": "Dynamic" | |
}, | |
"name": "[variables('masterPublicIPAddressName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"location": "[resourceGroup().location]", | |
"type": "Microsoft.Network/publicIPAddresses" | |
}, | |
{ | |
"name": "[variables('masterLbName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/loadBalancers", | |
"properties": { | |
"frontendIPConfigurations": [ | |
{ | |
"properties": { | |
"publicIPAddress": { | |
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('masterPublicIPAddressName'))]" | |
} | |
}, | |
"name": "[variables('masterLbIPConfigName')]" | |
} | |
], | |
"backendAddressPools": [ | |
{ | |
"name": "[variables('masterLbBackendPoolName')]" | |
} | |
] | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"copy": { | |
"name": "masterLbLoopNode", | |
"count": "[variables('masterCount')]" | |
}, | |
"name": "[concat(variables('masterLbName'), '/', 'SSH-', variables('masterVMNamePrefix'), copyIndex())]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/loadBalancers/inboundNatRules", | |
"properties": { | |
"enableFloatingIP": false, | |
"backendPort": 22, | |
"protocol": "tcp", | |
"frontendIPConfiguration": { | |
"id": "[variables('masterLbIPConfigID')]" | |
}, | |
"frontendPort": "[copyIndex(2200)]" | |
}, | |
"dependsOn": [ | |
"[variables('masterLbID')]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"name": "[variables('masterSshPort22InboundNatRuleName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/loadBalancers/inboundNatRules", | |
"properties": { | |
"enableFloatingIP": false, | |
"backendPort": 2222, | |
"frontendPort": 22, | |
"frontendIPConfiguration": { | |
"id": "[variables('masterLbIPConfigID')]" | |
}, | |
"protocol": "tcp" | |
}, | |
"dependsOn": [ | |
"[variables('masterLbID')]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"properties": { | |
"securityRules": [ | |
{ | |
"properties": { | |
"direction": "Inbound", | |
"sourceAddressPrefix": "*", | |
"destinationAddressPrefix": "*", | |
"protocol": "Tcp", | |
"priority": 200, | |
"access": "Allow", | |
"description": "Allow SSH", | |
"destinationPortRange": 22, | |
"sourcePortRange": "*" | |
}, | |
"name": "ssh" | |
}, | |
{ | |
"properties": { | |
"direction": "Inbound", | |
"sourceAddressPrefix": "*", | |
"destinationAddressPrefix": "*", | |
"protocol": "Tcp", | |
"priority": 201, | |
"access": "Allow", | |
"description": "Allow SSH", | |
"destinationPortRange": 2222, | |
"sourcePortRange": "*" | |
}, | |
"name": "sshPort22" | |
}, | |
{ | |
"properties": { | |
"direction": "Inbound", | |
"sourceAddressPrefix": "*", | |
"destinationAddressPrefix": "*", | |
"protocol": "Tcp", | |
"priority": 202, | |
"access": "[variables('allowMasterHttp')[variables('oauthEnabled')]]", | |
"description": "HTTP Port 80", | |
"destinationPortRange": 80, | |
"sourcePortRange": "*" | |
}, | |
"name": "httpPort80" | |
}, | |
{ | |
"properties": { | |
"direction": "Inbound", | |
"sourceAddressPrefix": "*", | |
"destinationAddressPrefix": "*", | |
"protocol": "Tcp", | |
"priority": 203, | |
"access": "[variables('allowMasterHttp')[variables('oauthEnabled')]]", | |
"description": "HTTPS Port 443", | |
"destinationPortRange": 443, | |
"sourcePortRange": "*" | |
}, | |
"name": "httpsPort443" | |
} | |
] | |
}, | |
"name": "[variables('masterNSGName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"location": "[resourceGroup().location]", | |
"type": "Microsoft.Network/networkSecurityGroups" | |
}, | |
{ | |
"name": "[variables('masterHttpPort80InboundNatRuleName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/loadBalancers/inboundNatRules", | |
"properties": { | |
"enableFloatingIP": false, | |
"backendPort": 80, | |
"frontendPort": 80, | |
"frontendIPConfiguration": { | |
"id": "[variables('masterLbIPConfigID')]" | |
}, | |
"protocol": "tcp" | |
}, | |
"dependsOn": [ | |
"[variables('masterLbID')]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"name": "[variables('masterHttpsPort443InboundNatRuleName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/loadBalancers/inboundNatRules", | |
"properties": { | |
"enableFloatingIP": false, | |
"backendPort": 443, | |
"frontendPort": 443, | |
"frontendIPConfiguration": { | |
"id": "[variables('masterLbIPConfigID')]" | |
}, | |
"protocol": "tcp" | |
}, | |
"dependsOn": [ | |
"[variables('masterLbID')]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"name": "[variables('agentPrivateNSGName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"location": "[resourceGroup().location]", | |
"type": "Microsoft.Network/networkSecurityGroups" | |
}, | |
{ | |
"properties": { | |
"securityRules": [ | |
{ | |
"properties": { | |
"direction": "Inbound", | |
"sourceAddressPrefix": "Internet", | |
"destinationAddressPrefix": "*", | |
"protocol": "*", | |
"priority": 200, | |
"access": "Allow", | |
"description": "Allow HTTP traffic from the Internet to Public Agents", | |
"destinationPortRange": 80, | |
"sourcePortRange": "*" | |
}, | |
"name": "Allow_HTTP" | |
}, | |
{ | |
"properties": { | |
"direction": "Inbound", | |
"sourceAddressPrefix": "Internet", | |
"destinationAddressPrefix": "*", | |
"protocol": "*", | |
"priority": 300, | |
"access": "Allow", | |
"description": "Allow HTTPS traffic from the Internet to Public Agents", | |
"destinationPortRange": 443, | |
"sourcePortRange": "*" | |
}, | |
"name": "Allow_HTTPS" | |
}, | |
{ | |
"properties": { | |
"direction": "Inbound", | |
"sourceAddressPrefix": "Internet", | |
"destinationAddressPrefix": "*", | |
"protocol": "*", | |
"priority": 400, | |
"access": "Allow", | |
"description": "Allow 8080 traffic from the Internet to Public Agents", | |
"destinationPortRange": 8080, | |
"sourcePortRange": "*" | |
}, | |
"name": "Allow_8080" | |
} | |
] | |
}, | |
"name": "[variables('agentPublicNSGName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"location": "[resourceGroup().location]", | |
"type": "Microsoft.Network/networkSecurityGroups" | |
}, | |
{ | |
"copy": { | |
"name": "nicLoopNode", | |
"count": "[variables('masterCount')]" | |
}, | |
"name": "[concat(variables('masterVMNamePrefix'), 'nic-', copyIndex())]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/networkInterfaces", | |
"properties": { | |
"networkSecurityGroup": { | |
"id": "[variables('masterNSGID')]" | |
}, | |
"ipConfigurations": [ | |
{ | |
"properties": { | |
"privateIPAllocationMethod": "Static", | |
"subnet": { | |
"id": "[variables('masterSubnetRef')]" | |
}, | |
"privateIPAddress": "[concat(split(variables('masterAddressPrefix'),'0/24')[0], copyIndex(variables('masterFirstAddr')))]", | |
"loadBalancerInboundNatRules": "[variables('masterLbInboundNatRules')[copyIndex()]]", | |
"loadBalancerBackendAddressPools": [ | |
{ | |
"id": "[concat(variables('masterLbID'), '/backendAddressPools/', variables('masterLbBackendPoolName'))]" | |
} | |
] | |
}, | |
"name": "ipConfigNode" | |
} | |
] | |
}, | |
"dependsOn": [ | |
"[variables('vnetID')]", | |
"[concat(variables('masterLbID'),'/inboundNatRules/SSH-',variables('masterVMNamePrefix'),copyIndex())]", | |
"[variables('masterSshPort22InboundNatRuleId')]", | |
"[variables('masterHttpPort80InboundNatRuleId')]", | |
"[variables('masterHttpsPort443InboundNatRuleId')]", | |
"[variables('masterNSGID')]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"copy": { | |
"name": "vmLoopNode", | |
"count": "[variables('masterCount')]" | |
}, | |
"name": "[concat(variables('masterVMNamePrefix'), copyIndex())]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Compute/virtualMachines", | |
"properties": { | |
"hardwareProfile": { | |
"vmSize": "[variables('masterVMSize')]" | |
}, | |
"storageProfile": { | |
"imageReference": { | |
"publisher": "[variables('osImagePublisher')]", | |
"version": "[variables('osImageVersion')]", | |
"sku": "[variables('osImageSKU')]", | |
"offer": "[variables('osImageOffer')]" | |
}, | |
"osDisk": { | |
"name": "[concat(variables('masterVMNamePrefix'), copyIndex(),'-osdisk')]", | |
"createOption": "FromImage", | |
"vhd": { | |
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('masterStorageAccountName')),variables('apiVersionStorage')).primaryEndpoints.blob,'vhds/',variables('masterVMNamePrefix'),copyIndex(),'-osdisk.vhd')]" | |
}, | |
"caching": "ReadWrite" | |
} | |
}, | |
"osProfile": { | |
"adminPassword": "[variables('adminPassword')]", | |
"linuxConfiguration": "[variables('linuxConfiguration')]", | |
"computername": "[concat(variables('masterVMNamePrefix'), copyIndex())]", | |
"adminUsername": "[variables('adminUsername')]", | |
"customData": "[base64(concat('#cloud-config\n\n', '{\"bootcmd\": [\"bash -c \\\"if [ ! -f /var/lib/sdb-gpt ];then echo DCOS-5890;parted -s /dev/sdb mklabel gpt;touch /var/lib/sdb-gpt;fi\\\"\"], \"disk_setup\": {\"ephemeral0\": {\"layout\": [45, 45, 10], \"overwrite\": true, \"table_type\": \"gpt\"}}, \"fs_setup\": [{\"device\": \"ephemeral0.1\", \"filesystem\": \"ext4\", \"overwrite\": true}, {\"device\": \"ephemeral0.2\", \"filesystem\": \"ext4\", \"overwrite\": true}, {\"device\": \"ephemeral0.3\", \"filesystem\": \"ext4\", \"overwrite\": true}], \"mounts\": [[\"ephemeral0.1\", \"/var/lib/mesos\"], [\"ephemeral0.2\", \"/var/lib/docker\"], [\"ephemeral0.3\", \"/var/tmp\"]], \"runcmd\": [[\"ln\", \"-s\", \"/bin/rm\", \"/usr/bin/rm\"], [\"ln\", \"-s\", \"/bin/mkdir\", \"/usr/bin/mkdir\"], [\"ln\", \"-s\", \"/bin/tar\", \"/usr/bin/tar\"], [\"ln\", \"-s\", \"/bin/ln\", \"/usr/bin/ln\"], [\"ln\", \"-s\", \"/bin/cp\", \"/usr/bin/cp\"], [\"ln\", \"-s\", \"/bin/systemctl\", \"/usr/bin/systemctl\"], [\"ln\", \"-s\", \"/bin/mount\", \"/usr/bin/mount\"], [\"ln\", \"-s\", \"/bin/bash\", \"/usr/bin/bash\"], [\"ln\", \"-s\", \"/usr/sbin/useradd\", \"/usr/bin/useradd\"], [\"systemctl\", \"disable\", \"--now\", \"resolvconf.service\"], [\"systemctl\", \"mask\", \"--now\", \"lxc-net.service\"], [\"systemctl\", \"disable\", \"--now\", \"unscd.service\"], [\"systemctl\", \"stop\", \"--now\", \"unscd.service\"], \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/1.deb https://az837203.vo.msecnd.net/dcos-deps/libipset3_6.29-1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/2.deb https://az837203.vo.msecnd.net/dcos-deps/ipset_6.29-1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/3.deb https://az837203.vo.msecnd.net/dcos-deps/unzip_6.0-20ubuntu1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/4.deb https://az837203.vo.msecnd.net/dcos-deps/libltdl7_2.4.6-0.1_amd64.deb\", \"sed -i \\\"s/^Port 22$/Port 22\\\\nPort 2222/1\\\" /etc/ssh/sshd_config\", \"service ssh restart\", \"bash -c \\\"try=1;until dpkg -i /var/tmp/{1,2,3,4}.deb || ((try>9));do echo retry \\\\$((try++));sleep \\\\$((try*try));done\\\"\", [\"cp\", \"-p\", \"/etc/resolv.conf\", \"/tmp/resolv.conf\"], [\"rm\", \"-f\", \"/etc/resolv.conf\"], [\"cp\", \"-p\", \"/tmp/resolv.conf\", \"/etc/resolv.conf\"], [\"systemctl\", \"start\", \"dcos-docker-install.service\"], [\"systemctl\", \"start\", \"dcos-config-writer.service\"], [\"systemctl\", \"restart\", \"systemd-journald.service\"], [\"systemctl\", \"restart\", \"docker.service\"], [\"systemctl\", \"start\", \"dcos-link-env.service\"], [\"systemctl\", \"enable\", \"dcos-setup.service\"], [\"systemctl\", \"--no-block\", \"start\", \"dcos-setup.service\"]], \"write_files\": [{\"content\": \"https://dcosio.azureedge.net/dcos/stable\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/repository-url\", \"permissions\": \"0644\"}, {\"content\": \"03460d442fa522fd6c58b32d5c5d96737725e000\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/cluster-package-list\", \"permissions\": \"0644\"}, {\"content\": \"[Journal]\\nMaxLevelConsole=warning\\nRateLimitInterval=1s\\nRateLimitBurst=20000\\n\", \"owner\": \"root\", \"path\": \"/etc/systemd/journald.conf.d/dcos.conf\", \"permissions\": \"0644\"}, {\"content\": \"rexray:\\n loglevel: info\\n modules:\\n default-docker:\\n disabled: true\\n service: vfs\\n\", \"path\": \"/etc/rexray/config.yml\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nAfter=network-online.target\\nWants=network-online.target\\n[Service]\\nType=oneshot\\nEnvironment=DEBIAN_FRONTEND=noninteractive\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/d.deb https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.09.0~ce-0~ubuntu_amd64.deb\\nExecStart=/usr/bin/bash -c \\\"try=1;until dpkg -D3 -i /var/tmp/d.deb || ((try>9));do echo retry $((try++));sleep $((try*try));done;systemctl --now start docker;systemctl restart docker.socket\\\"\\n\", \"path\": \"/etc/systemd/system/dcos-docker-install.service\", \"permissions\": \"0644\"}, {\"content\": \"[Service]\\nRestart=always\\nStartLimitInterval=0\\nRestartSec=15\\nExecStartPre=-/sbin/ip link del docker0\\nExecStart=\\nExecStart=/usr/bin/dockerd --storage-driver=overlay\\n\", \"path\": \"/etc/systemd/system/docker.service.d/execstart.conf\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nPartOf=docker.service\\n[Socket]\\nListenStream=/var/run/docker.sock\\nSocketMode=0660\\nSocketUser=root\\nSocketGroup=docker\\nListenStream=2375\\nBindIPv6Only=both\\n[Install]\\nWantedBy=sockets.target\\n\", \"path\": \"/etc/systemd/system/docker.socket\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nRequires=dcos-setup.service\\nAfter=dcos-setup.service\\n[Service]\\nType=oneshot\\nEnvironmentFile=/etc/environment\\nEnvironmentFile=/opt/mesosphere/environment\\nExecStart=/usr/bin/bash -c \\\"echo $(detect_ip) $(hostname) > /etc/hosts\\\"\\n\", \"path\": \"/etc/systemd/system/dcos-config-writer.service\", \"permissions\": \"0644\"}, {\"content\": \"\\\"bound_values\\\":\\n \\\"adminrouter_auth_enabled\\\": |-\\n ', variables('oauthEnabled'), '\\n \\\"cluster_name\\\": |-\\n ', variables('masterPublicIPAddressName'), '\\n \\\"exhibitor_azure_account_key\\\": |-\\n ', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('masterStorageAccountExhibitorName')), '2015-06-15').key1, '\\n \\\"exhibitor_azure_account_name\\\": |-\\n ', variables('masterStorageAccountExhibitorName'), '\\n \\\"exhibitor_azure_prefix\\\": |-\\n ', variables('masterPublicIPAddressName'), '\\n \\\"master_list\\\": |-\\n [\\\"', reference(variables('masterVMNic')[0]).ipConfigurations[0].properties.privateIPAddress, '\\\", \\\"', reference(variables('masterVMNic')[1]).ipConfigurations[0].properties.privateIPAddress, '\\\", \\\"', reference(variables('masterVMNic')[2]).ipConfigurations[0].properties.privateIPAddress, '\\\"]\\n \\\"oauth_enabled\\\": |-\\n ', variables('oauthEnabled'), '\\n\\\"late_bound_package_id\\\": |-\\n dcos-provider-050b05d5bdd9c54cf0dfc1226627af6e15dac749-azure--setup\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/late-config.yaml\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nBefore=dcos.target\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/mkdir -p /etc/profile.d\\nExecStart=/usr/bin/ln -sf /opt/mesosphere/bin/add_dcos_path.sh /etc/profile.d/dcos.sh\\n\", \"path\": \"/etc/systemd/system/dcos-link-env.service\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nDescription=Pkgpanda: Download DC/OS to this host.\\nAfter=network-online.target\\nWants=network-online.target\\nConditionPathExists=!/opt/mesosphere/active/\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/curl --keepalive-time 2 -fLsSv --retry 20 -Y 100000 -y 60 -o //var/tmp/bootstrap.tar.xz https://dcosio.azureedge.net/dcos/stable/bootstrap/6a177efb1f3c1358110fc434910b5310f504c169.bootstrap.tar.xz\\nExecStartPre=/usr/bin/mkdir -p /opt/mesosphere\\nExecStart=/usr/bin/tar -axf //var/tmp/bootstrap.tar.xz -C /opt/mesosphere\\nExecStartPost=-/usr/bin/rm -f //var/tmp/bootstrap.tar.xz\\n\", \"path\": \"/etc/systemd/system/dcos-download.service\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nDescription=Pkgpanda: Specialize DC/OS for this host.\\nRequires=dcos-download.service\\nAfter=dcos-download.service\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nEnvironmentFile=/opt/mesosphere/environment\\nExecStart=/opt/mesosphere/bin/pkgpanda setup --no-block-systemd\\n[Install]\\nWantedBy=multi-user.target\\n\", \"path\": \"/etc/systemd/system/dcos-setup.service\", \"permissions\": \"0644\"}, {\"content\": \"\", \"path\": \"/etc/mesosphere/roles/master\"}, {\"content\": \"\", \"path\": \"/etc/mesosphere/roles/azure_master\"}, {\"content\": \"\", \"path\": \"/etc/mesosphere/roles/azure\"}]}'))]" | |
}, | |
"diagnosticsProfile": { | |
"bootDiagnostics": { | |
"storageUri": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('diagnosticsStorageAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob]", | |
"enabled": "[variables('enableVMDiagnostics')]" | |
} | |
}, | |
"availabilitySet": { | |
"id": "[resourceId('Microsoft.Compute/availabilitySets',variables('masterAvailabilitySet'))]" | |
}, | |
"networkProfile": { | |
"networkInterfaces": [ | |
{ | |
"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('masterVMNamePrefix'), 'nic-', copyIndex()))]" | |
} | |
] | |
} | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/networkInterfaces/', variables('masterVMNamePrefix'), 'nic-', copyIndex())]", | |
"[concat('Microsoft.Compute/availabilitySets/',variables('masterAvailabilitySet'))]", | |
"[variables('masterStorageAccountName')]", | |
"[variables('masterStorageAccountExhibitorName')]", | |
"[variables('diagnosticsStorageAccountName')]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"name": "[concat(variables('masterVMNamePrefix'), sub(variables('masterCount'), 1), '/waitforleader')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Compute/virtualMachines/extensions", | |
"properties": { | |
"settings": { | |
"commandToExecute": "sh -c 'until ping -c1 leader.mesos;do echo waiting for leader.mesos;sleep 15;done;echo leader.mesos up'" | |
}, | |
"publisher": "Microsoft.OSTCExtensions", | |
"typeHandlerVersion": "1.4", | |
"type": "CustomScriptForLinux", | |
"autoUpgradeMinorVersion": true | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Compute/virtualMachines/', variables('masterVMNamePrefix'), sub(variables('masterCount'), 1))]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"copy": { | |
"name": "vmLoopNode", | |
"count": "[variables('masterCount')]" | |
}, | |
"name": "[concat(variables('masterVMNamePrefix'), copyIndex(), '/linuxdiagnostic')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Compute/virtualMachines/extensions", | |
"properties": { | |
"publisher": "Microsoft.OSTCExtensions", | |
"type": "LinuxDiagnostic", | |
"autoUpgradeMinorVersion": true, | |
"settings": { | |
"xmlCfg": "[base64(concat(variables('wadcfgxstart'), variables('masterVMNamePrefix'), copyIndex(), variables('wadcfgxend')))]", | |
"StorageAccount": "[variables(concat('diagnosticsStorageAccountName', '-', variables('enableVMDiagnostics')))]" | |
}, | |
"typeHandlerVersion": "2.3", | |
"protectedSettings": { | |
"storageAccountName": "[variables(concat('diagnosticsStorageAccountName', '-', variables('enableVMDiagnostics')))]", | |
"storageAccountKey": "[listKeys(variables('accountid'),variables('apiVersionStorage')).key1]" | |
} | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Compute/virtualMachines/', concat(variables('masterVMNamePrefix'), copyIndex()))]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"name": "[variables('agentStoragePublicAccountName')]", | |
"apiVersion": "[variables('apiVersionStorage')]", | |
"type": "Microsoft.Storage/storageAccounts", | |
"properties": { | |
"accountType": "[variables('vmSizesMap')[variables('agentVMSize')].storageAccountType]" | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" | |
], | |
"location": "[variables('storageLocation')]" | |
}, | |
{ | |
"properties": { | |
"dnsSettings": { | |
"domainNameLabel": "[variables('agentEndpointDNSNamePrefix')]" | |
}, | |
"publicIPAllocationMethod": "Dynamic" | |
}, | |
"name": "[variables('agentPublicIPAddressName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"location": "[resourceGroup().location]", | |
"type": "Microsoft.Network/publicIPAddresses" | |
}, | |
{ | |
"name": "[variables('agentsPublicLbName')]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"type": "Microsoft.Network/loadBalancers", | |
"properties": { | |
"frontendIPConfigurations": [ | |
{ | |
"properties": { | |
"publicIPAddress": { | |
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('agentPublicIPAddressName'))]" | |
} | |
}, | |
"name": "[variables('agentsPublicLbIPConfigName')]" | |
} | |
], | |
"backendAddressPools": [ | |
{ | |
"name": "[variables('agentsPublicLbBackendPoolName')]" | |
} | |
], | |
"probes": [ | |
{ | |
"properties": { | |
"numberOfProbes": "2", | |
"port": 80, | |
"protocol": "tcp", | |
"intervalInSeconds": "5" | |
}, | |
"name": "tcpHTTPProbe" | |
}, | |
{ | |
"properties": { | |
"numberOfProbes": "2", | |
"port": 443, | |
"protocol": "tcp", | |
"intervalInSeconds": "5" | |
}, | |
"name": "tcpHTTPSProbe" | |
}, | |
{ | |
"properties": { | |
"numberOfProbes": "2", | |
"port": 8080, | |
"protocol": "tcp", | |
"intervalInSeconds": "5" | |
}, | |
"name": "tcpPort8080Probe" | |
} | |
], | |
"loadBalancingRules": [ | |
{ | |
"properties": { | |
"enableFloatingIP": false, | |
"protocol": "tcp", | |
"idleTimeoutInMinutes": 5, | |
"backendAddressPool": { | |
"id": "[concat(variables('agentsPublicLbID'), '/backendAddressPools/', variables('agentsPublicLbBackendPoolName'))]" | |
}, | |
"loadDistribution": "Default", | |
"backendPort": 80, | |
"frontendPort": 80, | |
"frontendIPConfiguration": { | |
"id": "[variables('agentsPublicLbIPConfigID')]" | |
}, | |
"probe": { | |
"id": "[concat(variables('agentsPublicLbID'),'/probes/tcpHTTPProbe')]" | |
} | |
}, | |
"name": "LBRuleHTTP" | |
}, | |
{ | |
"properties": { | |
"enableFloatingIP": false, | |
"protocol": "tcp", | |
"idleTimeoutInMinutes": 5, | |
"backendAddressPool": { | |
"id": "[concat(variables('agentsPublicLbID'), '/backendAddressPools/', variables('agentsPublicLbBackendPoolName'))]" | |
}, | |
"loadDistribution": "Default", | |
"backendPort": 443, | |
"frontendPort": 443, | |
"frontendIPConfiguration": { | |
"id": "[variables('agentsPublicLbIPConfigID')]" | |
}, | |
"probe": { | |
"id": "[concat(variables('agentsPublicLbID'),'/probes/tcpHTTPSProbe')]" | |
} | |
}, | |
"name": "LBRuleHTTPS" | |
}, | |
{ | |
"properties": { | |
"enableFloatingIP": false, | |
"protocol": "tcp", | |
"idleTimeoutInMinutes": 5, | |
"backendAddressPool": { | |
"id": "[concat(variables('agentsPublicLbID'), '/backendAddressPools/', variables('agentsPublicLbBackendPoolName'))]" | |
}, | |
"loadDistribution": "Default", | |
"backendPort": 8080, | |
"frontendPort": 8080, | |
"frontendIPConfiguration": { | |
"id": "[variables('agentsPublicLbIPConfigID')]" | |
}, | |
"probe": { | |
"id": "[concat(variables('agentsPublicLbID'),'/probes/tcpPort8080Probe')]" | |
} | |
}, | |
"name": "LBRulePort8080" | |
} | |
], | |
"inboundNatRules": [] | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('agentPublicIPAddressName'))]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"copy": { | |
"name": "masterLbLoopNode", | |
"count": "[variables('agentPublicVMSSCount')]" | |
}, | |
"name": "[concat(variables('agentPublicVMNamePrefix'), '-vmss', copyIndex())]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"sku": { | |
"tier": "Standard", | |
"name": "[variables('agentVMSize')]", | |
"capacity": "[variables('agentPublicCount')]" | |
}, | |
"type": "Microsoft.Compute/virtualMachineScaleSets", | |
"properties": { | |
"virtualMachineProfile": { | |
"osProfile": { | |
"computerNamePrefix": "[variables('agentPublicVMNamePrefix')]", | |
"linuxConfiguration": { | |
"ssh": { | |
"publicKeys": [ | |
{ | |
"keyData": "[parameters('sshRSAPublicKey')]", | |
"path": "[variables('sshKeyPath')]" | |
} | |
] | |
}, | |
"disablePasswordAuthentication": "true" | |
}, | |
"adminUsername": "[variables('adminUsername')]", | |
"customData": "[base64(concat('#cloud-config\n\n', '{\"bootcmd\": [\"bash -c \\\"if [ ! -f /var/lib/sdb-gpt ];then echo DCOS-5890;parted -s /dev/sdb mklabel gpt;touch /var/lib/sdb-gpt;fi\\\"\"], \"disk_setup\": {\"ephemeral0\": {\"layout\": [45, 45, 10], \"overwrite\": true, \"table_type\": \"gpt\"}}, \"fs_setup\": [{\"device\": \"ephemeral0.1\", \"filesystem\": \"ext4\", \"overwrite\": true}, {\"device\": \"ephemeral0.2\", \"filesystem\": \"ext4\", \"overwrite\": true}, {\"device\": \"ephemeral0.3\", \"filesystem\": \"ext4\", \"overwrite\": true}], \"mounts\": [[\"ephemeral0.1\", \"/var/lib/mesos\"], [\"ephemeral0.2\", \"/var/lib/docker\"], [\"ephemeral0.3\", \"/var/tmp\"]], \"runcmd\": [[\"ln\", \"-s\", \"/bin/rm\", \"/usr/bin/rm\"], [\"ln\", \"-s\", \"/bin/mkdir\", \"/usr/bin/mkdir\"], [\"ln\", \"-s\", \"/bin/tar\", \"/usr/bin/tar\"], [\"ln\", \"-s\", \"/bin/ln\", \"/usr/bin/ln\"], [\"ln\", \"-s\", \"/bin/cp\", \"/usr/bin/cp\"], [\"ln\", \"-s\", \"/bin/systemctl\", \"/usr/bin/systemctl\"], [\"ln\", \"-s\", \"/bin/mount\", \"/usr/bin/mount\"], [\"ln\", \"-s\", \"/bin/bash\", \"/usr/bin/bash\"], [\"ln\", \"-s\", \"/usr/sbin/useradd\", \"/usr/bin/useradd\"], [\"systemctl\", \"disable\", \"--now\", \"resolvconf.service\"], [\"systemctl\", \"mask\", \"--now\", \"lxc-net.service\"], [\"systemctl\", \"disable\", \"--now\", \"unscd.service\"], [\"systemctl\", \"stop\", \"--now\", \"unscd.service\"], \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/1.deb https://az837203.vo.msecnd.net/dcos-deps/libipset3_6.29-1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/2.deb https://az837203.vo.msecnd.net/dcos-deps/ipset_6.29-1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/3.deb https://az837203.vo.msecnd.net/dcos-deps/unzip_6.0-20ubuntu1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/4.deb https://az837203.vo.msecnd.net/dcos-deps/libltdl7_2.4.6-0.1_amd64.deb\", \"sed -i \\\"s/^Port 22$/Port 22\\\\nPort 2222/1\\\" /etc/ssh/sshd_config\", \"service ssh restart\", \"bash -c \\\"try=1;until dpkg -i /var/tmp/{1,2,3,4}.deb || ((try>9));do echo retry \\\\$((try++));sleep \\\\$((try*try));done\\\"\", [\"cp\", \"-p\", \"/etc/resolv.conf\", \"/tmp/resolv.conf\"], [\"rm\", \"-f\", \"/etc/resolv.conf\"], [\"cp\", \"-p\", \"/tmp/resolv.conf\", \"/etc/resolv.conf\"], [\"systemctl\", \"start\", \"dcos-docker-install.service\"], [\"systemctl\", \"start\", \"dcos-config-writer.service\"], [\"systemctl\", \"restart\", \"systemd-journald.service\"], [\"systemctl\", \"restart\", \"docker.service\"], [\"systemctl\", \"start\", \"dcos-link-env.service\"], [\"systemctl\", \"enable\", \"dcos-setup.service\"], [\"systemctl\", \"--no-block\", \"start\", \"dcos-setup.service\"]], \"write_files\": [{\"content\": \"https://dcosio.azureedge.net/dcos/stable\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/repository-url\", \"permissions\": \"0644\"}, {\"content\": \"03460d442fa522fd6c58b32d5c5d96737725e000\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/cluster-package-list\", \"permissions\": \"0644\"}, {\"content\": \"[Journal]\\nMaxLevelConsole=warning\\nRateLimitInterval=1s\\nRateLimitBurst=20000\\n\", \"owner\": \"root\", \"path\": \"/etc/systemd/journald.conf.d/dcos.conf\", \"permissions\": \"0644\"}, {\"content\": \"rexray:\\n loglevel: info\\n modules:\\n default-docker:\\n disabled: true\\n service: vfs\\n\", \"path\": \"/etc/rexray/config.yml\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nAfter=network-online.target\\nWants=network-online.target\\n[Service]\\nType=oneshot\\nEnvironment=DEBIAN_FRONTEND=noninteractive\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/d.deb https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.09.0~ce-0~ubuntu_amd64.deb\\nExecStart=/usr/bin/bash -c \\\"try=1;until dpkg -D3 -i /var/tmp/d.deb || ((try>9));do echo retry $((try++));sleep $((try*try));done;systemctl --now start docker;systemctl restart docker.socket\\\"\\n\", \"path\": \"/etc/systemd/system/dcos-docker-install.service\", \"permissions\": \"0644\"}, {\"content\": \"[Service]\\nRestart=always\\nStartLimitInterval=0\\nRestartSec=15\\nExecStartPre=-/sbin/ip link del docker0\\nExecStart=\\nExecStart=/usr/bin/dockerd --storage-driver=overlay\\n\", \"path\": \"/etc/systemd/system/docker.service.d/execstart.conf\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nPartOf=docker.service\\n[Socket]\\nListenStream=/var/run/docker.sock\\nSocketMode=0660\\nSocketUser=root\\nSocketGroup=docker\\nListenStream=2375\\nBindIPv6Only=both\\n[Install]\\nWantedBy=sockets.target\\n\", \"path\": \"/etc/systemd/system/docker.socket\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nRequires=dcos-setup.service\\nAfter=dcos-setup.service\\n[Service]\\nType=oneshot\\nEnvironmentFile=/etc/environment\\nEnvironmentFile=/opt/mesosphere/environment\\nExecStart=/usr/bin/bash -c \\\"echo $(detect_ip) $(hostname) > /etc/hosts\\\"\\n\", \"path\": \"/etc/systemd/system/dcos-config-writer.service\", \"permissions\": \"0644\"}, {\"content\": \"\\\"bound_values\\\":\\n \\\"adminrouter_auth_enabled\\\": |-\\n ', variables('oauthEnabled'), '\\n \\\"cluster_name\\\": |-\\n ', variables('masterPublicIPAddressName'), '\\n \\\"exhibitor_azure_account_key\\\": |-\\n ', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('masterStorageAccountExhibitorName')), '2015-06-15').key1, '\\n \\\"exhibitor_azure_account_name\\\": |-\\n ', variables('masterStorageAccountExhibitorName'), '\\n \\\"exhibitor_azure_prefix\\\": |-\\n ', variables('masterPublicIPAddressName'), '\\n \\\"master_list\\\": |-\\n [\\\"', reference(variables('masterVMNic')[0]).ipConfigurations[0].properties.privateIPAddress, '\\\", \\\"', reference(variables('masterVMNic')[1]).ipConfigurations[0].properties.privateIPAddress, '\\\", \\\"', reference(variables('masterVMNic')[2]).ipConfigurations[0].properties.privateIPAddress, '\\\"]\\n \\\"oauth_enabled\\\": |-\\n ', variables('oauthEnabled'), '\\n\\\"late_bound_package_id\\\": |-\\n dcos-provider-050b05d5bdd9c54cf0dfc1226627af6e15dac749-azure--setup\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/late-config.yaml\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nBefore=dcos.target\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/mkdir -p /etc/profile.d\\nExecStart=/usr/bin/ln -sf /opt/mesosphere/bin/add_dcos_path.sh /etc/profile.d/dcos.sh\\n\", \"path\": \"/etc/systemd/system/dcos-link-env.service\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nDescription=Pkgpanda: Download DC/OS to this host.\\nAfter=network-online.target\\nWants=network-online.target\\nConditionPathExists=!/opt/mesosphere/active/\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/curl --keepalive-time 2 -fLsSv --retry 20 -Y 100000 -y 60 -o //var/tmp/bootstrap.tar.xz https://dcosio.azureedge.net/dcos/stable/bootstrap/6a177efb1f3c1358110fc434910b5310f504c169.bootstrap.tar.xz\\nExecStartPre=/usr/bin/mkdir -p /opt/mesosphere\\nExecStart=/usr/bin/tar -axf //var/tmp/bootstrap.tar.xz -C /opt/mesosphere\\nExecStartPost=-/usr/bin/rm -f //var/tmp/bootstrap.tar.xz\\n\", \"path\": \"/etc/systemd/system/dcos-download.service\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nDescription=Pkgpanda: Specialize DC/OS for this host.\\nRequires=dcos-download.service\\nAfter=dcos-download.service\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nEnvironmentFile=/opt/mesosphere/environment\\nExecStart=/opt/mesosphere/bin/pkgpanda setup --no-block-systemd\\n[Install]\\nWantedBy=multi-user.target\\n\", \"path\": \"/etc/systemd/system/dcos-setup.service\", \"permissions\": \"0644\"}, {\"content\": \"\", \"path\": \"/etc/mesosphere/roles/slave_public\"}, {\"content\": \"\", \"path\": \"/etc/mesosphere/roles/azure\"}]}'))]" | |
}, | |
"diagnosticsProfile": { | |
"bootDiagnostics": { | |
"storageUri": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('diagnosticsStorageAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob]", | |
"enabled": "[variables('enableVMDiagnostics')]" | |
} | |
}, | |
"storageProfile": { | |
"imageReference": { | |
"publisher": "[variables('osImagePublisher')]", | |
"version": "[variables('osImageVersion')]", | |
"sku": "[variables('osImageSKU')]", | |
"offer": "[variables('osImageOffer')]" | |
}, | |
"osDisk": { | |
"createOption": "FromImage", | |
"name": "vmssosdisk", | |
"vhdContainers": [ | |
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('agentStoragePublicAccountName')),variables('apiVersionStorage')).primaryEndpoints.blob, 'osdisk')]" | |
], | |
"caching": "ReadOnly" | |
} | |
}, | |
"extensionProfile": { | |
"extensions": [ | |
{ | |
"properties": { | |
"publisher": "Microsoft.OSTCExtensions", | |
"type": "LinuxDiagnostic", | |
"autoUpgradeMinorVersion": true, | |
"settings": { | |
"xmlCfg": "[base64(concat(variables('wadcfgxstart'), variables('agentPublicVMNamePrefix'), variables('wadcfgxend')))]", | |
"StorageAccount": "[variables(concat('diagnosticsStorageAccountName', '-', variables('enableVMDiagnostics')))]" | |
}, | |
"typeHandlerVersion": "2.3", | |
"protectedSettings": { | |
"storageAccountName": "[variables(concat('diagnosticsStorageAccountName', '-', variables('enableVMDiagnostics')))]", | |
"storageAccountKey": "[listKeys(variables('accountid'),variables('apiVersionStorage')).key1]" | |
} | |
}, | |
"name": "LinuxDiagnostic" | |
} | |
] | |
}, | |
"networkProfile": { | |
"networkInterfaceConfigurations": [ | |
{ | |
"properties": { | |
"primary": "true", | |
"ipConfigurations": [ | |
{ | |
"properties": { | |
"loadBalancerBackendAddressPools": [ | |
{ | |
"id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('agentsPublicLbName'), '/backendAddressPools/',variables('agentsPublicLbBackendPoolName'))]" | |
} | |
], | |
"subnet": { | |
"id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('agentPublicSubnetName'))]" | |
} | |
}, | |
"name": "nicipconfig" | |
} | |
] | |
}, | |
"name": "agentNodeNic" | |
} | |
] | |
} | |
}, | |
"upgradePolicy": { | |
"mode": "Manual" | |
} | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Storage/storageAccounts/', variables('agentStoragePublicAccountName'))]", | |
"[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]", | |
"[concat('Microsoft.Network/loadBalancers/', variables('agentsPublicLbName'))]", | |
"[variables('diagnosticsStorageAccountName')]" | |
], | |
"location": "[resourceGroup().location]" | |
}, | |
{ | |
"copy": { | |
"name": "agentPrivateLoopNode", | |
"count": "[variables('agentStorageAccountsCount')]" | |
}, | |
"name": "[concat(variables('storageAccountPrefixes')[mod(copyIndex(),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(copyIndex(),variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),copyIndex())]", | |
"apiVersion": "[variables('apiVersionStorage')]", | |
"type": "Microsoft.Storage/storageAccounts", | |
"properties": { | |
"accountType": "[variables('vmSizesMap')[variables('agentVMSize')].storageAccountType]" | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" | |
], | |
"location": "[variables('storageLocation')]" | |
}, | |
{ | |
"copy": { | |
"name": "masterLbLoopNode", | |
"count": "[variables('agentPrivateVMSSCount')]" | |
}, | |
"name": "[concat(variables('agentPrivateVMNamePrefix'), '-vmss', copyIndex())]", | |
"apiVersion": "[variables('apiVersionDefault')]", | |
"sku": { | |
"tier": "Standard", | |
"name": "[variables('agentVMSize')]", | |
"capacity": "[variables('agentPrivateCount')]" | |
}, | |
"type": "Microsoft.Compute/virtualMachineScaleSets", | |
"properties": { | |
"virtualMachineProfile": { | |
"osProfile": { | |
"computerNamePrefix": "[variables('agentPrivateVMNamePrefix')]", | |
"linuxConfiguration": { | |
"ssh": { | |
"publicKeys": [ | |
{ | |
"keyData": "[parameters('sshRSAPublicKey')]", | |
"path": "[variables('sshKeyPath')]" | |
} | |
] | |
}, | |
"disablePasswordAuthentication": "true" | |
}, | |
"adminUsername": "[variables('adminUsername')]", | |
"customData": "[base64(concat('#cloud-config\n\n', '{\"bootcmd\": [\"bash -c \\\"if [ ! -f /var/lib/sdb-gpt ];then echo DCOS-5890;parted -s /dev/sdb mklabel gpt;touch /var/lib/sdb-gpt;fi\\\"\"], \"disk_setup\": {\"ephemeral0\": {\"layout\": [45, 45, 10], \"overwrite\": true, \"table_type\": \"gpt\"}}, \"fs_setup\": [{\"device\": \"ephemeral0.1\", \"filesystem\": \"ext4\", \"overwrite\": true}, {\"device\": \"ephemeral0.2\", \"filesystem\": \"ext4\", \"overwrite\": true}, {\"device\": \"ephemeral0.3\", \"filesystem\": \"ext4\", \"overwrite\": true}], \"mounts\": [[\"ephemeral0.1\", \"/var/lib/mesos\"], [\"ephemeral0.2\", \"/var/lib/docker\"], [\"ephemeral0.3\", \"/var/tmp\"]], \"runcmd\": [[\"ln\", \"-s\", \"/bin/rm\", \"/usr/bin/rm\"], [\"ln\", \"-s\", \"/bin/mkdir\", \"/usr/bin/mkdir\"], [\"ln\", \"-s\", \"/bin/tar\", \"/usr/bin/tar\"], [\"ln\", \"-s\", \"/bin/ln\", \"/usr/bin/ln\"], [\"ln\", \"-s\", \"/bin/cp\", \"/usr/bin/cp\"], [\"ln\", \"-s\", \"/bin/systemctl\", \"/usr/bin/systemctl\"], [\"ln\", \"-s\", \"/bin/mount\", \"/usr/bin/mount\"], [\"ln\", \"-s\", \"/bin/bash\", \"/usr/bin/bash\"], [\"ln\", \"-s\", \"/usr/sbin/useradd\", \"/usr/bin/useradd\"], [\"systemctl\", \"disable\", \"--now\", \"resolvconf.service\"], [\"systemctl\", \"mask\", \"--now\", \"lxc-net.service\"], [\"systemctl\", \"disable\", \"--now\", \"unscd.service\"], [\"systemctl\", \"stop\", \"--now\", \"unscd.service\"], \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/1.deb https://az837203.vo.msecnd.net/dcos-deps/libipset3_6.29-1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/2.deb https://az837203.vo.msecnd.net/dcos-deps/ipset_6.29-1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/3.deb https://az837203.vo.msecnd.net/dcos-deps/unzip_6.0-20ubuntu1_amd64.deb\", \"curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/4.deb https://az837203.vo.msecnd.net/dcos-deps/libltdl7_2.4.6-0.1_amd64.deb\", \"sed -i \\\"s/^Port 22$/Port 22\\\\nPort 2222/1\\\" /etc/ssh/sshd_config\", \"service ssh restart\", \"bash -c \\\"try=1;until dpkg -i /var/tmp/{1,2,3,4}.deb || ((try>9));do echo retry \\\\$((try++));sleep \\\\$((try*try));done\\\"\", [\"cp\", \"-p\", \"/etc/resolv.conf\", \"/tmp/resolv.conf\"], [\"rm\", \"-f\", \"/etc/resolv.conf\"], [\"cp\", \"-p\", \"/tmp/resolv.conf\", \"/etc/resolv.conf\"], [\"systemctl\", \"start\", \"dcos-docker-install.service\"], [\"systemctl\", \"start\", \"dcos-config-writer.service\"], [\"systemctl\", \"restart\", \"systemd-journald.service\"], [\"systemctl\", \"restart\", \"docker.service\"], [\"systemctl\", \"start\", \"dcos-link-env.service\"], [\"systemctl\", \"enable\", \"dcos-setup.service\"], [\"systemctl\", \"--no-block\", \"start\", \"dcos-setup.service\"]], \"write_files\": [{\"content\": \"https://dcosio.azureedge.net/dcos/stable\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/repository-url\", \"permissions\": \"0644\"}, {\"content\": \"03460d442fa522fd6c58b32d5c5d96737725e000\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/cluster-package-list\", \"permissions\": \"0644\"}, {\"content\": \"[Journal]\\nMaxLevelConsole=warning\\nRateLimitInterval=1s\\nRateLimitBurst=20000\\n\", \"owner\": \"root\", \"path\": \"/etc/systemd/journald.conf.d/dcos.conf\", \"permissions\": \"0644\"}, {\"content\": \"rexray:\\n loglevel: info\\n modules:\\n default-docker:\\n disabled: true\\n service: vfs\\n\", \"path\": \"/etc/rexray/config.yml\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nAfter=network-online.target\\nWants=network-online.target\\n[Service]\\nType=oneshot\\nEnvironment=DEBIAN_FRONTEND=noninteractive\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/curl -fLsSv --retry 20 -Y 100000 -y 60 -o /var/tmp/d.deb https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.09.0~ce-0~ubuntu_amd64.deb\\nExecStart=/usr/bin/bash -c \\\"try=1;until dpkg -D3 -i /var/tmp/d.deb || ((try>9));do echo retry $((try++));sleep $((try*try));done;systemctl --now start docker;systemctl restart docker.socket\\\"\\n\", \"path\": \"/etc/systemd/system/dcos-docker-install.service\", \"permissions\": \"0644\"}, {\"content\": \"[Service]\\nRestart=always\\nStartLimitInterval=0\\nRestartSec=15\\nExecStartPre=-/sbin/ip link del docker0\\nExecStart=\\nExecStart=/usr/bin/dockerd --storage-driver=overlay\\n\", \"path\": \"/etc/systemd/system/docker.service.d/execstart.conf\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nPartOf=docker.service\\n[Socket]\\nListenStream=/var/run/docker.sock\\nSocketMode=0660\\nSocketUser=root\\nSocketGroup=docker\\nListenStream=2375\\nBindIPv6Only=both\\n[Install]\\nWantedBy=sockets.target\\n\", \"path\": \"/etc/systemd/system/docker.socket\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nRequires=dcos-setup.service\\nAfter=dcos-setup.service\\n[Service]\\nType=oneshot\\nEnvironmentFile=/etc/environment\\nEnvironmentFile=/opt/mesosphere/environment\\nExecStart=/usr/bin/bash -c \\\"echo $(detect_ip) $(hostname) > /etc/hosts\\\"\\n\", \"path\": \"/etc/systemd/system/dcos-config-writer.service\", \"permissions\": \"0644\"}, {\"content\": \"\\\"bound_values\\\":\\n \\\"adminrouter_auth_enabled\\\": |-\\n ', variables('oauthEnabled'), '\\n \\\"cluster_name\\\": |-\\n ', variables('masterPublicIPAddressName'), '\\n \\\"exhibitor_azure_account_key\\\": |-\\n ', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('masterStorageAccountExhibitorName')), '2015-06-15').key1, '\\n \\\"exhibitor_azure_account_name\\\": |-\\n ', variables('masterStorageAccountExhibitorName'), '\\n \\\"exhibitor_azure_prefix\\\": |-\\n ', variables('masterPublicIPAddressName'), '\\n \\\"master_list\\\": |-\\n [\\\"', reference(variables('masterVMNic')[0]).ipConfigurations[0].properties.privateIPAddress, '\\\", \\\"', reference(variables('masterVMNic')[1]).ipConfigurations[0].properties.privateIPAddress, '\\\", \\\"', reference(variables('masterVMNic')[2]).ipConfigurations[0].properties.privateIPAddress, '\\\"]\\n \\\"oauth_enabled\\\": |-\\n ', variables('oauthEnabled'), '\\n\\\"late_bound_package_id\\\": |-\\n dcos-provider-050b05d5bdd9c54cf0dfc1226627af6e15dac749-azure--setup\\n\", \"owner\": \"root\", \"path\": \"/etc/mesosphere/setup-flags/late-config.yaml\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nBefore=dcos.target\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/mkdir -p /etc/profile.d\\nExecStart=/usr/bin/ln -sf /opt/mesosphere/bin/add_dcos_path.sh /etc/profile.d/dcos.sh\\n\", \"path\": \"/etc/systemd/system/dcos-link-env.service\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nDescription=Pkgpanda: Download DC/OS to this host.\\nAfter=network-online.target\\nWants=network-online.target\\nConditionPathExists=!/opt/mesosphere/active/\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nExecStartPre=/usr/bin/curl --keepalive-time 2 -fLsSv --retry 20 -Y 100000 -y 60 -o //var/tmp/bootstrap.tar.xz https://dcosio.azureedge.net/dcos/stable/bootstrap/6a177efb1f3c1358110fc434910b5310f504c169.bootstrap.tar.xz\\nExecStartPre=/usr/bin/mkdir -p /opt/mesosphere\\nExecStart=/usr/bin/tar -axf //var/tmp/bootstrap.tar.xz -C /opt/mesosphere\\nExecStartPost=-/usr/bin/rm -f //var/tmp/bootstrap.tar.xz\\n\", \"path\": \"/etc/systemd/system/dcos-download.service\", \"permissions\": \"0644\"}, {\"content\": \"[Unit]\\nDescription=Pkgpanda: Specialize DC/OS for this host.\\nRequires=dcos-download.service\\nAfter=dcos-download.service\\n[Service]\\nType=oneshot\\nStandardOutput=journal+console\\nStandardError=journal+console\\nEnvironmentFile=/opt/mesosphere/environment\\nExecStart=/opt/mesosphere/bin/pkgpanda setup --no-block-systemd\\n[Install]\\nWantedBy=multi-user.target\\n\", \"path\": \"/etc/systemd/system/dcos-setup.service\", \"permissions\": \"0644\"}, {\"content\": \"\", \"path\": \"/etc/mesosphere/roles/slave\"}, {\"content\": \"\", \"path\": \"/etc/mesosphere/roles/azure\"}]}'))]" | |
}, | |
"diagnosticsProfile": { | |
"bootDiagnostics": { | |
"storageUri": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('diagnosticsStorageAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob]", | |
"enabled": "[variables('enableVMDiagnostics')]" | |
} | |
}, | |
"storageProfile": { | |
"imageReference": { | |
"publisher": "[variables('osImagePublisher')]", | |
"version": "[variables('osImageVersion')]", | |
"sku": "[variables('osImageSKU')]", | |
"offer": "[variables('osImageOffer')]" | |
}, | |
"osDisk": { | |
"createOption": "FromImage", | |
"name": "vmssosdisk", | |
"vhdContainers": [ | |
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(0,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(0,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),0),variables('apiVersionStorage')).primaryEndpoints.blob,'osdisk')]", | |
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(1,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(1,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),1),variables('apiVersionStorage')).primaryEndpoints.blob,'osdisk')]", | |
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(2,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(2,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),2),variables('apiVersionStorage')).primaryEndpoints.blob,'osdisk')]", | |
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(3,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(3,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),3),variables('apiVersionStorage')).primaryEndpoints.blob,'osdisk')]", | |
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(4,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(4,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),4),variables('apiVersionStorage')).primaryEndpoints.blob,'osdisk')]" | |
], | |
"caching": "ReadOnly" | |
} | |
}, | |
"extensionProfile": { | |
"extensions": [ | |
{ | |
"properties": { | |
"publisher": "Microsoft.OSTCExtensions", | |
"type": "LinuxDiagnostic", | |
"autoUpgradeMinorVersion": true, | |
"settings": { | |
"xmlCfg": "[base64(concat(variables('wadcfgxstart'), variables('agentPrivateVMNamePrefix'), variables('wadcfgxend')))]", | |
"StorageAccount": "[variables(concat('diagnosticsStorageAccountName', '-', variables('enableVMDiagnostics')))]" | |
}, | |
"typeHandlerVersion": "2.3", | |
"protectedSettings": { | |
"storageAccountName": "[variables(concat('diagnosticsStorageAccountName', '-', variables('enableVMDiagnostics')))]", | |
"storageAccountKey": "[listKeys(variables('accountid'),variables('apiVersionStorage')).key1]" | |
} | |
}, | |
"name": "LinuxDiagnostic" | |
} | |
] | |
}, | |
"networkProfile": { | |
"networkInterfaceConfigurations": [ | |
{ | |
"properties": { | |
"primary": "true", | |
"ipConfigurations": [ | |
{ | |
"properties": { | |
"subnet": { | |
"id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('agentPrivateSubnetName'))]" | |
} | |
}, | |
"name": "nicipconfig" | |
} | |
] | |
}, | |
"name": "agentPrivateNodeNic" | |
} | |
] | |
} | |
}, | |
"upgradePolicy": { | |
"mode": "Manual" | |
} | |
}, | |
"dependsOn": [ | |
"[concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(0,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(0,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),0)]", | |
"[concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(1,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(1,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),1)]", | |
"[concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(2,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(2,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),2)]", | |
"[concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(3,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(3,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),3)]", | |
"[concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(4,variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(4,variables('storageAccountPrefixesCount'))],variables('agentStoragePrivateAccountName'),4)]", | |
"[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]", | |
"[variables('diagnosticsStorageAccountName')]" | |
], | |
"location": "[resourceGroup().location]" | |
} | |
], | |
"variables": { | |
"diagnosticsStorageAccountName-true": "[variables('diagnosticsStorageAccountName')]", | |
"masterPublicIPAddressName": "[concat(variables('orchestratorName'), '-master-ip-', variables('masterEndpointDNSNamePrefix'), '-', variables('nameSuffix'))]", | |
"diagnosticsStorageAccountName": "[concat(variables('storageAccountBaseName'), 'diag', '0')]", | |
"agentPrivateSubnetName": "[concat(variables('orchestratorName'), '-agentPrivateSubnet')]", | |
"masterHttpPort80InboundNatRuleName": "[concat(variables('masterLbName'),'/HTTPPort80-',variables('masterVMNamePrefix'),'0')]", | |
"masterAddressPrefix": "172.16.0.0/24", | |
"wadlogs": "<WadCfg><DiagnosticMonitorConfiguration>", | |
"chronosEnabled": true, | |
"linuxSku": "[parameters('linuxSku')]", | |
"masterLbIPConfigName": "[concat(variables('orchestratorName'), '-master-lbFrontEnd-', variables('nameSuffix'))]", | |
"diagnosticsStorageAccountName-false": "", | |
"masterVMSize": "[variables('masterSizes')[variables('isValidation')]]", | |
"masterSubnetName": "[concat(variables('orchestratorName'), '-masterSubnet')]", | |
"agentsPublicLbName": "[concat(variables('orchestratorName'), '-agent-lb-', variables('nameSuffix'))]", | |
"masterNSGID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('masterNSGName'))]", | |
"oauthEnabled": "[parameters('oauthEnabled')]", | |
"omsStorageAccount": "none", | |
"osImageOffer": "[variables('linuxOffer')]", | |
"adminUsername": "[parameters('linuxAdminUsername')]", | |
"agentPrivateVMSSCount": 1, | |
"masterLbIPConfigID": "[concat(variables('masterLbID'),'/frontendIPConfigurations/', variables('masterLbIPConfigName'))]", | |
"clusterInstallParameters": "[concat(variables('masterCount'), ' ',variables('masterVMNamePrefix'), ' ',variables('masterFirstAddr'), ' ',variables('swarmEnabled'),' ',variables('marathonEnabled'),' ',variables('chronosEnabled'),' ',variables('omsStorageAccount'),' ',variables('omsStorageAccountKey'),' ', variables('adminUsername'),' ',variables('postInstallScriptURI'))]", | |
"isValidation": "[parameters('isValidation')]", | |
"linuxConfiguration": "[variables('linuxConfigurations')[variables('setLinuxConfigurationForVMCreate')]]", | |
"masterLbBackendPoolName": "[concat(variables('orchestratorName'), '-master-pool-', variables('nameSuffix'))]", | |
"vmsPerStorageAccount": "[parameters('vmsPerStorageAccount')]", | |
"orchestratorName": "dcos", | |
"masterHttpsPort443InboundNatRuleName": "[concat(variables('masterLbName'),'/HTTPSPort443-',variables('masterVMNamePrefix'),'0')]", | |
"setBrowserFirstTabDefaultPrefix": "powershell.exe -ExecutionPolicy Unrestricted -command \"New-Item -Path HKLM:'\\SOFTWARE\\Policies\\Microsoft\\Internet Explorer' ; New-Item -Path HKLM:'\\SOFTWARE\\Policies\\Microsoft\\Internet Explorer\\BrowserEmulation' ; New-ItemProperty -Path HKLM:'\\SOFTWARE\\Policies\\Microsoft\\Internet Explorer\\BrowserEmulation' -Name IntranetCompatibilityMode -Value 0 -Type DWord; New-Item -Path HKLM:'\\SOFTWARE\\Policies\\Microsoft\\Internet Explorer\\Main' ; New-ItemProperty -Path HKLM:'\\SOFTWARE\\Policies\\Microsoft\\Internet Explorer\\Main' -Name 'Start Page' -Type String -Value http://\"", | |
"enableNewStorageAccountNaming": "[parameters('enableNewStorageAccountNaming')]", | |
"linuxOffer": "[parameters('linuxOffer')]", | |
"windowsAdminPassword": "[parameters('windowsAdminPassword')]", | |
"agentAddressPrefix": "10.0.0.0/8", | |
"masterLbInboundNatRules": [ | |
[ | |
{ | |
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'0')]" | |
}, | |
{ | |
"id": "[variables('masterSshPort22InboundNatRuleId')]" | |
}, | |
{ | |
"id": "[variables('masterHttpPort80InboundNatRuleId')]" | |
}, | |
{ | |
"id": "[variables('masterHttpsPort443InboundNatRuleId')]" | |
} | |
], | |
[ | |
{ | |
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'1')]" | |
} | |
], | |
[ | |
{ | |
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'2')]" | |
} | |
], | |
[ | |
{ | |
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'3')]" | |
} | |
], | |
[ | |
{ | |
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'4')]" | |
} | |
] | |
], | |
"sshKeyPath": "[concat('/home/', variables('adminUsername'), '/.ssh/authorized_keys')]", | |
"agentPublicVMNamePrefix": "[concat(variables('orchestratorName'), '-agent-public-', variables('nameSuffix'))]", | |
"setBrowserFirstTabDefaultSuffix": "0:5050", | |
"agentsPerIPv4Octet": 200, | |
"agentPublicCount": "[variables('agentPublicCountPerMasterCount')[string(variables('masterCount'))]]", | |
"agentStorageAccountsCount": 5, | |
"masterLbID": "[resourceId('Microsoft.Network/loadBalancers',variables('masterLbName'))]", | |
"sshRSAPublicKey": "[parameters('sshRSAPublicKey')]", | |
"windowsAdminUsername": "[parameters('windowsAdminUsername')]", | |
"osImageVersion": "[variables('linuxVersion')]", | |
"agentPrivateNSGName": "[concat(variables('orchestratorName'), '-agent-private-nsg-', variables('nameSuffix'))]", | |
"agentEndpointDNSNamePrefix": "[tolower(parameters('agentEndpointDNSNamePrefix'))]", | |
"agentAvailabilitySet": "[concat(variables('orchestratorName'), '-agent-availabilitySet-', variables('nameSuffix'))]", | |
"masterSshInboundNatRuleNamePrefix": "[concat(variables('masterLbName'),'/SSH-',variables('masterVMNamePrefix'))]", | |
"agentPrivateCount": "[parameters('agentCount')]", | |
"agentPrivateVMNamePrefix": "[concat(variables('orchestratorName'), '-agent-private-', variables('nameSuffix'))]", | |
"masterAvailabilitySet": "[concat(variables('orchestratorName'), '-master-availabilitySet-', variables('nameSuffix'))]", | |
"postInstallScriptURI": "[parameters('postInstallScriptURI')]", | |
"agentsPublicLbID": "[resourceId('Microsoft.Network/loadBalancers',variables('agentsPublicLbName'))]", | |
"masterVMNamePrefix": "[concat(variables('orchestratorName'), '-master-', variables('nameSuffix'), '-')]", | |
"virtualNetworkName": "[concat(variables('orchestratorName'), '-vnet-', variables('nameSuffix'))]", | |
"masterLbName": "[concat(variables('orchestratorName'), '-master-lb-', variables('nameSuffix'))]", | |
"agentPublicSubnetName": "[concat(variables('orchestratorName'), '-agentPublicSubnet')]", | |
"enableVMDiagnostics": "[parameters('enableVMDiagnostics')]", | |
"agentPrivateAddressPrefix": "10.32.0.0/11", | |
"agentPublicIPAddressName": "[concat(variables('orchestratorName'), '-agent-ip-', variables('agentEndpointDNSNamePrefix'), '-', variables('nameSuffix'))]", | |
"storageAccountBaseNameNewSuffix-true": "[resourceGroup().location]", | |
"wadperfcounters1-false": "", | |
"masterEndpointDNSNamePrefix": "[tolower(parameters('masterEndpointDNSNamePrefix'))]", | |
"masterHttpPort80InboundNatRuleId": "[concat(variables('masterLbID'),'/inboundNatRules/HTTPPort80-',variables('masterVMNamePrefix'),'0')]", | |
"marathonEnabled": true, | |
"masterNSGName": "[concat(variables('orchestratorName'), '-master-nsg-', variables('nameSuffix'))]", | |
"adminPassword": "[parameters('linuxAdminPassword')]", | |
"agentPublicVMSSCount": 1, | |
"wadperfcounters2-true": "<PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\BytesPerSecond\" sampleRate=\"PT15S\" unit=\"BytesPerSecond\"><annotation displayName=\"Disk total bytes\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\ReadBytesPerSecond\" sampleRate=\"PT15S\" unit=\"BytesPerSecond\"><annotation displayName=\"Disk read guest OS\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\WriteBytesPerSecond\" sampleRate=\"PT15S\" unit=\"BytesPerSecond\"><annotation displayName=\"Disk write guest OS\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\TransfersPerSecond\" sampleRate=\"PT15S\" unit=\"CountPerSecond\"><annotation displayName=\"Disk transfers\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\ReadsPerSecond\" sampleRate=\"PT15S\" unit=\"CountPerSecond\"><annotation displayName=\"Disk reads\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\WritesPerSecond\" sampleRate=\"PT15S\" unit=\"CountPerSecond\"><annotation displayName=\"Disk writes\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\AverageReadTime\" sampleRate=\"PT15S\" unit=\"Seconds\"><annotation displayName=\"Disk read time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\AverageWriteTime\" sampleRate=\"PT15S\" unit=\"Seconds\"><annotation displayName=\"Disk write time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\AverageTransferTime\" sampleRate=\"PT15S\" unit=\"Seconds\"><annotation displayName=\"Disk transfer time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk\\AverageDiskQueueLength\" sampleRate=\"PT15S\" unit=\"Count\"><annotation displayName=\"Disk queue length\" locale=\"en-us\"/></PerformanceCounterConfiguration></PerformanceCounters>", | |
"agentStoragePublicAccountName": "[concat(variables('storageAccountBaseName'), 'agntpub')]", | |
"apiVersionStorage": "2015-06-15", | |
"linuxVersion": "[parameters('linuxVersion')]", | |
"swarmEnabled": false, | |
"masterSshPort22InboundNatRuleId": "[concat(variables('masterLbID'),'/inboundNatRules/SSHPort22-',variables('masterVMNamePrefix'),'0')]", | |
"agentStoragePrivateAccountName": "[concat(variables('storageAccountBaseName'), 'agntpri')]", | |
"wadcfgxstart": "[concat(variables('wadlogs'),variables(concat('wadperfcounters1','-',variables('enableVMDiagnostics'))),variables(concat('wadperfcounters2','-',variables('enableVMDiagnostics'))),'<Metrics resourceId=\"')]", | |
"agentPublicAddressPrefix": "10.0.0.0/11", | |
"masterStorageAccountExhibitorName": "[concat(variables('storageAccountBaseName'), 'exhb0')]", | |
"accountid": "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',variables('diagnosticsStorageAccountResourceGroup'),'/providers/','Microsoft.Storage/storageAccounts/', variables('diagnosticsStorageAccountName'))]", | |
"omsStorageAccountKey": "none", | |
"storageAccountPrefixes": [ | |
"0", | |
"6", | |
"c", | |
"i", | |
"o", | |
"u", | |
"1", | |
"7", | |
"d", | |
"j", | |
"p", | |
"v", | |
"2", | |
"8", | |
"e", | |
"k", | |
"q", | |
"w", | |
"3", | |
"9", | |
"f", | |
"l", | |
"r", | |
"x", | |
"4", | |
"a", | |
"g", | |
"m", | |
"s", | |
"y", | |
"5", | |
"b", | |
"h", | |
"n", | |
"t", | |
"z" | |
], | |
"agentPublicNSGID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('agentPublicNSGName'))]", | |
"wadperfcounters2-false": "", | |
"agentVMSize": "[parameters('agentVMSize')]", | |
"wadcfgxend": "[concat('\"><MetricAggregation scheduledTransferPeriod=\"PT1H\"/><MetricAggregation scheduledTransferPeriod=\"PT1M\"/></Metrics></DiagnosticMonitorConfiguration></WadCfg>')]", | |
"masterHttpsPort443InboundNatRuleId": "[concat(variables('masterLbID'),'/inboundNatRules/HTTPSPort443-',variables('masterVMNamePrefix'),'0')]", | |
"storageAccountPrefixesCount": "[length(variables('storageAccountPrefixes'))]", | |
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]", | |
"allowMasterHttp": { | |
"false": "Deny", | |
"true": "Allow" | |
}, | |
"apiVersionDefault": "2016-03-30", | |
"DcosImageCommit": "96f364a598e5f06371794ebb7c40fff65d0c289f", | |
"linuxPublisher": "[parameters('linuxPublisher')]", | |
"agentPublicCountPerMasterCount": { | |
"1": 1, | |
"3": 3, | |
"5": 3 | |
}, | |
"masterCount": 3, | |
"agentFirstAddr": 20, | |
"masterSubnetRef": "[concat(variables('vnetID'),'/subnets/',variables('masterSubnetName'))]", | |
"masterStorageAccountName": "[concat(variables('storageAccountBaseName'), 'mstr0')]", | |
"masterVMNic": [ | |
"[concat(variables('masterVMNamePrefix'), 'nic-0')]", | |
"[concat(variables('masterVMNamePrefix'), 'nic-1')]", | |
"[concat(variables('masterVMNamePrefix'), 'nic-2')]", | |
"[concat(variables('masterVMNamePrefix'), 'nic-3')]", | |
"[concat(variables('masterVMNamePrefix'), 'nic-4')]", | |
"[concat(variables('masterVMNamePrefix'), 'nic-5')]", | |
"[concat(variables('masterVMNamePrefix'), 'nic-6')]" | |
], | |
"agentPublicNSGName": "[concat(variables('orchestratorName'), '-agent-public-nsg-', variables('nameSuffix'))]", | |
"osImagePublisher": "[variables('linuxPublisher')]", | |
"wadperfcounters1-true": "<PerformanceCounters scheduledTransferPeriod=\"PT1M\"><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\AvailableMemory\" sampleRate=\"PT15S\" unit=\"Bytes\"><annotation displayName=\"Memory available\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\PercentAvailableMemory\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Mem. percent available\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\UsedMemory\" sampleRate=\"PT15S\" unit=\"Bytes\"><annotation displayName=\"Memory used\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\PercentUsedMemory\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Memory percentage\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\PercentUsedByCache\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Mem. used by cache\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Processor\\PercentIdleTime\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"CPU idle time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Processor\\PercentUserTime\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"CPU user time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Processor\\PercentProcessorTime\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"CPU percentage guest OS\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Processor\\PercentIOWaitTime\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"CPU IO wait time\" locale=\"en-us\"/></PerformanceCounterConfiguration>", | |
"agentCustomScript": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/configure-mesos-cluster.sh ',variables('clusterInstallParameters'),' >> /var/log/azure/cluster-bootstrap.log 2>&1 &\" &')]", | |
"diagnosticsStorageAccountResourceGroup": "[resourceGroup().name]", | |
"setLinuxConfigurationForVMCreate": "[parameters('setLinuxConfigurationForVMCreate')]", | |
"osImageSKU": "[variables('linuxSku')]", | |
"vmSizesMap": { | |
"Standard_A9": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D12_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_A7": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D3": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D2_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_DS14": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_GS4": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_GS3": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_G3": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D14": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_A3": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_GS1": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_DS11": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_D2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_DS4": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_D1": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D12": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D4_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_DS3": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_D1_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_G1": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_GS2": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_D3_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_G5": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D4": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_G4": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_DS12": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_A11": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D11_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D13_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D13": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_A8": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_GS5": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_A4": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_A10": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D11": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D14_v2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_DS2": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_A2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_DS1": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_A5": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_DS13": { | |
"storageAccountType": "Premium_LRS" | |
}, | |
"Standard_A6": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_G2": { | |
"storageAccountType": "Standard_LRS" | |
}, | |
"Standard_D5_v2": { | |
"storageAccountType": "Standard_LRS" | |
} | |
}, | |
"storageLocation": "[variables('storageLocations')[variables('isValidation')]]", | |
"masterSshPort22InboundNatRuleName": "[concat(variables('masterLbName'),'/SSHPort22-',variables('masterVMNamePrefix'),'0')]", | |
"masterCustomScript": "[concat('/bin/bash -c \"/bin/bash /opt/azure/containers/configure-mesos-cluster.sh ',variables('clusterInstallParameters'),' >> /var/log/azure/cluster-bootstrap.log 2>&1\"')]", | |
"agentsPublicLbBackendPoolName": "[concat(variables('orchestratorName'), '-agent-pool-', variables('nameSuffix'))]", | |
"nameSuffix": "[parameters('nameSuffix')]", | |
"masterSshInboundNatRuleIdPrefix": "[concat(variables('masterLbID'),'/inboundNatRules/SSH-',variables('masterVMNamePrefix'))]", | |
"storageAccountBaseNameNewSuffix-false": "", | |
"TemplateGenerationDate": "2018-06-26 21:21:20.569626", | |
"storageLocations": [ | |
"[resourceGroup().location]", | |
"East US 2 (Stage)" | |
], | |
"storageAccountBaseName": "[uniqueString(concat(variables('masterEndpointDNSNamePrefix'),variables(concat('storageAccountBaseNameNewSuffix', '-', variables('enableNewStorageAccountNaming'))), variables('orchestratorName')))]", | |
"masterSizes": [ | |
"Standard_D2_v2", | |
"Standard_A2" | |
], | |
"agentsPublicLbIPConfigName": "[concat(variables('orchestratorName'), '-agent-lbFrontEnd-', variables('nameSuffix'))]", | |
"linuxConfigurations": [ | |
{}, | |
{ | |
"ssh": { | |
"publicKeys": [ | |
{ | |
"keyData": "[variables('sshRSAPublicKey')]", | |
"path": "[variables('sshKeyPath')]" | |
} | |
] | |
}, | |
"disablePasswordAuthentication": "[variables('disablePasswordAuthentication')]" | |
} | |
], | |
"disablePasswordAuthentication": "[parameters('disablePasswordAuthentication')]", | |
"masterFirstAddr": 5, | |
"agentsPublicLbIPConfigID": "[concat(variables('agentsPublicLbID'),'/frontendIPConfigurations/', variables('agentsPublicLbIPConfigName'))]", | |
"agentPrivateNSGID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('agentPrivateNSGName'))]" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment