Pre-Install Checks
deployment ama marketplace azureOn this page
CluedIn AMA - Pre-Install Checks
Before beginning the installation, a few checks and permissions need to happen to ensure a smooth installation experience.
Identify the user carrying out installation
The user who is triggering the installation must have all the correct permissions assigned to them or their user group.
CluedIn will be installed into an Azure Resource Group. The installation user would ideally be at least aContributor
to that group or ideally the Owner
of that resource group.
Permission to purchase from the Azure Market Place
The other permission required is the ability to purchase paid-for applications from the Azure Marketplace.
By default, this is usually set to Off
- Meaning it prevents users from deploying any software from Azure Marketplace.
This must be set to Free/BYOL SKUs Only
in order to complete the purchase registration on the marketplace.
More information is available here: https://docs.microsoft.com/en-us/marketplace/azure-purchasing-invoicing#purchase-policy-management
Note: At present (Jan 2023) the Microsoft document above is showing the wrong screenshots for the Marketplace interface.
Check Azure registrations
The final set of permissions is around resource provider registrations and quotas.
Resource Provider registrations allow you to create certain resource types in Azure. The CluedIn installation creates various resource types, so we need to check that the installation user has the proper authority to create them.
The list of resource provider registrations for CluedIn are as follows:
Microsoft.Cache
Microsoft.Capacity
Microsoft.Compute
Microsoft.ContainerService
Microsoft.EventHub
Microsoft.KeyVault
Microsoft.ManagedIdentity
Microsoft.Network
Microsoft.OperationalInsights
Microsoft.OperationsManagement
Microsoft.Resources
Microsoft.Storage
Microsoft.Sql
You can locate the Resource Provider
section in the Subscription
configuration on the Azure portal.
Some may take a few minutes to register.
Check vCPU quotas
There are three common VM family types that CluedIn will create as part of the AKS (Kubernetes) node pools.
The subscription must have enough spare vCPU quota to provision the different nodes.
If the quota is not available then the installation will fail.
Common
System Pool - (1 x
Standard_DS2_v2
) - At least2
vCPUs in the Standard DSv2 Family vCPUs quotaGeneral Pool (2 x
Standard_D8s_v4
) and Data Pool - (3 xStandard_D8s_v4
) - At least40
vCPUs in the Standard DSv4 Family vCPUs quota
The D8s_v4
machines can be found as part of the D-Series v4
set of compute resources.
The next set is based on your license type:
Essential
- At least 8 vCPUs in the StandardFSv2Family quota
Professional
- At least 16 vCPUs in the StandardFSv2Family quota
Elite
- At least 32 vCPUs in the StandardFSv2Family quota
If you are looking to enable auto-scaling on the processing node, you will need to ensure a higher quota on the FSv2 family. This will also depend on your license type.
Helper Script
CluedIn have created a PowerShell script that can check the current user’s provider registrations.
It requires the Azure CLI (az) to be installed on the system running it.
Installation instructions can be found here: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli
param(
[Parameter(Mandatory)]
[string]$SubscriptionId,
[switch]$Register,
[switch]$Wait
)
$ErrorActionPreference = 'Stop'
if(!(Get-Command az)) {
Write-Error "You must install the azure CLI to continue"
}
# Login
function GetCurrentSubscription { az account show --query 'id' -o tsv }
$currentSubscription = GetCurrentSubscription
if(!$currentSubscription) { az login -o none }
if($currentSubscription -ne $SubscriptionId){
az account set --subscription $SubscriptionId
$currentSubscription = GetCurrentSubscription
if($currentSubscription -ne $SubscriptionId){
Write-Error "Could not login to subscription ${SubscriptionId}"
}
}
function FetchProviders {
$requiredProviders = @(
"Microsoft.Cache",
"Microsoft.Capacity",
"Microsoft.Compute",
"Microsoft.ContainerService",
"Microsoft.EventHub",
"Microsoft.KeyVault",
"Microsoft.ManagedIdentity",
"Microsoft.Network",
"Microsoft.OperationalInsights",
"Microsoft.OperationsManagement",
"Microsoft.Resources",
"Microsoft.Storage",
"Microsoft.Sql"
)
az provider list --query '[].{ Name: namespace, Registered: registrationState}' |
ConvertFrom-Json |
ForEach-Object {
$required = $requiredProviders -contains $_.Name
Add-Member -InputObject $_ -NotePropertyName Required -NotePropertyValue $required -PassThru
} |
Sort-Object Required,Name,Registered
}
$providers = FetchProviders
if($Register) {
$toRegister = $providers.Where({ $_.Required -and $_.Registered -ne 'Registered'})
if($toRegister) {
Write-Host "Registering missing providers"
$toRegister | ForEach-Object {
az provider register --namespace $_.Name --accept-terms --wait
}
$providers = FetchProviders
} else {
Write-Host "All required providers registered" -ForegroundColor Green
}
}
$providers
The CluedIn installer will also attempt to check most of these permissions, so if you see errors such as ..
.. please re-check the permissions assigned to that user before proceeding.