{
|
|
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
|
|
"contentVersion": "1.0.0.0",
|
|
"parameters": {
|
|
"prefix": {
|
|
"type": "string"
|
|
},
|
|
"clusterLocation": {
|
|
"type": "string",
|
|
"metadata": {
|
|
"description": "Location of the Cluster"
|
|
}
|
|
},
|
|
"clusterName": {
|
|
"type": "string",
|
|
"defaultValue": "Cluster",
|
|
"metadata": {
|
|
"description": "Name of your cluster - Between 3 and 23 characters. Letters and numbers only"
|
|
}
|
|
},
|
|
"nt0applicationStartPort": {
|
|
"type": "int",
|
|
"defaultValue": 20000
|
|
},
|
|
"nt0applicationEndPort": {
|
|
"type": "int",
|
|
"defaultValue": 30000
|
|
},
|
|
"nt0ephemeralStartPort": {
|
|
"type": "int",
|
|
"defaultValue": 49152
|
|
},
|
|
"nt0ephemeralEndPort": {
|
|
"type": "int",
|
|
"defaultValue": 65534
|
|
},
|
|
"nt0fabricTcpGatewayPort": {
|
|
"type": "int",
|
|
"defaultValue": 19000
|
|
},
|
|
"nt0fabricHttpGatewayPort": {
|
|
"type": "int",
|
|
"defaultValue": 19080
|
|
},
|
|
"nt0reverseProxyEndpointPort": {
|
|
"type": "int",
|
|
"defaultValue": 19081
|
|
},
|
|
"webMvcHttpPort": {
|
|
"type": "int",
|
|
"defaultValue": 5100
|
|
},
|
|
"webSpaHttpPort": {
|
|
"type": "int",
|
|
"defaultValue": 5104
|
|
},
|
|
"webStatusHttpPort": {
|
|
"type": "int",
|
|
"defaultValue": 5107
|
|
},
|
|
"IdSrvHttpRule": {
|
|
"type": "int",
|
|
"defaultValue": 5105
|
|
},
|
|
"BasketApiHttpRule": {
|
|
"type": "int",
|
|
"defaultValue": 5103
|
|
},
|
|
"CatalogApiHttpRule": {
|
|
"type": "int",
|
|
"defaultValue": 5101
|
|
},
|
|
"OrderingApiHttpRule": {
|
|
"type": "int",
|
|
"defaultValue": 5102
|
|
},
|
|
"MarketingApiHttpRule": {
|
|
"type": "int",
|
|
"defaultValue": 5110
|
|
},
|
|
"LocationsApiHttpRule": {
|
|
"type": "int",
|
|
"defaultValue": 5109
|
|
},
|
|
"subnet0Name": {
|
|
"type": "string",
|
|
"defaultValue": "Subnet-0"
|
|
},
|
|
"subnet0Prefix": {
|
|
"type": "string",
|
|
"defaultValue": "10.0.0.0/24"
|
|
},
|
|
"computeLocation": {
|
|
"type": "string"
|
|
},
|
|
"publicIPAddressName": {
|
|
"type": "string",
|
|
"defaultValue": "PublicIP-VM"
|
|
},
|
|
"publicIPAddressType": {
|
|
"type": "string",
|
|
"allowedValues": [
|
|
"Dynamic"
|
|
],
|
|
"defaultValue": "Dynamic"
|
|
},
|
|
"vmStorageAccountContainerName": {
|
|
"type": "string",
|
|
"defaultValue": "vhds"
|
|
},
|
|
"adminUserName": {
|
|
"type": "string",
|
|
"defaultValue": "testadm",
|
|
"metadata": {
|
|
"description": "Remote desktop user Id"
|
|
}
|
|
},
|
|
"adminPassword": {
|
|
"type": "securestring",
|
|
"metadata": {
|
|
"description": "Remote desktop user password. Must be a strong password"
|
|
}
|
|
},
|
|
"virtualNetworkName": {
|
|
"type": "string",
|
|
"defaultValue": "VNet"
|
|
},
|
|
"addressPrefix": {
|
|
"type": "string",
|
|
"defaultValue": "10.0.0.0/16"
|
|
},
|
|
"dnsName": {
|
|
"type": "string"
|
|
},
|
|
"nicName": {
|
|
"type": "string",
|
|
"defaultValue": "NIC"
|
|
},
|
|
"lbName": {
|
|
"type": "string",
|
|
"defaultValue": "LoadBalancer"
|
|
},
|
|
"lbIPName": {
|
|
"type": "string",
|
|
"defaultValue": "PublicIP-LB-FE"
|
|
},
|
|
"overProvision": {
|
|
"type": "string",
|
|
"defaultValue": "false"
|
|
},
|
|
"vmImagePublisher": {
|
|
"type": "string",
|
|
"defaultValue": "MicrosoftWindowsServer"
|
|
},
|
|
"vmImageOffer": {
|
|
"type": "string",
|
|
"defaultValue": "WindowsServer"
|
|
},
|
|
"vmImageSku": {
|
|
"type": "string",
|
|
"defaultValue": "2012-R2-Datacenter"
|
|
},
|
|
"vmImageVersion": {
|
|
"type": "string",
|
|
"defaultValue": "latest"
|
|
},
|
|
"storageAccountType": {
|
|
"type": "string",
|
|
"allowedValues": [
|
|
"Standard_LRS",
|
|
"Standard_GRS"
|
|
],
|
|
"defaultValue": "Standard_LRS",
|
|
"metadata": {
|
|
"description": "Replication option for the VM image storage account"
|
|
}
|
|
},
|
|
"supportLogStorageAccountType": {
|
|
"type": "string",
|
|
"allowedValues": [
|
|
"Standard_LRS",
|
|
"Standard_GRS"
|
|
],
|
|
"defaultValue": "Standard_LRS",
|
|
"metadata": {
|
|
"description": "Replication option for the support log storage account"
|
|
}
|
|
},
|
|
"supportLogStorageAccountName": {
|
|
"type": "string",
|
|
"defaultValue": "[toLower( concat('sflogs', uniqueString(resourceGroup().id),'2'))]",
|
|
"metadata": {
|
|
"description": "Name for the storage account that contains support logs from the cluster"
|
|
}
|
|
},
|
|
"applicationDiagnosticsStorageAccountType": {
|
|
"type": "string",
|
|
"allowedValues": [
|
|
"Standard_LRS",
|
|
"Standard_GRS"
|
|
],
|
|
"defaultValue": "Standard_LRS",
|
|
"metadata": {
|
|
"description": "Replication option for the application diagnostics storage account"
|
|
}
|
|
},
|
|
"applicationDiagnosticsStorageAccountName": {
|
|
"type": "string",
|
|
"defaultValue": "[toLower(concat(uniqueString(resourceGroup().id), '3' ))]",
|
|
"metadata": {
|
|
"description": "Name for the storage account that contains application diagnostics data from the cluster"
|
|
}
|
|
},
|
|
"nt0InstanceCount": {
|
|
"type": "int",
|
|
"defaultValue": 1,
|
|
"metadata": {
|
|
"description": "Instance count for node type"
|
|
}
|
|
},
|
|
"vmNodeType0Name": {
|
|
"type": "string",
|
|
"defaultValue": "primary",
|
|
"maxLength": 9
|
|
},
|
|
"vmNodeType0Size": {
|
|
"type": "string",
|
|
"defaultValue": "Standard_D2_v2"
|
|
}
|
|
},
|
|
"variables": {
|
|
"vmssApiVersion": "2017-03-30",
|
|
"lbApiVersion": "2015-06-15",
|
|
"vNetApiVersion": "2015-06-15",
|
|
"storageApiVersion": "2016-01-01",
|
|
"publicIPApiVersion": "2015-06-15",
|
|
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]",
|
|
"subnet0Ref": "[concat(variables('vnetID'),'/subnets/',parameters('subnet0Name'))]",
|
|
"lbID0": "[resourceId('Microsoft.Network/loadBalancers', concat('LB','-', variables('clusterName'),'-',parameters('vmNodeType0Name')))]",
|
|
"lbIPConfig0": "[concat(variables('lbID0'),'/frontendIPConfigurations/LoadBalancerIPConfig')]",
|
|
"lbPoolID0": "[concat(variables('lbID0'),'/backendAddressPools/LoadBalancerBEAddressPool')]",
|
|
"lbProbeID0": "[concat(variables('lbID0'),'/probes/FabricGatewayProbe')]",
|
|
"lbHttpProbeID0": "[concat(variables('lbID0'),'/probes/FabricHttpGatewayProbe')]",
|
|
"lbNatPoolID0": "[concat(variables('lbID0'),'/inboundNatPools/LoadBalancerBEAddressNatPool')]",
|
|
"vmStorageAccountName0": "[toLower(concat(uniqueString(resourceGroup().id), '1', '0' ))]",
|
|
"supportLogStorageAccountName": "[take(concat(parameters('prefix'), parameters('supportLogStorageAccountName')),22)]",
|
|
"applicationDiagnosticsStorageAccountName" : "[take(concat(parameters('prefix'), parameters('applicationDiagnosticsStorageAccountName')),22)]",
|
|
"clusterName": "[concat(parameters('prefix'), parameters('clusterName'))]",
|
|
"uniqueStringArray0": [
|
|
"[concat(variables('vmStorageAccountName0'), '0')]",
|
|
"[concat(variables('vmStorageAccountName0'), '1')]",
|
|
"[concat(variables('vmStorageAccountName0'), '2')]",
|
|
"[concat(variables('vmStorageAccountName0'), '3')]",
|
|
"[concat(variables('vmStorageAccountName0'), '4')]"
|
|
]
|
|
},
|
|
"resources": [
|
|
{
|
|
"apiVersion": "[variables('storageApiVersion')]",
|
|
"type": "Microsoft.Storage/storageAccounts",
|
|
"name": "[variables('supportLogStorageAccountName')]",
|
|
"location": "[parameters('computeLocation')]",
|
|
"dependsOn": [],
|
|
"properties": {},
|
|
"kind": "Storage",
|
|
"sku": {
|
|
"name": "[parameters('supportLogStorageAccountType')]"
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "[variables('storageApiVersion')]",
|
|
"type": "Microsoft.Storage/storageAccounts",
|
|
"name": "[variables('applicationDiagnosticsStorageAccountName')]",
|
|
"location": "[parameters('computeLocation')]",
|
|
"dependsOn": [],
|
|
"properties": {},
|
|
"kind": "Storage",
|
|
"sku": {
|
|
"name": "[parameters('applicationDiagnosticsStorageAccountType')]"
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "[variables('vNetApiVersion')]",
|
|
"type": "Microsoft.Network/virtualNetworks",
|
|
"name": "[parameters('virtualNetworkName')]",
|
|
"location": "[parameters('computeLocation')]",
|
|
"dependsOn": [],
|
|
"properties": {
|
|
"addressSpace": {
|
|
"addressPrefixes": [
|
|
"[parameters('addressPrefix')]"
|
|
]
|
|
},
|
|
"subnets": [
|
|
{
|
|
"name": "[parameters('subnet0Name')]",
|
|
"properties": {
|
|
"addressPrefix": "[parameters('subnet0Prefix')]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "[variables('publicIPApiVersion')]",
|
|
"type": "Microsoft.Network/publicIPAddresses",
|
|
"name": "[concat(parameters('lbIPName'),'-','0')]",
|
|
"location": "[parameters('computeLocation')]",
|
|
"properties": {
|
|
"dnsSettings": {
|
|
"domainNameLabel": "[parameters('dnsName')]"
|
|
},
|
|
"publicIPAllocationMethod": "Dynamic"
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "[variables('lbApiVersion')]",
|
|
"type": "Microsoft.Network/loadBalancers",
|
|
"name": "[concat('LB','-', variables('clusterName'),'-',parameters('vmNodeType0Name'))]",
|
|
"location": "[parameters('computeLocation')]",
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/publicIPAddresses/',concat(parameters('lbIPName'),'-','0'))]"
|
|
],
|
|
"properties": {
|
|
"frontendIPConfigurations": [
|
|
{
|
|
"name": "LoadBalancerIPConfig",
|
|
"properties": {
|
|
"publicIPAddress": {
|
|
"id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('lbIPName'),'-','0'))]"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"backendAddressPools": [
|
|
{
|
|
"name": "LoadBalancerBEAddressPool",
|
|
"properties": {}
|
|
}
|
|
],
|
|
"loadBalancingRules": [
|
|
{
|
|
"name": "LBRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('nt0fabricTcpGatewayPort')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('nt0fabricTcpGatewayPort')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"probe": {
|
|
"id": "[variables('lbProbeID0')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "LBHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('nt0fabricHttpGatewayPort')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('nt0fabricHttpGatewayPort')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"probe": {
|
|
"id": "[variables('lbHttpProbeID0')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "ReverseProxyHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('nt0reverseProxyEndpointPort')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('nt0reverseProxyEndpointPort')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"probe": {
|
|
"id": "[variables('lbHttpProbeID0')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "WebMVCHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('webMvcHttpPort')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('webMvcHttpPort')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"probe": {
|
|
"id": "[variables('lbHttpProbeID0')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "WebSPAHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('webSpaHttpPort')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('webSpaHttpPort')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"probe": {
|
|
"id": "[variables('lbHttpProbeID0')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "WebStatusHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('webStatusHttpPort')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('webStatusHttpPort')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"probe": {
|
|
"id": "[variables('lbHttpProbeID0')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "IdSrvHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('IdSrvHttpRule')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('IdSrvHttpRule')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"probe": {
|
|
"id": "[variables('lbHttpProbeID0')]"
|
|
},
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "BasketApiHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('BasketApiHttpRule')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('BasketApiHttpRule')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "CatalogApiHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('CatalogApiHttpRule')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('CatalogApiHttpRule')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "OrderingApiHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('OrderingApiHttpRule')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('OrderingApiHttpRule')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "MarketingApiHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('MarketingApiHttpRule')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('MarketingApiHttpRule')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "LocationsApiHttpRule",
|
|
"properties": {
|
|
"backendAddressPool": {
|
|
"id": "[variables('lbPoolID0')]"
|
|
},
|
|
"backendPort": "[parameters('LocationsApiHttpRule')]",
|
|
"enableFloatingIP": "false",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPort": "[parameters('LocationsApiHttpRule')]",
|
|
"idleTimeoutInMinutes": "5",
|
|
"protocol": "tcp"
|
|
}
|
|
}
|
|
],
|
|
"probes": [
|
|
{
|
|
"name": "FabricGatewayProbe",
|
|
"properties": {
|
|
"intervalInSeconds": 5,
|
|
"numberOfProbes": 2,
|
|
"port": "[parameters('nt0fabricTcpGatewayPort')]",
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
{
|
|
"name": "FabricHttpGatewayProbe",
|
|
"properties": {
|
|
"intervalInSeconds": 5,
|
|
"numberOfProbes": 2,
|
|
"port": "[parameters('nt0fabricHttpGatewayPort')]",
|
|
"protocol": "tcp"
|
|
}
|
|
}
|
|
],
|
|
"inboundNatPools": [
|
|
{
|
|
"name": "LoadBalancerBEAddressNatPool",
|
|
"properties": {
|
|
"backendPort": "3389",
|
|
"frontendIPConfiguration": {
|
|
"id": "[variables('lbIPConfig0')]"
|
|
},
|
|
"frontendPortRangeEnd": "4500",
|
|
"frontendPortRangeStart": "3389",
|
|
"protocol": "tcp"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "[variables('storageApiVersion')]",
|
|
"type": "Microsoft.Storage/storageAccounts",
|
|
"name": "[variables('uniqueStringArray0')[copyIndex()]]",
|
|
"location": "[parameters('computeLocation')]",
|
|
"dependsOn": [],
|
|
"properties": {},
|
|
"copy": {
|
|
"name": "storageLoop",
|
|
"count": 5
|
|
},
|
|
"kind": "Storage",
|
|
"sku": {
|
|
"name": "[parameters('storageAccountType')]"
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "[variables('vmssApiVersion')]",
|
|
"type": "Microsoft.Compute/virtualMachineScaleSets",
|
|
"name": "[parameters('vmNodeType0Name')]",
|
|
"location": "[parameters('computeLocation')]",
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]",
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[0])]",
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[1])]",
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[2])]",
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[3])]",
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[4])]",
|
|
"[concat('Microsoft.Network/loadBalancers/', concat('LB','-', variables('clusterName'),'-',parameters('vmNodeType0Name')))]",
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName'))]",
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('applicationDiagnosticsStorageAccountName'))]"
|
|
],
|
|
"properties": {
|
|
"overprovision": "[parameters('overProvision')]",
|
|
"upgradePolicy": {
|
|
"mode": "Automatic"
|
|
},
|
|
"virtualMachineProfile": {
|
|
"extensionProfile": {
|
|
"extensions": [
|
|
{
|
|
"name": "[concat(parameters('vmNodeType0Name'),'_ServiceFabricNode')]",
|
|
"properties": {
|
|
"type": "ServiceFabricNode",
|
|
"autoUpgradeMinorVersion": true,
|
|
"protectedSettings": {
|
|
"StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
|
|
"StorageAccountKey2": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key2]"
|
|
},
|
|
"publisher": "Microsoft.Azure.ServiceFabric",
|
|
"settings": {
|
|
"clusterEndpoint": "[reference(variables('clusterName')).clusterEndpoint]",
|
|
"nodeTypeRef": "[parameters('vmNodeType0Name')]",
|
|
"dataPath": "D:\\\\SvcFab",
|
|
"durabilityLevel": "Bronze",
|
|
"enableParallelJobs": true,
|
|
"nicPrefixOverride": "[parameters('subnet0Prefix')]"
|
|
},
|
|
"typeHandlerVersion": "1.0"
|
|
}
|
|
},
|
|
{
|
|
"name": "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]",
|
|
"properties": {
|
|
"type": "IaaSDiagnostics",
|
|
"autoUpgradeMinorVersion": true,
|
|
"protectedSettings": {
|
|
"storageAccountName": "[variables('applicationDiagnosticsStorageAccountName')]",
|
|
"storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('applicationDiagnosticsStorageAccountName')),'2015-05-01-preview').key1]",
|
|
"storageAccountEndPoint": "https://core.windows.net/"
|
|
},
|
|
"publisher": "Microsoft.Azure.Diagnostics",
|
|
"settings": {
|
|
"WadCfg": {
|
|
"DiagnosticMonitorConfiguration": {
|
|
"overallQuotaInMB": "50000",
|
|
"EtwProviders": {
|
|
"EtwEventSourceProviderConfiguration": [
|
|
{
|
|
"provider": "Microsoft-ServiceFabric-Actors",
|
|
"scheduledTransferKeywordFilter": "1",
|
|
"scheduledTransferPeriod": "PT5M",
|
|
"DefaultEvents": {
|
|
"eventDestination": "ServiceFabricReliableActorEventTable"
|
|
}
|
|
},
|
|
{
|
|
"provider": "Microsoft-ServiceFabric-Services",
|
|
"scheduledTransferPeriod": "PT5M",
|
|
"DefaultEvents": {
|
|
"eventDestination": "ServiceFabricReliableServiceEventTable"
|
|
}
|
|
}
|
|
],
|
|
"EtwManifestProviderConfiguration": [
|
|
{
|
|
"provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
|
|
"scheduledTransferLogLevelFilter": "Information",
|
|
"scheduledTransferKeywordFilter": "4611686018427387904",
|
|
"scheduledTransferPeriod": "PT5M",
|
|
"DefaultEvents": {
|
|
"eventDestination": "ServiceFabricSystemEventTable"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"StorageAccount": "[variables('applicationDiagnosticsStorageAccountName')]"
|
|
},
|
|
"typeHandlerVersion": "1.5"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"networkProfile": {
|
|
"networkInterfaceConfigurations": [
|
|
{
|
|
"name": "[concat(parameters('nicName'), '-0')]",
|
|
"properties": {
|
|
"ipConfigurations": [
|
|
{
|
|
"name": "[concat(parameters('nicName'),'-',0)]",
|
|
"properties": {
|
|
"loadBalancerBackendAddressPools": [
|
|
{
|
|
"id": "[variables('lbPoolID0')]"
|
|
}
|
|
],
|
|
"loadBalancerInboundNatPools": [
|
|
{
|
|
"id": "[variables('lbNatPoolID0')]"
|
|
}
|
|
],
|
|
"subnet": {
|
|
"id": "[variables('subnet0Ref')]"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"primary": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"osProfile": {
|
|
"adminPassword": "[parameters('adminPassword')]",
|
|
"adminUsername": "[parameters('adminUsername')]",
|
|
"computernamePrefix": "[parameters('vmNodeType0Name')]"
|
|
},
|
|
"storageProfile": {
|
|
"imageReference": {
|
|
"publisher": "[parameters('vmImagePublisher')]",
|
|
"offer": "[parameters('vmImageOffer')]",
|
|
"sku": "[parameters('vmImageSku')]",
|
|
"version": "[parameters('vmImageVersion')]"
|
|
},
|
|
"osDisk": {
|
|
"caching": "ReadOnly",
|
|
"createOption": "FromImage",
|
|
"vhdContainers": [
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[0]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[1]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[2]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[3]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
|
|
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[4]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]"
|
|
],
|
|
"name": "vmssosdisk"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"sku": {
|
|
"name": "[parameters('vmNodeType0Size')]",
|
|
"capacity": "[parameters('nt0InstanceCount')]",
|
|
"tier": "Standard"
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "2017-07-01-preview",
|
|
"type": "Microsoft.ServiceFabric/clusters",
|
|
"name": "[variables('clusterName')]",
|
|
"location": "[parameters('clusterLocation')]",
|
|
"dependsOn": [
|
|
"[concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName'))]"
|
|
],
|
|
"properties": {
|
|
"addonFeatures": [
|
|
"DnsService"
|
|
],
|
|
"clientCertificateCommonNames": [],
|
|
"clientCertificateThumbprints": [],
|
|
"clusterCodeVersion": "6.0.232.9494",
|
|
"clusterState": "Default",
|
|
"diagnosticsStorageAccountConfig": {
|
|
"blobEndpoint": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.blob]",
|
|
"protectedAccountKeyName": "StorageAccountKey1",
|
|
"queueEndpoint": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.queue]",
|
|
"storageAccountName": "[variables('supportLogStorageAccountName')]",
|
|
"tableEndpoint": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.table]"
|
|
},
|
|
"fabricSettings": [],
|
|
"managementEndpoint": "[concat('http://',reference(concat(parameters('lbIPName'),'-','0')).dnsSettings.fqdn,':',parameters('nt0fabricHttpGatewayPort'))]",
|
|
"nodeTypes": [
|
|
{
|
|
"name": "[parameters('vmNodeType0Name')]",
|
|
"applicationPorts": {
|
|
"endPort": "[parameters('nt0applicationEndPort')]",
|
|
"startPort": "[parameters('nt0applicationStartPort')]"
|
|
},
|
|
"clientConnectionEndpointPort": "[parameters('nt0fabricTcpGatewayPort')]",
|
|
"durabilityLevel": "Bronze",
|
|
"ephemeralPorts": {
|
|
"endPort": "[parameters('nt0ephemeralEndPort')]",
|
|
"startPort": "[parameters('nt0ephemeralStartPort')]"
|
|
},
|
|
"httpGatewayEndpointPort": "[parameters('nt0fabricHttpGatewayPort')]",
|
|
"isPrimary": true,
|
|
"reverseProxyEndpointPort": "[parameters('nt0reverseProxyEndpointPort')]",
|
|
"vmInstanceCount": "[parameters('nt0InstanceCount')]"
|
|
}
|
|
],
|
|
"provisioningState": "Default",
|
|
"reliabilityLevel": "None",
|
|
"upgradeMode": "Manual",
|
|
"vmImage": "Windows"
|
|
},
|
|
"tags": {
|
|
"resourceType": "Service Fabric",
|
|
"clusterName": "[variables('clusterName')]"
|
|
}
|
|
}
|
|
],
|
|
"outputs": {
|
|
"clusterProperties": {
|
|
"value": "[reference(variables('clusterName'))]",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|