|
|
- {
- "$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
- },
- "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": "Microsoft.Azure.ServiceFabric"
- },
- "vmImageOffer": {
- "type": "string",
- "defaultValue": "UbuntuServer"
- },
- "vmImageSku": {
- "type": "string",
- "defaultValue": "16.04"
- },
- "vmImageVersion": {
- "type": "string",
- "defaultValue": "6.0.12"
- },
- "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_D1_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'))]",
- "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>')]",
- "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' ))]",
- "wadmetricsresourceid0": "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',resourceGroup().name ,'/providers/','Microsoft.Compute/virtualMachineScaleSets/', parameters('vmNodeType0Name'))]"
- },
- "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"
- }
- },
- {
- "name": "WebMVCHttpRule",
- "properties": {
- "backendAddressPool": {
- "id": "[variables('lbPoolID0')]"
- },
- "backendPort": "[parameters('webMvcHttpPort')]",
- "enableFloatingIP": "false",
- "frontendIPConfiguration": {
- "id": "[variables('lbIPConfig0')]"
- },
- "frontendPort": "[parameters('webMvcHttpPort')]",
- "idleTimeoutInMinutes": "5",
- "protocol": "tcp"
- }
- },
- {
- "name": "WebSPAHttpRule",
- "properties": {
- "backendAddressPool": {
- "id": "[variables('lbPoolID0')]"
- },
- "backendPort": "[parameters('webSpaHttpPort')]",
- "enableFloatingIP": "false",
- "frontendIPConfiguration": {
- "id": "[variables('lbIPConfig0')]"
- },
- "frontendPort": "[parameters('webSpaHttpPort')]",
- "idleTimeoutInMinutes": "5",
- "protocol": "tcp"
- }
- },
- {
- "name": "WebStatusHttpRule",
- "properties": {
- "backendAddressPool": {
- "id": "[variables('lbPoolID0')]"
- },
- "backendPort": "[parameters('webStatusHttpPort')]",
- "enableFloatingIP": "false",
- "frontendIPConfiguration": {
- "id": "[variables('lbIPConfig0')]"
- },
- "frontendPort": "[parameters('webStatusHttpPort')]",
- "idleTimeoutInMinutes": "5",
- "protocol": "tcp"
- }
- },
- {
- "name": "IdSrvHttpRule",
- "properties": {
- "backendAddressPool": {
- "id": "[variables('lbPoolID0')]"
- },
- "backendPort": "[parameters('IdSrvHttpRule')]",
- "enableFloatingIP": "false",
- "frontendIPConfiguration": {
- "id": "[variables('lbIPConfig0')]"
- },
- "frontendPort": "[parameters('IdSrvHttpRule')]",
- "idleTimeoutInMinutes": "5",
- "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": "22",
- "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": [
- {
- "name": "[concat(parameters('vmNodeType0Name'),'_ServiceFabricLinuxNode')]",
- "properties": {
- "type": "ServiceFabricLinuxNode",
- "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')]"
- },
- "typeHandlerVersion": "1.0"
- }
- },
- {
- "name": "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]",
- "properties": {
- "type": "LinuxDiagnostic",
- "autoUpgradeMinorVersion": true,
- "protectedSettings": {
- "storageAccountName": "[parameters('applicationDiagnosticsStorageAccountName')]",
- "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('applicationDiagnosticsStorageAccountName')),'2015-05-01-preview').key1]",
- "storageAccountEndPoint": "https://core.windows.net/"
- },
- "publisher": "Microsoft.OSTCExtensions",
- "settings": {
- "xmlCfg": "[base64(concat(variables('wadcfgxstart'),variables('wadmetricsresourceid0'),variables('wadcfgxend')))]",
- "StorageAccount": "[parameters('applicationDiagnosticsStorageAccountName')]"
- },
- "typeHandlerVersion": "2.3"
- }
- }
- ]
- },
- "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",
- "managedDisk": {
- "storageAccountType": "[parameters('storageAccountType')]"
- }
- }
- }
- }
- },
- "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"
- ],
- "clientCertificateCommonNames": [],
- "clientCertificateThumbprints": [],
- "clusterCodeVersion": "6.0.120.1",
- "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": [],
- "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,
- "vmInstanceCount": "[parameters('nt0InstanceCount')]"
- }
- ],
- "provisioningState": "Default",
- "reliabilityLevel": "None",
- "upgradeMode": "Manual",
- "vmImage": "Linux"
- },
- "tags": {
- "resourceType": "Service Fabric",
- "clusterName": "[parameters('clusterName')]"
- }
- }
- ],
- "outputs": {
- "clusterProperties": {
- "value": "[reference(parameters('clusterName'))]",
- "type": "object"
- }
- }
- }
|