Last active
March 16, 2017 21:50
-
-
Save amegianeg/1a36ff30da4b65de125340dbedbbf0cd to your computer and use it in GitHub Desktop.
This file contains 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
{ | |
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", | |
"contentVersion": "1.0.0.0", | |
"outputs": { | |
"ConnectToThisCluster": { | |
"type": "string", | |
"value": "[concat('docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST dockercloud/client ', variables('DockerCloudClusterName'))]" | |
}, | |
"DefaultDNSTarget": { | |
"type": "string", | |
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', variables('lbPublicIPAddressName'))).ipAddress]" | |
}, | |
"SSH Targets": { | |
"type": "string", | |
"value": "[concat('https://', variables('portalFQDN'), '/#resource/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbSSHName'), '/inboundNatRules')]" | |
} | |
}, | |
"parameters": { | |
"DockerCloudAPIKey": { | |
"metadata": { | |
"description": "Docker ID API key to use during registration" | |
}, | |
"type": "securestring" | |
}, | |
"DockerCloudClusterName": { | |
"metadata": { | |
"description": "Name of the cluster (namespace/cluster_name) to be used when registering this Swarm with Docker Cloud\n\nMust be in the format 'namespace/cluster_name' and must only contain letters, digits and hyphens" | |
}, | |
"type": "string" | |
}, | |
"DockerCloudRestHost": { | |
"defaultValue": "https://cloud.docker.com", | |
"metadata": { | |
"description": "Docker Cloud rest API endpoint" | |
}, | |
"type": "string" | |
}, | |
"DockerCloudUsername": { | |
"metadata": { | |
"description": "Docker ID username to use during registration\n\nMust only contain letters or digits" | |
}, | |
"type": "string" | |
}, | |
"DockerIDJWKURL": { | |
"defaultValue": "https://id.docker.com/api/id/v1/authz/certs", | |
"metadata": { | |
"description": "ID JWK certificate URL" | |
}, | |
"type": "string" | |
}, | |
"DockerIDJWTURL": { | |
"defaultValue": "https://id.docker.com/api/id/v1/authz/token", | |
"metadata": { | |
"description": "ID JWT token service URL" | |
}, | |
"type": "string" | |
}, | |
"adServicePrincipalAppID": { | |
"metadata": { | |
"description": "AD ServicePrincipal App ID" | |
}, | |
"type": "string" | |
}, | |
"adServicePrincipalAppSecret": { | |
"metadata": { | |
"description": "AD ServicePrincipal App Secret" | |
}, | |
"type": "securestring" | |
}, | |
"enableSystemPrune": { | |
"allowedValues": [ | |
"yes", | |
"no" | |
], | |
"defaultValue": "no", | |
"metadata": { | |
"description": "Cleans up unused images, containers, networks and volumes" | |
}, | |
"type": "string" | |
}, | |
"managerCount": { | |
"allowedValues": [ | |
1, | |
3, | |
5 | |
], | |
"defaultValue": 1, | |
"type": "int" | |
}, | |
"managerVMSize": { | |
"allowedValues": [ | |
"Standard_A0", | |
"Standard_A1", | |
"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", | |
"metadata": { | |
"description": "The size of the created Manager machines" | |
}, | |
"type": "string" | |
}, | |
"sshPublicKey": { | |
"metadata": { | |
"description": "The SSH public key used to authenticate with the created swarm. Usually available in $HOME/.ssh/id_rsa.pub file" | |
}, | |
"type": "string" | |
}, | |
"swarmName": { | |
"defaultValue": "dockerswarm", | |
"metadata": { | |
"description": "Define how the swarm resources should be named." | |
}, | |
"type": "string" | |
}, | |
"workerCount": { | |
"allowedValues": [ | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15 | |
], | |
"defaultValue": 1, | |
"metadata": { | |
"description": "Number of Worker nodes" | |
}, | |
"type": "int" | |
}, | |
"workerVMSize": { | |
"allowedValues": [ | |
"Standard_A0", | |
"Standard_A1", | |
"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", | |
"metadata": { | |
"description": "The size of the created machines" | |
}, | |
"type": "string" | |
} | |
}, | |
"resources": [ | |
{ | |
"apiVersion": "2015-06-15", | |
"copy": { | |
"count": "[length(variables('uniqueStringArray'))]", | |
"name": "storageLoop" | |
}, | |
"location": "[variables('storageLocation')]", | |
"name": "[concat(variables('uniqueStringArray')[copyIndex()], variables('storageAccountSuffix'))]", | |
"properties": { | |
"accountType": "Standard_LRS" | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Storage/storageAccounts" | |
}, | |
{ | |
"apiVersion": "2015-06-15", | |
"location": "[variables('storageLocation')]", | |
"name": "[variables('swarmLogsStorageAccount')]", | |
"properties": { | |
"accountType": "Standard_LRS" | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Storage/storageAccounts" | |
}, | |
{ | |
"apiVersion": "[variables('apiVersion')]", | |
"location": "[variables('storageLocation')]", | |
"name": "[variables('virtualNetworkName')]", | |
"properties": { | |
"addressSpace": { | |
"addressPrefixes": [ | |
"[variables('subnetPrefix')]", | |
"[variables('managerAddressPrefix')]" | |
] | |
}, | |
"subnets": [ | |
{ | |
"name": "[variables('subnetName')]", | |
"properties": { | |
"addressPrefix": "[variables('subnetPrefix')]" | |
} | |
} | |
] | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Network/virtualNetworks" | |
}, | |
{ | |
"apiVersion": "[variables('apiVersion')]", | |
"dependsOn": [ | |
"[variables('vnetID')]", | |
"[variables('lbSSHID')]", | |
"storageLoop" | |
], | |
"location": "[variables('storageLocation')]", | |
"name": "[variables('vmssManagersName')]", | |
"plan": { | |
"name": "[variables('imageSku')]", | |
"product": "[variables('imageOffer')]", | |
"publisher": "[variables('imagePublisher')]" | |
}, | |
"properties": { | |
"overprovision": false, | |
"upgradePolicy": { | |
"mode": "Manual" | |
}, | |
"virtualMachineProfile": { | |
"diagnosticsProfile": { | |
"bootDiagnostics": { | |
"enabled": true, | |
"storageUri": "[concat('https://', variables('uniqueStringArray')[0], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'))]" | |
} | |
}, | |
"networkProfile": { | |
"networkInterfaceConfigurations": [ | |
{ | |
"name": "managerNodeNic", | |
"properties": { | |
"ipConfigurations": [ | |
{ | |
"name": "mgripconfig", | |
"privateIPAllocationMethod": "dynamic", | |
"properties": { | |
"loadBalancerBackendAddressPools": [ | |
{ | |
"id": "[variables('lbSSHBackendAddressPoolID')]" | |
} | |
], | |
"loadBalancerInboundNatPools": [ | |
{ | |
"id": "[variables('lbSSHNATPoolID')]" | |
} | |
], | |
"subnet": { | |
"id": "[variables('subnetRef')]" | |
} | |
} | |
} | |
], | |
"primary": true | |
} | |
} | |
] | |
}, | |
"osProfile": { | |
"adminUsername": "[variables('adminUsername')]", | |
"computerNamePrefix": "[variables('managerVMNamePrefix')]", | |
"customData": "[base64(concat('#!/bin/bash', '\n', 'export ROLE=\"MANAGER\"', '\n', 'export LB_IP=\"', reference(resourceId('Microsoft.Network/publicIPAddresses', variables('lbPublicIPAddressName'))).ipAddress, '\"', '\n', variables('customData')))]", | |
"linuxConfiguration": { | |
"disablePasswordAuthentication": true, | |
"ssh": { | |
"publicKeys": [ | |
{ | |
"keyData": "[variables('sshRSAPublicKey')]", | |
"path": "[variables('sshKeyPath')]" | |
} | |
] | |
} | |
} | |
}, | |
"storageProfile": { | |
"imageReference": "[variables('imageReference')]", | |
"osDisk": { | |
"caching": "ReadWrite", | |
"createOption": "FromImage", | |
"name": "[concat(variables('managerVMNamePrefix'), 'vmssosdisk')]", | |
"vhdContainers": [ | |
"[concat('https://', variables('uniqueStringArray')[0], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'), '/', variables('vhdContainerName'))]" | |
] | |
} | |
} | |
} | |
}, | |
"sku": { | |
"capacity": "[variables('managerCount')]", | |
"name": "[variables('managerVMSize')]", | |
"tier": "Standard" | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Compute/virtualMachineScaleSets" | |
}, | |
{ | |
"apiVersion": "[variables('apiVersion')]", | |
"dependsOn": [ | |
"[variables('vnetID')]", | |
"[variables('lbID')]", | |
"storageLoop" | |
], | |
"location": "[variables('storageLocation')]", | |
"name": "[variables('vmssName')]", | |
"plan": { | |
"name": "[variables('imageSku')]", | |
"product": "[variables('imageOffer')]", | |
"publisher": "[variables('imagePublisher')]" | |
}, | |
"properties": { | |
"overprovision": false, | |
"upgradePolicy": { | |
"mode": "Manual" | |
}, | |
"virtualMachineProfile": { | |
"diagnosticsProfile": { | |
"bootDiagnostics": { | |
"enabled": true, | |
"storageUri": "[concat('https://', variables('uniqueStringArray')[0], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'))]" | |
} | |
}, | |
"networkProfile": { | |
"networkInterfaceConfigurations": [ | |
{ | |
"name": "workerNodeNic", | |
"properties": { | |
"ipConfigurations": [ | |
{ | |
"name": "nicipconfig", | |
"privateIPAllocationMethod": "dynamic", | |
"properties": { | |
"loadBalancerBackendAddressPools": [ | |
{ | |
"id": "[ variables('lbBackendAddressPoolID')]" | |
} | |
], | |
"subnet": { | |
"id": "[variables('subnetRef')]" | |
} | |
} | |
} | |
], | |
"primary": true | |
} | |
} | |
] | |
}, | |
"osProfile": { | |
"adminUsername": "[variables('adminUsername')]", | |
"computerNamePrefix": "[variables('workerVMNamePrefix')]", | |
"customData": "[base64(concat('#!/bin/bash', '\n', 'export ROLE=\"WORKER\"', '\n', 'export LB_IP=\"', reference(resourceId('Microsoft.Network/publicIPAddresses', variables('lbPublicIPAddressName'))).ipAddress, '\"', '\n', variables('customData')))]", | |
"linuxConfiguration": { | |
"disablePasswordAuthentication": true, | |
"ssh": { | |
"publicKeys": [ | |
{ | |
"keyData": "[variables('sshRSAPublicKey')]", | |
"path": "[variables('sshKeyPath')]" | |
} | |
] | |
} | |
} | |
}, | |
"storageProfile": { | |
"imageReference": "[variables('imageReference')]", | |
"osDisk": { | |
"caching": "ReadWrite", | |
"createOption": "FromImage", | |
"name": "[concat(variables('workerVMNamePrefix'), 'vmssosdisk', 0)]", | |
"vhdContainers": [ | |
"[concat('https://', variables('uniqueStringArray')[0], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'), '/', variables('vhdContainerName'))]", | |
"[concat('https://', variables('uniqueStringArray')[1], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'), '/', variables('vhdContainerName'))]", | |
"[concat('https://', variables('uniqueStringArray')[2], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'), '/', variables('vhdContainerName'))]", | |
"[concat('https://', variables('uniqueStringArray')[3], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'), '/', variables('vhdContainerName'))]", | |
"[concat('https://', variables('uniqueStringArray')[4], variables('storageAccountSuffix'), variables('storageAccountDNSSuffix'), '/', variables('vhdContainerName'))]" | |
] | |
} | |
} | |
} | |
}, | |
"sku": { | |
"capacity": "[variables('workerCount')]", | |
"name": "[variables('workerVMSize')]", | |
"tier": "Standard" | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Compute/virtualMachineScaleSets" | |
}, | |
{ | |
"apiVersion": "[variables('apiVersion')]", | |
"location": "[variables('storageLocation')]", | |
"name": "[variables('lbPublicIPAddressName')]", | |
"properties": { | |
"publicIPAllocationMethod": "Static" | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Network/publicIPAddresses" | |
}, | |
{ | |
"apiVersion": "[variables('apiVersion')]", | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('lbPublicIPAddressName'))]" | |
], | |
"location": "[resourceGroup().location]", | |
"name": "[variables('lbName')]", | |
"properties": { | |
"backendAddressPools": [ | |
{ | |
"name": "default" | |
} | |
], | |
"frontendIPConfigurations": [ | |
{ | |
"name": "default", | |
"properties": { | |
"publicIPAddress": { | |
"id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('lbPublicIPAddressName'))]" | |
} | |
} | |
} | |
], | |
"probes": [ | |
{ | |
"name": "default", | |
"properties": { | |
"intervalInSeconds": 10, | |
"numberOfProbes": 2, | |
"port": 44554, | |
"protocol": "Tcp" | |
} | |
} | |
] | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Network/loadBalancers" | |
}, | |
{ | |
"apiVersion": "[variables('apiVersion')]", | |
"location": "[variables('storageLocation')]", | |
"name": "[variables('lbSSHPublicIPAddressName')]", | |
"properties": { | |
"publicIPAllocationMethod": "Static" | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Network/publicIPAddresses" | |
}, | |
{ | |
"apiVersion": "[variables('apiVersion')]", | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('lbSSHPublicIPAddressName'))]" | |
], | |
"location": "[resourceGroup().location]", | |
"name": "[variables('lbSSHName')]", | |
"properties": { | |
"backendAddressPools": [ | |
{ | |
"name": "default" | |
} | |
], | |
"frontendIPConfigurations": [ | |
{ | |
"name": "default", | |
"properties": { | |
"publicIPAddress": { | |
"id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('lbSSHPublicIPAddressName'))]" | |
} | |
} | |
} | |
], | |
"inboundNatPools": [ | |
{ | |
"name": "default", | |
"properties": { | |
"backendPort": 22, | |
"frontendIPConfiguration": { | |
"id": "[variables('lbSSHFrontEndIPConfigID')]" | |
}, | |
"frontendPortRangeEnd": "[variables('natSSHEndPort')]", | |
"frontendPortRangeStart": "[variables('natSSHStartPort')]", | |
"protocol": "tcp" | |
} | |
} | |
], | |
"probes": [ | |
{ | |
"name": "default", | |
"properties": { | |
"intervalInSeconds": 10, | |
"numberOfProbes": 2, | |
"port": 22, | |
"protocol": "Tcp" | |
} | |
} | |
] | |
}, | |
"tags": { | |
"channel": "[variables('channel')]", | |
"provider": "[toUpper(variables('DockerProviderTag'))]" | |
}, | |
"type": "Microsoft.Network/loadBalancers" | |
} | |
], | |
"variables": { | |
"Description": "Docker for Azure 17.03.0 (17.03.0-ce-azure1)", | |
"DockerProviderTag": "8CF0E79C-DF97-4992-9B59-602DB544D354", | |
"accountID": "[subscription().subscriptionId]", | |
"adServicePrincipalAppID": "[parameters('adServicePrincipalAppID')]", | |
"adServicePrincipalAppSecret": "[parameters('adServicePrincipalAppSecret')]", | |
"adServicePrincipalTenantID": "[subscription().tenantId]", | |
"adminUsername": "docker", | |
"apiVersion": "2016-03-30", | |
"basePrefix": "[parameters('swarmName')]", | |
"channel": "stable", | |
"customData": "[concat('export ACCOUNT_ID=\"', variables('accountID'), '\"', '\n', 'export REGION=\"', variables('storageLocation'), '\"', '\n', 'export SUB_ID=\"', variables('accountID'), '\"', '\n', 'export GROUP_NAME=\"', variables('groupName'), '\"', '\n', 'export LB_NAME=\"', variables('lbName'), '\"', '\n', 'export APP_ID=\"', variables('adServicePrincipalAppID'), '\"', '\n', 'export APP_SECRET=\"', variables('adServicePrincipalAppSecret'), '\"', '\n', 'export TENANT_ID=\"', variables('adServicePrincipalTenantID'), '\"', '\n', 'export SWARM_INFO_STORAGE_ACCOUNT=\"', variables('swarmInfoStorageAccount'), '\"', '\n', 'export SWARM_LOGS_STORAGE_ACCOUNT=\"', variables('swarmLogsStorageAccount'), '\"', '\n', 'export PRIVATE_IP=$(ifconfig eth0 | grep \"inet addr:\" | cut -d: -f2 | cut -d\" \" -f1)\n', 'export AZURE_HOSTNAME=$(hostname)\n', '\n', 'docker run --label com.docker.editions.system --log-driver=json-file --restart=no -it -e LB_NAME -e SUB_ID -e ROLE -e REGION -e TENANT_ID -e APP_ID -e APP_SECRET -e ACCOUNT_ID -e GROUP_NAME -e PRIVATE_IP -e DOCKER_FOR_IAAS_VERSION -e SWARM_INFO_STORAGE_ACCOUNT -e SWARM_LOGS_STORAGE_ACCOUNT -e AZURE_HOSTNAME -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /var/lib/docker:/var/lib/docker -v /var/log:/var/log docker4x/init-azure:\"$DOCKER_FOR_IAAS_VERSION\"\n', '\n', 'export SWARM_NAME=\"', variables('dockerCloudClusterName'), '\"', '\n', 'export DOCKER_USER=\"', variables('dockerCloudUsername'), '\"', '\n', 'export DOCKER_PASS=\"', variables('dockerCloudAPIKey'), '\"', '\n', 'export DOCKERCLOUD_REST_HOST=\"', variables('dockerCloudRestHost'), '\"', '\n', 'export JWT_URL=\"', variables('dockerIDJWTURL'), '\"', '\n', 'export JWK_URL=\"', variables('dockerIDJWKURL'), '\"', '\n', '\n', '# cloud registration container\n', 'export IS_LEADER=$(docker node inspect self -f \"{{ .ManagerStatus.Leader }}\") \n', 'if [ \"$IS_LEADER\" == \"true\" ]; then\n', 'docker run --name=cloud_registration -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_USER -e DOCKER_PASS -e SWARM_NAME -e INTERNAL_ENDPOINT=\"$LB_IP\" -e DOCKERCLOUD_REST_HOST -e JWT_URL -e JWK_URL -e DEBUG=true docker4x/cloud-azure:$DOCKER_FOR_IAAS_VERSION\n', 'fi\n')]", | |
"dockerCloudAPIKey": "[parameters('DockerCloudAPIKey')]", | |
"dockerCloudClusterName": "[parameters('DockerCloudClusterName')]", | |
"dockerCloudRestHost": "[parameters('DockerCloudRestHost')]", | |
"dockerCloudUsername": "[parameters('DockerCloudUsername')]", | |
"dockerIDJWKURL": "[parameters('DockerIDJWKURL')]", | |
"dockerIDJWTURL": "[parameters('DockerIDJWTURL')]", | |
"groupName": "[resourceGroup().name]", | |
"imageOffer": "docker-ce", | |
"imagePublisher": "docker", | |
"imageReference": { | |
"offer": "[variables('imageOffer')]", | |
"publisher": "[variables('imagePublisher')]", | |
"sku": "[variables('imageSku')]", | |
"version": "[variables('imageVersion')]" | |
}, | |
"imageSku": "docker-ce", | |
"imageVersion": "1.0.0", | |
"lbBackendAddressPoolID": "[concat(variables('lbID'),'/backendAddressPools/default')]", | |
"lbID": "[resourceId('Microsoft.Network/loadBalancers',variables('lbName'))]", | |
"lbName": "externalLoadBalancer", | |
"lbPublicIPAddressName": "[concat(variables('basePrefix'), '-', variables('lbName'), '-public-ip')]", | |
"lbSSHBackendAddressPoolID": "[concat(variables('lbSSHID'),'/backendAddressPools/default')]", | |
"lbSSHFrontEndIPConfigID": "[concat(variables('lbSSHID'),'/frontendIPConfigurations/default')]", | |
"lbSSHID": "[resourceId('Microsoft.Network/loadBalancers',variables('lbSSHName'))]", | |
"lbSSHNATPoolID": "[concat(variables('lbSSHID'),'/inboundNatPools/default')]", | |
"lbSSHName": "externalSSHLoadBalancer", | |
"lbSSHPublicIPAddressName": "[concat(variables('basePrefix'), '-', variables('lbSSHName'), '-public-ip')]", | |
"managerAddressPrefix": "172.16.0.0/24", | |
"managerCount": "[parameters('managerCount')]", | |
"managerEndpointDNSNamePrefix": "manager", | |
"managerFirstAddr": 5, | |
"managerVMNamePrefix": "swarm-manager", | |
"managerVMSize": "[parameters('managerVMSize')]", | |
"natSSHEndPort": 50100, | |
"natSSHStartPort": 50000, | |
"portalFQDN": "portal.azure.com", | |
"sshKeyPath": "[concat('/home/', variables('adminUsername'), '/.ssh/authorized_keys')]", | |
"sshRSAPublicKey": "[parameters('sshPublicKey')]", | |
"storageAccountDNSSuffix": ".blob.core.windows.net", | |
"storageAccountSuffix": "docker", | |
"storageLocation": "[resourceGroup().location]", | |
"subnetName": "[concat(variables('basePrefix'), '-subnet')]", | |
"subnetPrefix": "10.0.0.0/8", | |
"subnetRef": "[concat(variables('vnetID'),'/subnets/', variables('subnetName'))]", | |
"swarmInfoStorageAccount": "[concat(variables('uniqueStringArray')[0], variables('storageAccountSuffix'))]", | |
"swarmInfoTable": "swarminfo", | |
"swarmLogsStorageAccount": "[concat(uniqueString(concat(resourceGroup().id, variables('storageAccountSuffix'))), 'logs')]", | |
"uniqueStringArray": [ | |
"[concat(uniqueString(concat(resourceGroup().id, variables('storageAccountSuffix'), '0')))]", | |
"[concat(uniqueString(concat(resourceGroup().id, variables('storageAccountSuffix'), '1')))]", | |
"[concat(uniqueString(concat(resourceGroup().id, variables('storageAccountSuffix'), '2')))]", | |
"[concat(uniqueString(concat(resourceGroup().id, variables('storageAccountSuffix'), '3')))]", | |
"[concat(uniqueString(concat(resourceGroup().id, variables('storageAccountSuffix'), '4')))]" | |
], | |
"vhdContainerName": "dockervhd", | |
"virtualNetworkName": "[concat(variables('basePrefix'), '-vnet')]", | |
"vmssManagersName": "swarm-manager-vmss", | |
"vmssName": "swarm-worker-vmss", | |
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]", | |
"workerCount": "[parameters('workerCount')]", | |
"workerVMNamePrefix": "swarm-worker", | |
"workerVMSize": "[parameters('workerVMSize')]" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment