mirror of
https://github.com/openshift/installer.git
synced 2026-02-05 06:46:36 +01:00
187 lines
6.3 KiB
JSON
187 lines
6.3 KiB
JSON
{
|
|
"$schema" : "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
|
"contentVersion" : "1.0.0.0",
|
|
"parameters" : {
|
|
"baseName" : {
|
|
"type" : "string",
|
|
"minLength" : 1,
|
|
"metadata" : {
|
|
"description" : "Base name to be used in resource names (usually the cluster's Infra ID)"
|
|
}
|
|
},
|
|
"vnetBaseName": {
|
|
"type": "string",
|
|
"defaultValue": "",
|
|
"metadata" : {
|
|
"description" : "The specific customer vnet's base name (optional)"
|
|
}
|
|
},
|
|
"masterIgnition" : {
|
|
"type" : "string",
|
|
"metadata" : {
|
|
"description" : "Ignition content for the master nodes"
|
|
}
|
|
},
|
|
"numberOfMasters" : {
|
|
"type" : "int",
|
|
"defaultValue" : 3,
|
|
"minValue" : 2,
|
|
"maxValue" : 30,
|
|
"metadata" : {
|
|
"description" : "Number of OpenShift masters to deploy"
|
|
}
|
|
},
|
|
"sshKeyData" : {
|
|
"type" : "securestring",
|
|
"defaultValue" : "Unused",
|
|
"metadata" : {
|
|
"description" : "Unused"
|
|
}
|
|
},
|
|
"privateDNSZoneName" : {
|
|
"type" : "string",
|
|
"defaultValue" : "",
|
|
"metadata" : {
|
|
"description" : "unused"
|
|
}
|
|
},
|
|
"masterVMSize" : {
|
|
"type" : "string",
|
|
"defaultValue" : "Standard_D8s_v3",
|
|
"metadata" : {
|
|
"description" : "The size of the Master Virtual Machines"
|
|
}
|
|
},
|
|
"diskSizeGB" : {
|
|
"type" : "int",
|
|
"defaultValue" : 1024,
|
|
"metadata" : {
|
|
"description" : "Size of the Master VM OS disk, in GB"
|
|
}
|
|
},
|
|
"hyperVGen": {
|
|
"type": "string",
|
|
"metadata": {
|
|
"description": "VM generation image to use"
|
|
},
|
|
"defaultValue": "V2",
|
|
"allowedValues": [
|
|
"V1",
|
|
"V2"
|
|
]
|
|
}
|
|
},
|
|
"variables" : {
|
|
"location" : "[resourceGroup().location]",
|
|
"virtualNetworkName" : "[concat(if(not(empty(parameters('vnetBaseName'))), parameters('vnetBaseName'), parameters('baseName')), '-vnet')]",
|
|
"virtualNetworkID" : "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]",
|
|
"masterSubnetName" : "[concat(if(not(empty(parameters('vnetBaseName'))), parameters('vnetBaseName'), parameters('baseName')), '-master-subnet')]",
|
|
"masterSubnetRef" : "[concat(variables('virtualNetworkID'), '/subnets/', variables('masterSubnetName'))]",
|
|
"masterLoadBalancerName" : "[parameters('baseName')]",
|
|
"internalLoadBalancerName" : "[concat(parameters('baseName'), '-internal-lb')]",
|
|
"sshKeyPath" : "/home/core/.ssh/authorized_keys",
|
|
"identityName" : "[concat(parameters('baseName'), '-identity')]",
|
|
"galleryName": "[concat('gallery_', replace(parameters('baseName'), '-', '_'))]",
|
|
"imageName" : "[concat(parameters('baseName'), if(equals(parameters('hyperVGen'), 'V2'), '-gen2', ''))]",
|
|
"copy" : [
|
|
{
|
|
"name" : "vmNames",
|
|
"count" : "[parameters('numberOfMasters')]",
|
|
"input" : "[concat(parameters('baseName'), '-master-', copyIndex('vmNames'))]"
|
|
}
|
|
]
|
|
},
|
|
"resources" : [
|
|
{
|
|
"apiVersion" : "2018-06-01",
|
|
"type" : "Microsoft.Network/networkInterfaces",
|
|
"copy" : {
|
|
"name" : "nicCopy",
|
|
"count" : "[length(variables('vmNames'))]"
|
|
},
|
|
"name" : "[concat(variables('vmNames')[copyIndex()], '-nic')]",
|
|
"location" : "[variables('location')]",
|
|
"properties" : {
|
|
"ipConfigurations" : [
|
|
{
|
|
"name" : "pipConfig",
|
|
"properties" : {
|
|
"privateIPAllocationMethod" : "Dynamic",
|
|
"subnet" : {
|
|
"id" : "[variables('masterSubnetRef')]"
|
|
},
|
|
"loadBalancerBackendAddressPools" : [
|
|
{
|
|
"id" : "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('masterLoadBalancerName'), '/backendAddressPools/', variables('masterLoadBalancerName'))]"
|
|
},
|
|
{
|
|
"id" : "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('internalLoadBalancerName'), '/backendAddressPools/internal-lb-backend')]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"apiVersion" : "2018-06-01",
|
|
"type" : "Microsoft.Compute/virtualMachines",
|
|
"copy" : {
|
|
"name" : "vmCopy",
|
|
"count" : "[length(variables('vmNames'))]"
|
|
},
|
|
"name" : "[variables('vmNames')[copyIndex()]]",
|
|
"location" : "[variables('location')]",
|
|
"identity" : {
|
|
"type" : "userAssigned",
|
|
"userAssignedIdentities" : {
|
|
"[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('identityName'))]" : {}
|
|
}
|
|
},
|
|
"dependsOn" : [
|
|
"[concat('Microsoft.Network/networkInterfaces/', concat(variables('vmNames')[copyIndex()], '-nic'))]"
|
|
],
|
|
"properties" : {
|
|
"hardwareProfile" : {
|
|
"vmSize" : "[parameters('masterVMSize')]"
|
|
},
|
|
"osProfile" : {
|
|
"computerName" : "[variables('vmNames')[copyIndex()]]",
|
|
"adminUsername" : "core",
|
|
"adminPassword" : "NotActuallyApplied!",
|
|
"customData" : "[parameters('masterIgnition')]",
|
|
"linuxConfiguration" : {
|
|
"disablePasswordAuthentication" : false
|
|
}
|
|
},
|
|
"storageProfile" : {
|
|
"imageReference": {
|
|
"id": "[resourceId('Microsoft.Compute/galleries/images', variables('galleryName'), variables('imageName'))]"
|
|
},
|
|
"osDisk" : {
|
|
"name": "[concat(variables('vmNames')[copyIndex()], '_OSDisk')]",
|
|
"osType" : "Linux",
|
|
"createOption" : "FromImage",
|
|
"caching": "ReadOnly",
|
|
"writeAcceleratorEnabled": false,
|
|
"managedDisk": {
|
|
"storageAccountType": "Premium_LRS"
|
|
},
|
|
"diskSizeGB" : "[parameters('diskSizeGB')]"
|
|
}
|
|
},
|
|
"networkProfile" : {
|
|
"networkInterfaces" : [
|
|
{
|
|
"id" : "[resourceId('Microsoft.Network/networkInterfaces', concat(variables('vmNames')[copyIndex()], '-nic'))]",
|
|
"properties": {
|
|
"primary": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|