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