2017-10-04 18:36:08 +02:00
{
"$schema" : "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json" ,
"contentVersion" : "1.0.0.0" ,
"parameters" : {
"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
} ,
"webMvcHttpPort" : {
"type" : "int" ,
"defaultValue" : 5100
} ,
"webSpaHttpPort" : {
"type" : "int" ,
"defaultValue" : 5104
} ,
"webStatusHttpPort" : {
"type" : "int" ,
"defaultValue" : 5107
} ,
"IdSrvHttpRule" : {
"type" : "int" ,
"defaultValue" : 5105
} ,
2017-10-10 11:17:34 +02:00
"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
} ,
2017-10-04 18:36:08 +02:00
"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" ,
2017-10-10 11:17:34 +02:00
"defaultValue" : "Microsoft.Azure.ServiceFabric"
2017-10-04 18:36:08 +02:00
} ,
"vmImageOffer" : {
"type" : "string" ,
2017-10-10 11:17:34 +02:00
"defaultValue" : "UbuntuServer"
2017-10-04 18:36:08 +02:00
} ,
"vmImageSku" : {
"type" : "string" ,
2017-10-10 11:17:34 +02:00
"defaultValue" : "16.04"
2017-10-04 18:36:08 +02:00
} ,
"vmImageVersion" : {
"type" : "string" ,
2017-10-10 11:17:34 +02:00
"defaultValue" : "6.0.12"
2017-10-04 18:36:08 +02:00
} ,
"clusterProtectionLevel" : {
"type" : "string" ,
"allowedValues" : [
"None" ,
"Sign" ,
"EncryptAndSign"
] ,
"defaultValue" : "EncryptAndSign" ,
"metadata" : {
"description" : "Protection level.Three values are allowed - EncryptAndSign, Sign, None. It is best to keep the default of EncryptAndSign, unless you have a need not to"
}
} ,
"certificateStoreValue" : {
"type" : "string" ,
"allowedValues" : [
"My"
] ,
"defaultValue" : "My" ,
"metadata" : {
"description" : "The store name where the cert will be deployed in the virtual machine"
}
} ,
"certificateThumbprint" : {
"type" : "string" ,
"metadata" : {
"description" : "Certificate Thumbprint"
}
} ,
"sourceVaultValue" : {
"type" : "string" ,
"metadata" : {
"description" : "Resource Id of the key vault, is should be in the format of /subscriptions/<Sub ID>/resourceGroups/<Resource group name>/providers/Microsoft.KeyVault/vaults/<vault name>"
}
} ,
"certificateUrlValue" : {
"type" : "string" ,
"metadata" : {
"description" : "Refers to the location URL in your key vault where the certificate was uploaded, it is should be in the format of https://<name of the vault>.vault.azure.net:443/secrets/<exact location>"
}
} ,
"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" : 5 ,
"metadata" : {
"description" : "Instance count for node type"
}
} ,
"vmNodeType0Name" : {
"type" : "string" ,
"defaultValue" : "primary" ,
"maxLength" : 9
} ,
"vmNodeType0Size" : {
"type" : "string" ,
2017-10-10 11:17:34 +02:00
"defaultValue" : "Standard_D1_v2"
2017-10-04 18:36:08 +02:00
}
} ,
"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'))]" ,
2017-10-10 11:17:34 +02:00
"wadlogs" : "<WadCfg><DiagnosticMonitorConfiguration>" ,
"wadperfcounters1" : "<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>" ,
"wadperfcounters2" : "<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>" ,
"wadcfgxstart" : "[concat(variables('wadlogs'),variables('wadperfcounters1'),variables('wadperfcounters2'),'<Metrics resourceId=\"')]" ,
"wadcfgxend" : "[concat('\"><MetricAggregation scheduledTransferPeriod=\"PT1H\"/><MetricAggregation scheduledTransferPeriod=\"PT1M\"/></Metrics></DiagnosticMonitorConfiguration></WadCfg>')]" ,
2017-10-04 18:36:08 +02:00
"lbID0" : "[resourceId('Microsoft.Network/loadBalancers', concat('LB','-', parameters('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' ))]" ,
2017-10-10 11:17:34 +02:00
"wadmetricsresourceid0" : "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',resourceGroup().name ,'/providers/','Microsoft.Compute/virtualMachineScaleSets/', parameters('vmNodeType0Name'))]"
2017-10-04 18:36:08 +02:00
} ,
"resources" : [
{
"apiVersion" : "[variables('storageApiVersion')]" ,
"type" : "Microsoft.Storage/storageAccounts" ,
"name" : "[parameters('supportLogStorageAccountName')]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [ ] ,
"properties" : { } ,
"kind" : "Storage" ,
"sku" : {
"name" : "[parameters('supportLogStorageAccountType')]"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('storageApiVersion')]" ,
"type" : "Microsoft.Storage/storageAccounts" ,
"name" : "[parameters('applicationDiagnosticsStorageAccountName')]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [ ] ,
"properties" : { } ,
"kind" : "Storage" ,
"sku" : {
"name" : "[parameters('applicationDiagnosticsStorageAccountType')]"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('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" : "[parameters('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" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('lbApiVersion')]" ,
"type" : "Microsoft.Network/loadBalancers" ,
"name" : "[concat('LB','-', parameters('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"
}
} ,
{
2017-10-10 11:17:34 +02:00
"name" : "WebMVCHttpRule" ,
2017-10-04 18:36:08 +02:00
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
2017-10-10 11:17:34 +02:00
"backendPort" : "[parameters('webMvcHttpPort')]" ,
2017-10-04 18:36:08 +02:00
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('webMvcHttpPort')]" ,
2017-10-04 18:36:08 +02:00
"idleTimeoutInMinutes" : "5" ,
"protocol" : "tcp"
}
} ,
{
2017-10-10 11:17:34 +02:00
"name" : "WebSPAHttpRule" ,
2017-10-04 18:36:08 +02:00
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
2017-10-10 11:17:34 +02:00
"backendPort" : "[parameters('webSpaHttpPort')]" ,
2017-10-04 18:36:08 +02:00
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('webSpaHttpPort')]" ,
2017-10-04 18:36:08 +02:00
"idleTimeoutInMinutes" : "5" ,
2017-10-10 11:17:34 +02:00
"protocol" : "tcp"
}
} ,
{
"name" : "WebStatusHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('webStatusHttpPort')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
2017-10-04 18:36:08 +02:00
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('webStatusHttpPort')]" ,
"idleTimeoutInMinutes" : "5" ,
2017-10-04 18:36:08 +02:00
"protocol" : "tcp"
}
} ,
{
2017-10-10 11:17:34 +02:00
"name" : "IdSrvHttpRule" ,
2017-10-04 18:36:08 +02:00
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
2017-10-10 11:17:34 +02:00
"backendPort" : "[parameters('IdSrvHttpRule')]" ,
2017-10-04 18:36:08 +02:00
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('IdSrvHttpRule')]" ,
2017-10-04 18:36:08 +02:00
"idleTimeoutInMinutes" : "5" ,
2017-10-10 11:17:34 +02:00
"protocol" : "tcp"
}
} ,
{
"name" : "BasketApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
2017-10-04 18:36:08 +02:00
} ,
2017-10-10 11:17:34 +02:00
"backendPort" : "[parameters('BasketApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('BasketApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
2017-10-04 18:36:08 +02:00
"protocol" : "tcp"
}
} ,
{
2017-10-10 11:17:34 +02:00
"name" : "CatalogApiHttpRule" ,
2017-10-04 18:36:08 +02:00
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
2017-10-10 11:17:34 +02:00
"backendPort" : "[parameters('CatalogApiHttpRule')]" ,
2017-10-04 18:36:08 +02:00
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('CatalogApiHttpRule')]" ,
2017-10-04 18:36:08 +02:00
"idleTimeoutInMinutes" : "5" ,
2017-10-10 11:17:34 +02:00
"protocol" : "tcp"
}
} ,
{
"name" : "OrderingApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('OrderingApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
2017-10-04 18:36:08 +02:00
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('OrderingApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
2017-10-04 18:36:08 +02:00
"protocol" : "tcp"
}
} ,
{
2017-10-10 11:17:34 +02:00
"name" : "MarketingApiHttpRule" ,
2017-10-04 18:36:08 +02:00
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
2017-10-10 11:17:34 +02:00
"backendPort" : "[parameters('MarketingApiHttpRule')]" ,
2017-10-04 18:36:08 +02:00
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('MarketingApiHttpRule')]" ,
2017-10-04 18:36:08 +02:00
"idleTimeoutInMinutes" : "5" ,
2017-10-10 11:17:34 +02:00
"protocol" : "tcp"
}
} ,
{
"name" : "LocationsApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('LocationsApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
2017-10-04 18:36:08 +02:00
} ,
2017-10-10 11:17:34 +02:00
"frontendPort" : "[parameters('LocationsApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
2017-10-04 18:36:08 +02:00
"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" : {
2017-10-10 11:17:34 +02:00
"backendPort" : "22" ,
2017-10-04 18:36:08 +02:00
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPortRangeEnd" : "4500" ,
"frontendPortRangeStart" : "3389" ,
"protocol" : "tcp"
}
}
]
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('vmssApiVersion')]" ,
"type" : "Microsoft.Compute/virtualMachineScaleSets" ,
"name" : "[parameters('vmNodeType0Name')]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]" ,
"[concat('Microsoft.Network/loadBalancers/', concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name')))]" ,
"[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]" ,
"[concat('Microsoft.Storage/storageAccounts/', parameters('applicationDiagnosticsStorageAccountName'))]"
] ,
"properties" : {
"overprovision" : "[parameters('overProvision')]" ,
"upgradePolicy" : {
"mode" : "Automatic"
} ,
"virtualMachineProfile" : {
"extensionProfile" : {
"extensions" : [
{
2017-10-10 11:17:34 +02:00
"name" : "[concat(parameters('vmNodeType0Name'),'_ServiceFabricLinuxNode')]" ,
2017-10-04 18:36:08 +02:00
"properties" : {
2017-10-10 11:17:34 +02:00
"type" : "ServiceFabricLinuxNode" ,
2017-10-04 18:36:08 +02:00
"autoUpgradeMinorVersion" : true ,
"protectedSettings" : {
"StorageAccountKey1" : "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('supportLogStorageAccountName')),'2015-05-01-preview').key1]" ,
"StorageAccountKey2" : "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('supportLogStorageAccountName')),'2015-05-01-preview').key2]"
} ,
"publisher" : "Microsoft.Azure.ServiceFabric" ,
"settings" : {
"clusterEndpoint" : "[reference(parameters('clusterName')).clusterEndpoint]" ,
"nodeTypeRef" : "[parameters('vmNodeType0Name')]" ,
"durabilityLevel" : "Bronze" ,
"enableParallelJobs" : true ,
"nicPrefixOverride" : "[parameters('subnet0Prefix')]" ,
"certificate" : {
"thumbprint" : "[parameters('certificateThumbprint')]" ,
"x509StoreName" : "[parameters('certificateStoreValue')]"
}
} ,
"typeHandlerVersion" : "1.0"
}
} ,
{
"name" : "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]" ,
"properties" : {
2017-10-10 11:17:34 +02:00
"type" : "LinuxDiagnostic" ,
2017-10-04 18:36:08 +02:00
"autoUpgradeMinorVersion" : true ,
"protectedSettings" : {
"storageAccountName" : "[parameters('applicationDiagnosticsStorageAccountName')]" ,
"storageAccountKey" : "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('applicationDiagnosticsStorageAccountName')),'2015-05-01-preview').key1]" ,
"storageAccountEndPoint" : "https://core.windows.net/"
} ,
2017-10-10 11:17:34 +02:00
"publisher" : "Microsoft.OSTCExtensions" ,
2017-10-04 18:36:08 +02:00
"settings" : {
2017-10-10 11:17:34 +02:00
"xmlCfg" : "[base64(concat(variables('wadcfgxstart'),variables('wadmetricsresourceid0'),variables('wadcfgxend')))]" ,
2017-10-04 18:36:08 +02:00
"StorageAccount" : "[parameters('applicationDiagnosticsStorageAccountName')]"
} ,
2017-10-10 11:17:34 +02:00
"typeHandlerVersion" : "2.3"
2017-10-04 18:36:08 +02:00
}
}
]
} ,
"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')]" ,
"secrets" : [
{
"sourceVault" : {
"id" : "[parameters('sourceVaultValue')]"
} ,
"vaultCertificates" : [
{
"certificateUrl" : "[parameters('certificateUrlValue')]"
}
]
}
]
} ,
"storageProfile" : {
"imageReference" : {
"publisher" : "[parameters('vmImagePublisher')]" ,
"offer" : "[parameters('vmImageOffer')]" ,
"sku" : "[parameters('vmImageSku')]" ,
"version" : "[parameters('vmImageVersion')]"
} ,
"osDisk" : {
"caching" : "ReadOnly" ,
"createOption" : "FromImage" ,
2017-10-10 11:17:34 +02:00
"managedDisk" : {
"storageAccountType" : "[parameters('storageAccountType')]"
}
2017-10-04 18:36:08 +02:00
}
}
}
} ,
"sku" : {
"name" : "[parameters('vmNodeType0Size')]" ,
"capacity" : "[parameters('nt0InstanceCount')]" ,
"tier" : "Standard"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "2017-07-01-preview" ,
"type" : "Microsoft.ServiceFabric/clusters" ,
"name" : "[parameters('clusterName')]" ,
"location" : "[parameters('clusterLocation')]" ,
"dependsOn" : [
"[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]"
] ,
"properties" : {
"addonFeatures" : [
"DnsService"
] ,
"certificate" : {
"thumbprint" : "[parameters('certificateThumbprint')]" ,
"x509StoreName" : "[parameters('certificateStoreValue')]"
} ,
"clientCertificateCommonNames" : [ ] ,
"clientCertificateThumbprints" : [ ] ,
2017-10-10 11:17:34 +02:00
"clusterCodeVersion" : "6.0.120.1" ,
2017-10-04 18:36:08 +02:00
"clusterState" : "Default" ,
"diagnosticsStorageAccountConfig" : {
"blobEndpoint" : "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.blob]" ,
"protectedAccountKeyName" : "StorageAccountKey1" ,
"queueEndpoint" : "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.queue]" ,
"storageAccountName" : "[parameters('supportLogStorageAccountName')]" ,
"tableEndpoint" : "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.table]"
} ,
"fabricSettings" : [
{
"parameters" : [
{
"name" : "ClusterProtectionLevel" ,
"value" : "[parameters('clusterProtectionLevel')]"
}
] ,
"name" : "Security"
}
] ,
"managementEndpoint" : "[concat('https://',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 ,
"vmInstanceCount" : "[parameters('nt0InstanceCount')]"
}
] ,
"provisioningState" : "Default" ,
"reliabilityLevel" : "Silver" ,
"upgradeMode" : "Manual" ,
2017-10-10 11:17:34 +02:00
"vmImage" : "Linux"
2017-10-04 18:36:08 +02:00
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
}
] ,
"outputs" : {
"clusterProperties" : {
"value" : "[reference(parameters('clusterName'))]" ,
"type" : "object"
}
}
}