1388 строки
53 KiB
JSON
1388 строки
53 KiB
JSON
{
|
|
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
|
"contentVersion": "1.0.0.0",
|
|
"apiProfile": "2018-03-01-hybrid",
|
|
"parameters": {
|
|
"agentpublicCount": {
|
|
"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
|
|
],
|
|
"defaultValue": 2,
|
|
"metadata": {
|
|
"description": "The number of agents for the cluster. This value can be from 1 to 100"
|
|
},
|
|
"type": "int"
|
|
},
|
|
"agentpublicEndpointDNSNamePrefix": {
|
|
"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"
|
|
},
|
|
"agentpublicSubnet": {
|
|
"defaultValue": "10.0.0.0/16",
|
|
"metadata": {
|
|
"description": "Sets the subnet of agent pool 'agentpublic'."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"agentpublicVMSize": {
|
|
"allowedValues": [
|
|
"Standard_A10",
|
|
"Standard_A11",
|
|
"Standard_A2",
|
|
"Standard_A2_v2",
|
|
"Standard_A2m_v2",
|
|
"Standard_A3",
|
|
"Standard_A4",
|
|
"Standard_A4_v2",
|
|
"Standard_A4m_v2",
|
|
"Standard_A5",
|
|
"Standard_A6",
|
|
"Standard_A7",
|
|
"Standard_A8",
|
|
"Standard_A8_v2",
|
|
"Standard_A8m_v2",
|
|
"Standard_A9",
|
|
"Standard_D11",
|
|
"Standard_D11_v2",
|
|
"Standard_D11_v2_Promo",
|
|
"Standard_D12",
|
|
"Standard_D12_v2",
|
|
"Standard_D12_v2_Promo",
|
|
"Standard_D13",
|
|
"Standard_D13_v2",
|
|
"Standard_D13_v2_Promo",
|
|
"Standard_D14",
|
|
"Standard_D14_v2",
|
|
"Standard_D14_v2_Promo",
|
|
"Standard_D15_v2",
|
|
"Standard_D16_v3",
|
|
"Standard_D16s_v3",
|
|
"Standard_D2",
|
|
"Standard_D2_v2",
|
|
"Standard_D2_v2_Promo",
|
|
"Standard_D2_v3",
|
|
"Standard_D2s_v3",
|
|
"Standard_D3",
|
|
"Standard_D3_v2",
|
|
"Standard_D3_v2_Promo",
|
|
"Standard_D4",
|
|
"Standard_D4_v2",
|
|
"Standard_D4_v2_Promo",
|
|
"Standard_D4_v3",
|
|
"Standard_D4s_v3",
|
|
"Standard_D5_v2",
|
|
"Standard_D5_v2_Promo",
|
|
"Standard_D8_v3",
|
|
"Standard_D8s_v3",
|
|
"Standard_DS11",
|
|
"Standard_DS11_v2",
|
|
"Standard_DS11_v2_Promo",
|
|
"Standard_DS12",
|
|
"Standard_DS12_v2",
|
|
"Standard_DS12_v2_Promo",
|
|
"Standard_DS13",
|
|
"Standard_DS13_v2",
|
|
"Standard_DS13_v2_Promo",
|
|
"Standard_DS14",
|
|
"Standard_DS14_v2",
|
|
"Standard_DS14_v2_Promo",
|
|
"Standard_DS15_v2",
|
|
"Standard_DS2",
|
|
"Standard_DS2_v2",
|
|
"Standard_DS2_v2_Promo",
|
|
"Standard_DS3",
|
|
"Standard_DS3_v2",
|
|
"Standard_DS3_v2_Promo",
|
|
"Standard_DS4",
|
|
"Standard_DS4_v2",
|
|
"Standard_DS4_v2_Promo",
|
|
"Standard_DS5_v2",
|
|
"Standard_DS5_v2_Promo",
|
|
"Standard_E16_v3",
|
|
"Standard_E16s_v3",
|
|
"Standard_E2_v3",
|
|
"Standard_E2s_v3",
|
|
"Standard_E32_v3",
|
|
"Standard_E32s_v3",
|
|
"Standard_E4_v3",
|
|
"Standard_E4s_v3",
|
|
"Standard_E64_v3",
|
|
"Standard_E64s_v3",
|
|
"Standard_E8_v3",
|
|
"Standard_E8s_v3",
|
|
"Standard_F16",
|
|
"Standard_F16s",
|
|
"Standard_F2",
|
|
"Standard_F2s",
|
|
"Standard_F4",
|
|
"Standard_F4s",
|
|
"Standard_F8",
|
|
"Standard_F8s",
|
|
"Standard_G1",
|
|
"Standard_G2",
|
|
"Standard_G3",
|
|
"Standard_G4",
|
|
"Standard_G5",
|
|
"Standard_GS1",
|
|
"Standard_GS2",
|
|
"Standard_GS3",
|
|
"Standard_GS4",
|
|
"Standard_GS5",
|
|
"Standard_H16",
|
|
"Standard_H16m",
|
|
"Standard_H16mr",
|
|
"Standard_H16r",
|
|
"Standard_H8",
|
|
"Standard_H8m",
|
|
"Standard_L16s",
|
|
"Standard_L32s",
|
|
"Standard_L4s",
|
|
"Standard_L8s",
|
|
"Standard_M128s",
|
|
"Standard_M64ms",
|
|
"Standard_NC12",
|
|
"Standard_NC24",
|
|
"Standard_NC24r",
|
|
"Standard_NC6",
|
|
"Standard_NV12",
|
|
"Standard_NV24",
|
|
"Standard_NV6"
|
|
],
|
|
"defaultValue": "Standard_D2_v2",
|
|
"metadata": {
|
|
"description": "The size of the Virtual Machine."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"dockerComposeDownloadURL": {
|
|
"defaultValue": "https://github.com/docker/compose/releases/download",
|
|
"metadata": {
|
|
"description": "Docker compose download URL."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"dockerEngineDownloadRepo": {
|
|
"defaultValue": "https://aptdocker.azureedge.net/repo",
|
|
"metadata": {
|
|
"description": "Docker engine download repo."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"firstConsecutiveStaticIP": {
|
|
"defaultValue": "172.16.0.5",
|
|
"metadata": {
|
|
"description": "Sets the static IP of the first master"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"linuxAdminUsername": {
|
|
"defaultValue": "azureuser",
|
|
"metadata": {
|
|
"description": "User name for the Linux Virtual Machines (SSH or Password)."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"masterSubnet": {
|
|
"defaultValue": "172.16.0.0/24",
|
|
"metadata": {
|
|
"description": "Sets the subnet of the master node(s)."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"masterVMSize": {
|
|
"allowedValues": [
|
|
"Standard_A10",
|
|
"Standard_A11",
|
|
"Standard_A2",
|
|
"Standard_A2_v2",
|
|
"Standard_A2m_v2",
|
|
"Standard_A3",
|
|
"Standard_A4",
|
|
"Standard_A4_v2",
|
|
"Standard_A4m_v2",
|
|
"Standard_A5",
|
|
"Standard_A6",
|
|
"Standard_A7",
|
|
"Standard_A8",
|
|
"Standard_A8_v2",
|
|
"Standard_A8m_v2",
|
|
"Standard_A9",
|
|
"Standard_D11",
|
|
"Standard_D11_v2",
|
|
"Standard_D11_v2_Promo",
|
|
"Standard_D12",
|
|
"Standard_D12_v2",
|
|
"Standard_D12_v2_Promo",
|
|
"Standard_D13",
|
|
"Standard_D13_v2",
|
|
"Standard_D13_v2_Promo",
|
|
"Standard_D14",
|
|
"Standard_D14_v2",
|
|
"Standard_D14_v2_Promo",
|
|
"Standard_D15_v2",
|
|
"Standard_D16_v3",
|
|
"Standard_D16s_v3",
|
|
"Standard_D2",
|
|
"Standard_D2_v2",
|
|
"Standard_D2_v2_Promo",
|
|
"Standard_D2_v3",
|
|
"Standard_D2s_v3",
|
|
"Standard_D3",
|
|
"Standard_D3_v2",
|
|
"Standard_D3_v2_Promo",
|
|
"Standard_D4",
|
|
"Standard_D4_v2",
|
|
"Standard_D4_v2_Promo",
|
|
"Standard_D4_v3",
|
|
"Standard_D4s_v3",
|
|
"Standard_D5_v2",
|
|
"Standard_D5_v2_Promo",
|
|
"Standard_D8_v3",
|
|
"Standard_D8s_v3",
|
|
"Standard_DS11",
|
|
"Standard_DS11_v2",
|
|
"Standard_DS11_v2_Promo",
|
|
"Standard_DS12",
|
|
"Standard_DS12_v2",
|
|
"Standard_DS12_v2_Promo",
|
|
"Standard_DS13",
|
|
"Standard_DS13_v2",
|
|
"Standard_DS13_v2_Promo",
|
|
"Standard_DS14",
|
|
"Standard_DS14_v2",
|
|
"Standard_DS14_v2_Promo",
|
|
"Standard_DS15_v2",
|
|
"Standard_DS2",
|
|
"Standard_DS2_v2",
|
|
"Standard_DS2_v2_Promo",
|
|
"Standard_DS3",
|
|
"Standard_DS3_v2",
|
|
"Standard_DS3_v2_Promo",
|
|
"Standard_DS4",
|
|
"Standard_DS4_v2",
|
|
"Standard_DS4_v2_Promo",
|
|
"Standard_DS5_v2",
|
|
"Standard_DS5_v2_Promo",
|
|
"Standard_E16_v3",
|
|
"Standard_E16s_v3",
|
|
"Standard_E2_v3",
|
|
"Standard_E2s_v3",
|
|
"Standard_E32_v3",
|
|
"Standard_E32s_v3",
|
|
"Standard_E4_v3",
|
|
"Standard_E4s_v3",
|
|
"Standard_E64_v3",
|
|
"Standard_E64s_v3",
|
|
"Standard_E8_v3",
|
|
"Standard_E8s_v3",
|
|
"Standard_F16",
|
|
"Standard_F16s",
|
|
"Standard_F2",
|
|
"Standard_F2s",
|
|
"Standard_F4",
|
|
"Standard_F4s",
|
|
"Standard_F8",
|
|
"Standard_F8s",
|
|
"Standard_G1",
|
|
"Standard_G2",
|
|
"Standard_G3",
|
|
"Standard_G4",
|
|
"Standard_G5",
|
|
"Standard_GS1",
|
|
"Standard_GS2",
|
|
"Standard_GS3",
|
|
"Standard_GS4",
|
|
"Standard_GS5",
|
|
"Standard_H16",
|
|
"Standard_H16m",
|
|
"Standard_H16mr",
|
|
"Standard_H16r",
|
|
"Standard_H8",
|
|
"Standard_H8m",
|
|
"Standard_L16s",
|
|
"Standard_L32s",
|
|
"Standard_L4s",
|
|
"Standard_L8s",
|
|
"Standard_M128s",
|
|
"Standard_M64ms",
|
|
"Standard_NC12",
|
|
"Standard_NC24",
|
|
"Standard_NC24r",
|
|
"Standard_NC6",
|
|
"Standard_NV12",
|
|
"Standard_NV24",
|
|
"Standard_NV6"
|
|
],
|
|
"defaultValue": "Standard_D2_v2",
|
|
"metadata": {
|
|
"description": "The size of the Virtual Machine."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"osImageOffer": {
|
|
"defaultValue": "UbuntuServer",
|
|
"metadata": {
|
|
"description": "Linux OS image type."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"osImagePublisher": {
|
|
"defaultValue": "Canonical",
|
|
"metadata": {
|
|
"description": "OS image publisher."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"osImageSKU": {
|
|
"defaultValue": "16.04-LTS",
|
|
"metadata": {
|
|
"description": "OS image SKU."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"osImageVersion": {
|
|
"defaultValue": "latest",
|
|
"metadata": {
|
|
"description": "OS image version."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"sshRSAPublicKey": {
|
|
"metadata": {
|
|
"description": "SSH public key used for auth to all Linux machines. Not Required. If not set, you must provide a password key."
|
|
},
|
|
"type": "string"
|
|
}
|
|
},
|
|
"variables": {
|
|
"adminUsername": "[parameters('linuxAdminUsername')]",
|
|
"agentCustomScript": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/',variables('configureClusterScriptFile'), ' ',variables('clusterInstallParameters'),' >> /var/log/azure/cluster-bootstrap.log 2>&1 &\" &')]",
|
|
"agentMaxVMs": 100,
|
|
"agentpublicAccountName": "[concat(variables('storageAccountBaseName'), 'agnt0')]",
|
|
"agentpublicCount": "[parameters('agentpublicCount')]",
|
|
"agentpublicEndpointDNSNamePrefix": "[tolower(parameters('agentpublicEndpointDNSNamePrefix'))]",
|
|
"agentpublicIPAddressName": "[concat(variables('orchestratorName'), '-agent-ip-', variables('agentpublicEndpointDNSNamePrefix'), '-', variables('nameSuffix'))]",
|
|
"agentpublicIndex": 0,
|
|
"agentpublicLbBackendPoolName": "[concat(variables('orchestratorName'), '-agentpublic-', variables('nameSuffix'))]",
|
|
"agentpublicLbID": "[resourceId('Microsoft.Network/loadBalancers',variables('agentpublicLbName'))]",
|
|
"agentpublicLbIPConfigID": "[concat(variables('agentpublicLbID'),'/frontendIPConfigurations/', variables('agentpublicLbIPConfigName'))]",
|
|
"agentpublicLbIPConfigName": "[concat(variables('orchestratorName'), '-agentpublic-', variables('nameSuffix'))]",
|
|
"agentpublicLbName": "[concat(variables('orchestratorName'), '-agentpublic-', variables('nameSuffix'))]",
|
|
"agentpublicStorageAccountOffset": "[mul(variables('maxStorageAccountsPerAgent'),0)]",
|
|
"agentpublicStorageAccountsCount": "[variables('maxStorageAccountsPerAgent')]",
|
|
"agentpublicOSImageOffer": "[parameters('osImageOffer')]",
|
|
"agentpublicOSImagePublisher": "[parameters('osImagePublisher')]",
|
|
"agentpublicOSImageSKU": "[parameters('osImageSKU')]",
|
|
"agentpublicOSImageVersion": "[parameters('osImageVersion')]",
|
|
"agentpublicRunCmd": "[concat('runcmd:\n \n- [ /bin/bash, /opt/azure/containers/install-cluster.sh ]\n\n')]",
|
|
"agentpublicRunCmdFile": "[concat(' - content: |\n #!/bin/bash\n ','sudo mkdir -p /var/log/azure\n ',variables('agentCustomScript'),'\n path: /opt/azure/containers/install-cluster.sh\n permissions: \"0744\"\n')]",
|
|
"agentpublicSubnet": "[parameters('agentpublicSubnet')]",
|
|
"agentpublicSubnetName": "[concat(variables('orchestratorName'), '-agentpublicsubnet')]",
|
|
"agentpublicVMNamePrefix": "[concat(variables('orchestratorName'), '-agentpublic-', variables('nameSuffix'))]",
|
|
"agentpublicVMSize": "[parameters('agentpublicVMSize')]",
|
|
"agentpublicVMSizeTier": "[split(parameters('agentpublicVMSize'),'_')[0]]",
|
|
"agentpublicVnetSubnetID": "[concat(variables('vnetID'),'/subnets/',variables('agentpublicSubnetName'))]",
|
|
"apiVersionStorage": "2015-06-15",
|
|
"clusterInstallParameters": "[concat(variables('orchestratorVersion'), ' ',variables('dockerComposeVersion'), ' ',variables('masterCount'), ' ',variables('masterVMNamePrefix'), ' ',variables('masterFirstAddrOctet4'), ' ',variables('adminUsername'),' ',variables('postInstallScriptURI'),' ',variables('masterFirstAddrPrefix'),' ', parameters('dockerEngineDownloadRepo'), ' ', parameters('dockerComposeDownloadURL'))]",
|
|
"configureClusterScriptFile": "configure-swarmmode-cluster.sh",
|
|
"dataStorageAccountPrefixSeed": 97,
|
|
"dockerComposeVersion": "1.14.0",
|
|
"location": "[resourceGroup().location]",
|
|
"masterAvailabilitySet": "[concat(variables('orchestratorName'), '-master-availabilitySet-', variables('nameSuffix'))]",
|
|
"masterCount": 1,
|
|
"masterCustomScript": "[concat('/bin/bash -c \"/bin/bash /opt/azure/containers/',variables('configureClusterScriptFile'), ' ',variables('clusterInstallParameters'),' >> /var/log/azure/cluster-bootstrap.log 2>&1\"')]",
|
|
"masterEndpointDNSNamePrefix": "[tolower(parameters('masterEndpointDNSNamePrefix'))]",
|
|
"masterFirstAddrOctet4": "[variables('masterFirstAddrOctets')[3]]",
|
|
"masterFirstAddrOctets": "[split(parameters('firstConsecutiveStaticIP'),'.')]",
|
|
"masterFirstAddrPrefix": "[concat(variables('masterFirstAddrOctets')[0],'.',variables('masterFirstAddrOctets')[1],'.',variables('masterFirstAddrOctets')[2],'.')]",
|
|
"masterLbBackendPoolName": "[concat(variables('orchestratorName'), '-master-pool-', variables('nameSuffix'))]",
|
|
"masterLbID": "[resourceId('Microsoft.Network/loadBalancers',variables('masterLbName'))]",
|
|
"masterLbIPConfigID": "[concat(variables('masterLbID'),'/frontendIPConfigurations/', variables('masterLbIPConfigName'))]",
|
|
"masterLbIPConfigName": "[concat(variables('orchestratorName'), '-master-lbFrontEnd-', variables('nameSuffix'))]",
|
|
"masterLbInboundNatRules": [
|
|
[
|
|
{
|
|
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'0')]"
|
|
},
|
|
{
|
|
"id": "[concat(variables('masterSshPort22InboundNatRuleIdPrefix'),'0')]"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'1')]"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'2')]"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'3')]"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"id": "[concat(variables('masterSshInboundNatRuleIdPrefix'),'4')]"
|
|
}
|
|
]
|
|
],
|
|
"masterLbName": "[concat(variables('orchestratorName'), '-master-lb-', variables('nameSuffix'))]",
|
|
"masterOSImageOffer": "[parameters('osImageOffer')]",
|
|
"masterOSImagePublisher": "[parameters('osImagePublisher')]",
|
|
"masterOSImageSKU": "[parameters('osImageSKU')]",
|
|
"masterOSImageVersion": "[parameters('osImageVersion')]",
|
|
"masterPublicIPAddressName": "[concat(variables('orchestratorName'), '-master-ip-', variables('masterEndpointDNSNamePrefix'), '-', variables('nameSuffix'))]",
|
|
"masterSshInboundNatRuleIdPrefix": "[concat(variables('masterLbID'),'/inboundNatRules/SSH-',variables('masterVMNamePrefix'))]",
|
|
"masterSshPort22InboundNatRuleIdPrefix": "[concat(variables('masterLbID'),'/inboundNatRules/SSHPort22-',variables('masterVMNamePrefix'))]",
|
|
"masterSshPort22InboundNatRuleNamePrefix": "[concat(variables('masterLbName'),'/SSHPort22-',variables('masterVMNamePrefix'))]",
|
|
"masterStorageAccountName": "[concat(variables('storageAccountBaseName'), '0')]",
|
|
"masterSubnet": "[parameters('masterSubnet')]",
|
|
"masterSubnetName": "[concat(variables('orchestratorName'), '-masterSubnet')]",
|
|
"masterVMNamePrefix": "[concat(variables('orchestratorName'), '-master-', variables('nameSuffix'), '-')]",
|
|
"masterVMSize": "[parameters('masterVMSize')]",
|
|
"masterVnetSubnetID": "[concat(variables('vnetID'),'/subnets/',variables('masterSubnetName'))]",
|
|
"maxStorageAccountsPerAgent": "[div(variables('maxVMsPerPool'),variables('maxVMsPerStorageAccount'))]",
|
|
"maxVMsPerPool": 100,
|
|
"maxVMsPerStorageAccount": 20,
|
|
"nameSuffix": "[uniqueString(resourceGroup().id)]",
|
|
"orchestratorName": "swarmm",
|
|
"orchestratorVersion": "17.03.*",
|
|
"postInstallScriptURI": "disabled",
|
|
"sshKeyPath": "[concat('/home/', variables('adminUsername'), '/.ssh/authorized_keys')]",
|
|
"sshRSAPublicKey": "[parameters('sshRSAPublicKey')]",
|
|
"storageAccountBaseName": "[uniqueString(concat(variables('masterEndpointDNSNamePrefix'),variables('location')))]",
|
|
"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"
|
|
],
|
|
"storageAccountPrefixesCount": "[length(variables('storageAccountPrefixes'))]",
|
|
"virtualNetworkName": "[concat(variables('orchestratorName'), '-vnet-', variables('nameSuffix'))]",
|
|
"vmSizesMap": {
|
|
"Standard_A10": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A11": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A2_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A2m_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A3": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A4": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A4_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A4m_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A5": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A6": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A7": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A8": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A8_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A8m_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_A9": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D11": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D11_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D11_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D12": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D12_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D12_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D13": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D13_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D13_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D14": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D14_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D14_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D15_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D2_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D2_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D3": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D3_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D3_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D4": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D4_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D4_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D5_v2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_D5_v2_Promo": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_DS11": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS11_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS11_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS12": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS12_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS12_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS13": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS13_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS13_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS14": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS14_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS14_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS15_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS2_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS2_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS3": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS3_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS3_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS4": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS4_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS4_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS5_v2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_DS5_v2_Promo": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_F16": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_F16s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_F2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_F2s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_F4": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_F4s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_F8": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_F8s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_G1": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_G2": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_G3": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_G4": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_G5": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_GS1": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_GS2": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_GS3": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_GS4": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_GS5": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_H16": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_H16m": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_H16mr": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_H16r": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_H8": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_H8m": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_L16s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_L32s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_L4s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_L8s": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"Standard_NC12": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_NC24": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_NC24r": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_NC6": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_NV12": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_NV24": {
|
|
"storageAccountType": "Standard_LRS"
|
|
},
|
|
"Standard_NV6": {
|
|
"storageAccountType": "Standard_LRS"
|
|
}
|
|
},
|
|
"vmsPerStorageAccount": 20,
|
|
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]"
|
|
},
|
|
"resources": [
|
|
{
|
|
"copy": {
|
|
"count": "[variables('agentpublicStorageAccountsCount')]",
|
|
"name": "vmLoopNode"
|
|
},
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[concat(variables('storageAccountPrefixes')[mod(add(copyIndex(),variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(copyIndex(),variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('agentpublicAccountName'))]",
|
|
"sku": {
|
|
"name": "[variables('vmSizesMap')[variables('agentpublicVMSize')].storageAccountType]"
|
|
},
|
|
"kind": "Storage",
|
|
"type": "Microsoft.Storage/storageAccounts"
|
|
},
|
|
{
|
|
"location": "[variables('location')]",
|
|
"name": "[variables('agentpublicIPAddressName')]",
|
|
"properties": {
|
|
"dnsSettings": {
|
|
"domainNameLabel": "[variables('agentpublicEndpointDNSNamePrefix')]"
|
|
},
|
|
"publicIPAllocationMethod": "Dynamic"
|
|
},
|
|
"type": "Microsoft.Network/publicIPAddresses"
|
|
},
|
|
{
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/publicIPAddresses/', variables('agentpublicIPAddressName'))]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[variables('agentpublicLbName')]",
|
|
"properties": {
|
|
"backendAddressPools": [
|
|
{
|
|
"name": "[variables('agentpublicLbBackendPoolName')]"
|
|
}
|
|
],
|
|
"frontendIPConfigurations": [
|
|
{
|
|
"name": "[variables('agentpublicLbIPConfigName')]",
|
|
"properties": {
|
|
"publicIPAddress": {
|
|
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('agentpublicIPAddressName'))]"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"inboundNatRules": [],
|
|
"loadBalancingRules": [
|
|
{
|
|
"name": "LBRule80",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[concat(variables('agentpublicLbID'), '/backendAddressPools/', variables('agentpublicLbBackendPoolName'))]"
|
|
},
|
|
"backendPort": 80,
|
|
"enableFloatingIP": false,
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('agentpublicLbIPConfigID')]"
|
|
},
|
|
"frontendPort": 80,
|
|
"idleTimeoutInMinutes": 5,
|
|
"loadDistribution": "Default",
|
|
"probe": {
|
|
"id": "[concat(variables('agentpublicLbID'),'/probes/tcp80Probe')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "LBRule443",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[concat(variables('agentpublicLbID'), '/backendAddressPools/', variables('agentpublicLbBackendPoolName'))]"
|
|
},
|
|
"backendPort": 443,
|
|
"enableFloatingIP": false,
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('agentpublicLbIPConfigID')]"
|
|
},
|
|
"frontendPort": 443,
|
|
"idleTimeoutInMinutes": 5,
|
|
"loadDistribution": "Default",
|
|
"probe": {
|
|
"id": "[concat(variables('agentpublicLbID'),'/probes/tcp443Probe')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "LBRule8080",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[concat(variables('agentpublicLbID'), '/backendAddressPools/', variables('agentpublicLbBackendPoolName'))]"
|
|
},
|
|
"backendPort": 8080,
|
|
"enableFloatingIP": false,
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('agentpublicLbIPConfigID')]"
|
|
},
|
|
"frontendPort": 8080,
|
|
"idleTimeoutInMinutes": 5,
|
|
"loadDistribution": "Default",
|
|
"probe": {
|
|
"id": "[concat(variables('agentpublicLbID'),'/probes/tcp8080Probe')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
}
|
|
],
|
|
"probes": [
|
|
{
|
|
"name": "tcp80Probe",
|
|
"properties": {
|
|
"intervalInSeconds": "5",
|
|
"numberOfProbes": "2",
|
|
"port": 80,
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "tcp443Probe",
|
|
"properties": {
|
|
"intervalInSeconds": "5",
|
|
"numberOfProbes": "2",
|
|
"port": 443,
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "tcp8080Probe",
|
|
"properties": {
|
|
"intervalInSeconds": "5",
|
|
"numberOfProbes": "2",
|
|
"port": 8080,
|
|
"protocol": "tcp"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"type": "Microsoft.Network/loadBalancers"
|
|
},
|
|
{
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]",
|
|
"[variables('vnetID')]",
|
|
"[variables('agentpublicLbID')]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[concat(variables('agentpublicVMNamePrefix'), '-vmss')]",
|
|
"properties": {
|
|
"upgradePolicy": {
|
|
"mode": "Automatic"
|
|
},
|
|
"virtualMachineProfile": {
|
|
"networkProfile": {
|
|
"networkInterfaceConfigurations": [
|
|
{
|
|
"name": "nic",
|
|
"properties": {
|
|
"ipConfigurations": [
|
|
{
|
|
"name": "nicipconfig",
|
|
"properties": {
|
|
"loadBalancerBackendAddressPools": [
|
|
{
|
|
"id": "[concat(variables('agentpublicLbID'), '/backendAddressPools/', variables('agentpublicLbBackendPoolName'))]"
|
|
}
|
|
],
|
|
"subnet": {
|
|
"id": "[variables('agentpublicVnetSubnetID')]"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"primary": "true"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"osProfile": {
|
|
"adminUsername": "[variables('adminUsername')]",
|
|
"computerNamePrefix": "[variables('agentpublicVMNamePrefix')]",
|
|
"customData": "[base64(concat('#cloud-config\n\nwrite_files:\n - encoding: gzip\n content: !!binary |\n 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\n path: /opt/azure/containers/configure-swarmmode-cluster.sh\n permissions: \"0744\"\n\n',variables('agentpublicRunCmdFile'),variables('agentpublicRunCmd')))]",
|
|
"linuxConfiguration": {
|
|
"disablePasswordAuthentication": "true",
|
|
"ssh": {
|
|
"publicKeys": [
|
|
{
|
|
"keyData": "[parameters('sshRSAPublicKey')]",
|
|
"path": "[variables('sshKeyPath')]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"storageProfile": {
|
|
"imageReference": {
|
|
"offer": "[variables('agentpublicOSImageOffer')]",
|
|
"publisher": "[variables('agentpublicOSImagePublisher')]",
|
|
"sku": "[variables('agentpublicOSImageSKU')]",
|
|
"version": "[variables('agentpublicOSImageVersion')]"
|
|
},
|
|
"osDisk": {
|
|
"caching": "ReadWrite",
|
|
"createOption": "FromImage",
|
|
"name": "vmssosdisk",
|
|
"vhdContainers": [
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(add(0,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(0,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('agentpublicAccountName')), variables('apiVersionStorage') ).primaryEndpoints.blob, 'osdisk')]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(add(1,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(1,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('agentpublicAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob, 'osdisk')]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(add(2,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(2,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('agentpublicAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob, 'osdisk')]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(add(3,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(3,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('agentpublicAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob, 'osdisk')]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(add(4,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(4,variables('agentpublicStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('agentpublicAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob, 'osdisk')]"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"sku": {
|
|
"capacity": "[variables('agentpublicCount')]",
|
|
"name": "[variables('agentpublicVMSize')]",
|
|
"tier": "[variables('agentpublicVMSizeTier')]"
|
|
},
|
|
"tags": {
|
|
"creationSource": "[concat('acsengine-', variables('agentpublicVMNamePrefix'), '-vmss')]"
|
|
},
|
|
"type": "Microsoft.Compute/virtualMachineScaleSets"
|
|
},
|
|
{
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[variables('masterStorageAccountName')]",
|
|
"sku": {
|
|
"name": "[variables('vmSizesMap')[variables('masterVMSize')].storageAccountType]"
|
|
},
|
|
"kind": "Storage",
|
|
"type": "Microsoft.Storage/storageAccounts"
|
|
},
|
|
{
|
|
"location": "[variables('location')]",
|
|
"name": "[variables('virtualNetworkName')]",
|
|
"properties": {
|
|
"addressSpace": {
|
|
"addressPrefixes": [
|
|
"[variables('masterSubnet')]",
|
|
"[variables('agentpublicSubnet')]"
|
|
]
|
|
},
|
|
"subnets": [
|
|
{
|
|
"name": "[variables('masterSubnetName')]",
|
|
"properties": {
|
|
"addressPrefix": "[variables('masterSubnet')]"
|
|
}
|
|
},
|
|
{
|
|
"name": "[variables('agentpublicSubnetName')]",
|
|
"properties": {
|
|
"addressPrefix": "[variables('agentpublicSubnet')]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"type": "Microsoft.Network/virtualNetworks"
|
|
},
|
|
{
|
|
"location": "[variables('location')]",
|
|
"name": "[variables('masterAvailabilitySet')]",
|
|
"properties": {},
|
|
"type": "Microsoft.Compute/availabilitySets"
|
|
},
|
|
{
|
|
"location": "[variables('location')]",
|
|
"name": "[variables('masterPublicIPAddressName')]",
|
|
"properties": {
|
|
"dnsSettings": {
|
|
"domainNameLabel": "[variables('masterEndpointDNSNamePrefix')]"
|
|
},
|
|
"publicIPAllocationMethod": "Dynamic"
|
|
},
|
|
"type": "Microsoft.Network/publicIPAddresses"
|
|
},
|
|
{
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[variables('masterLbName')]",
|
|
"properties": {
|
|
"backendAddressPools": [
|
|
{
|
|
"name": "[variables('masterLbBackendPoolName')]"
|
|
}
|
|
],
|
|
"frontendIPConfigurations": [
|
|
{
|
|
"name": "[variables('masterLbIPConfigName')]",
|
|
"properties": {
|
|
"publicIPAddress": {
|
|
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('masterPublicIPAddressName'))]"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"type": "Microsoft.Network/loadBalancers"
|
|
},
|
|
{
|
|
"copy": {
|
|
"count": "[variables('masterCount')]",
|
|
"name": "masterLbLoopNode"
|
|
},
|
|
"dependsOn": [
|
|
"[variables('masterLbID')]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[concat(variables('masterLbName'), '/', 'SSH-', variables('masterVMNamePrefix'), copyIndex())]",
|
|
"properties": {
|
|
"backendPort": 22,
|
|
"enableFloatingIP": false,
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('masterLbIPConfigID')]"
|
|
},
|
|
"frontendPort": "[copyIndex(2200)]",
|
|
"protocol": "tcp"
|
|
},
|
|
"type": "Microsoft.Network/loadBalancers/inboundNatRules"
|
|
},
|
|
{
|
|
"dependsOn": [
|
|
"[variables('masterLbID')]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[concat(variables('masterSshPort22InboundNatRuleNamePrefix'), '0')]",
|
|
"properties": {
|
|
"backendPort": 2222,
|
|
"enableFloatingIP": false,
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('masterLbIPConfigID')]"
|
|
},
|
|
"frontendPort": "22",
|
|
"protocol": "tcp"
|
|
},
|
|
"type": "Microsoft.Network/loadBalancers/inboundNatRules"
|
|
},
|
|
{
|
|
"copy": {
|
|
"count": "[variables('masterCount')]",
|
|
"name": "nicLoopNode"
|
|
},
|
|
"dependsOn": [
|
|
"[variables('vnetID')]",
|
|
"[variables('masterLbID')]",
|
|
"[concat(variables('masterSshPort22InboundNatRuleIdPrefix'),'0')]",
|
|
"[concat(variables('masterSshInboundNatRuleIdPrefix'),copyIndex())]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[concat(variables('masterVMNamePrefix'), 'nic-', copyIndex())]",
|
|
"properties": {
|
|
"ipConfigurations": [
|
|
{
|
|
"name": "ipConfigNode",
|
|
"properties": {
|
|
"loadBalancerBackendAddressPools": [
|
|
{
|
|
"id": "[concat(variables('masterLbID'), '/backendAddressPools/', variables('masterLbBackendPoolName'))]"
|
|
}
|
|
],
|
|
"loadBalancerInboundNatRules": "[variables('masterLbInboundNatRules')[copyIndex()]]",
|
|
"privateIPAddress": "[concat(variables('masterFirstAddrPrefix'), copyIndex(int(variables('masterFirstAddrOctet4'))))]",
|
|
"privateIPAllocationMethod": "Static",
|
|
"subnet": {
|
|
"id": "[variables('masterVnetSubnetID')]"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"type": "Microsoft.Network/networkInterfaces"
|
|
},
|
|
{
|
|
"copy": {
|
|
"count": "[variables('masterCount')]",
|
|
"name": "vmLoopNode"
|
|
},
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/networkInterfaces/', variables('masterVMNamePrefix'), 'nic-', copyIndex())]",
|
|
"[concat('Microsoft.Compute/availabilitySets/',variables('masterAvailabilitySet'))]",
|
|
"[variables('masterStorageAccountName')]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[concat(variables('masterVMNamePrefix'), copyIndex())]",
|
|
"properties": {
|
|
"availabilitySet": {
|
|
"id": "[resourceId('Microsoft.Compute/availabilitySets',variables('masterAvailabilitySet'))]"
|
|
},
|
|
"hardwareProfile": {
|
|
"vmSize": "[variables('masterVMSize')]"
|
|
},
|
|
"networkProfile": {
|
|
"networkInterfaces": [
|
|
{
|
|
"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('masterVMNamePrefix'), 'nic-', copyIndex()))]"
|
|
}
|
|
]
|
|
},
|
|
"osProfile": {
|
|
"adminUsername": "[variables('adminUsername')]",
|
|
"computername": "[concat(variables('masterVMNamePrefix'), copyIndex())]",
|
|
"customData": "[base64(concat('#cloud-config\n\nwrite_files:\n - encoding: gzip\n content: !!binary |\n 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\n path: /opt/azure/containers/configure-swarmmode-cluster.sh\n permissions: \"0744\"\n\n'))]",
|
|
"linuxConfiguration": {
|
|
"disablePasswordAuthentication": "true",
|
|
"ssh": {
|
|
"publicKeys": [
|
|
{
|
|
"keyData": "[variables('sshRSAPublicKey')]",
|
|
"path": "[variables('sshKeyPath')]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"storageProfile": {
|
|
"imageReference": {
|
|
"offer": "[variables('masterOSImageOffer')]",
|
|
"publisher": "[variables('masterOSImagePublisher')]",
|
|
"sku": "[variables('masterOSImageSKU')]",
|
|
"version": "[variables('masterOSImageVersion')]"
|
|
},
|
|
"osDisk": {
|
|
"caching": "ReadWrite",
|
|
"createOption": "FromImage",
|
|
"name": "[concat(variables('masterVMNamePrefix'), copyIndex(),'-osdisk')]",
|
|
"vhd": {
|
|
"uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('masterStorageAccountName')), variables('apiVersionStorage')).primaryEndpoints.blob, 'vhds/', variables('masterVMNamePrefix'), copyIndex(), '-osdisk.vhd')]"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": {
|
|
"creationSource": "[concat('acsengine-', variables('masterVMNamePrefix'), copyIndex())]"
|
|
},
|
|
"type": "Microsoft.Compute/virtualMachines"
|
|
},
|
|
{
|
|
"copy": {
|
|
"count": "[variables('masterCount')]",
|
|
"name": "vmLoopNode"
|
|
},
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Compute/virtualMachines/', concat(variables('masterVMNamePrefix'), copyIndex()))]"
|
|
],
|
|
"location": "[variables('location')]",
|
|
"name": "[concat(variables('masterVMNamePrefix'), copyIndex(), '/configuremaster')]",
|
|
"properties": {
|
|
"autoUpgradeMinorVersion": true,
|
|
"publisher": "Microsoft.OSTCExtensions",
|
|
"settings": {
|
|
"commandToExecute": "[variables('masterCustomScript')]",
|
|
"fileUris": []
|
|
},
|
|
"type": "CustomScriptForLinux",
|
|
"typeHandlerVersion": "1.4"
|
|
},
|
|
"type": "Microsoft.Compute/virtualMachines/extensions"
|
|
}
|
|
],
|
|
"outputs": {
|
|
"agentpublicFQDN": {
|
|
"type": "string",
|
|
"value": "[reference(concat('Microsoft.Network/publicIPAddresses/', variables('agentpublicIPAddressName'))).dnsSettings.fqdn]"
|
|
},
|
|
"masterFQDN": {
|
|
"type": "string",
|
|
"value": "[reference(concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))).dnsSettings.fqdn]"
|
|
}
|
|
}
|
|
} |