Gestão de extensões do Azure Arc no Azure Stack HCI
Artigo
Aplica-se a: Azure Stack HCI, versões 23H2 e 22H2
Este artigo descreve como instalar, atualizar e gerir extensões do Azure Arc em máquinas de servidor do Azure Stack HCI.
Extensões do Azure Arc geridas pelo cliente no Azure Stack HCI
Com o Azure Stack HCI, pode instalar, desinstalar e atualizar extensões do Azure Arc nos seus sistemas do Azure Stack HCI. O Azure Arc permite-lhe executar serviços híbridos, como monitorização e Windows Admin Center no portal do Azure.
Eis as extensões individuais que pode instalar e gerir.
Depois de registar com êxito o novo cluster do Azure Stack HCI no Azure, as extensões geridas pelo Azure são instaladas automaticamente no cluster. Estas extensões são essenciais para a funcionalidade e qualidade do seu sistema e não podem ser desinstaladas. Pode gerir o comportamento destas extensões no portal do Azure ao navegar para a página Extensões e selecionar o menu Definições.
Se tiver um cluster do Azure Stack HCI existente registado no Azure sem estas extensões, será apresentada uma faixa na página Descrição Geral ou Extensões no portal do Azure. Pode utilizar as informações na faixa para orientá-lo através da instalação destas extensões.
Pode instalar extensões a partir do separador Capacidades dos servidores compatíveis com o Azure Stack HCI Arc, conforme mostrado na captura de ecrã. Pode utilizar o separador capacidades para instalar a maioria das extensões.
Quando instala uma extensão no portal do Azure, é uma operação com suporte para clusters. A extensão é instalada em todos os servidores do cluster. Se adicionar mais servidores ao cluster, todas as extensões instaladas no cluster são automaticamente adicionadas aos novos servidores.
A CLI do Azure está disponível para instalação em ambientes Windows, macOS e Linux. Também pode ser executado no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Azure Cloud Shell.
Inicie o Azure Cloud Shell e utilize o Bash para instalar uma extensão ao seguir estes passos:
Configurar parâmetros a partir da sua subscrição, grupo de recursos e clusters
subscription="00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
resourceGroup="hcicluster-rg" # Replace with your resource group name
az account set --subscription "${subscription}"
clusters=($(az graph query -q "resources | where type == 'microsoft.azurestackhci/clusters'| where resourceGroup =~ '${resourceGroup}' | project name" | jq -r '.data[].name'))
Para instalar a extensão Windows Admin Center em todos os clusters no grupo de recursos, execute o seguinte comando:
extensionName="AdminCenter"
extensionType="AdminCenter"
extensionPublisher="Microsoft.AdminCenter"
settingsConfig="{'port':'6516'}"
connectivityProps="{enabled:true}"
for cluster in ${clusters}; do
echo "Enabling Connectivity for cluster $currentCluster"
az stack-hci arc-setting update \
--resource-group ${resourceGroup} \
--cluster-name ${cluster} \
--name "default" \
--connectivity-properties ${connectivityProps}
echo "Installing extension: ${extensionName} on cluster: ${cluster}"
az stack-hci extension create \
--arc-setting-name "default" \
--cluster-name "${cluster}" \
--resource-group "${resourceGroup}" \
--name "${extensionName}" \
--auto-upgrade "true" \
--publisher "${extensionPublisher}" \
--type "${extensionType}" \
--settings "${settingsConfig}"
done
Para instalar a extensão do Agente do Azure Monitor em todos os clusters no grupo de recursos, execute o seguinte comando:
extensionName="AzureMonitorWindowsAgent"
extensionType="AzureMonitorWindowsAgent"
extensionPublisher="Microsoft.Azure.Monitor"
for cluster in ${clusters}; do
echo "Installing extension: ${extensionName} on cluster: ${cluster}"
az stack-hci extension create \
--arc-setting-name "default" \
--cluster-name "${cluster}" \
--resource-group "${resourceGroup}" \
--name "${extensionName}" \
--auto-upgrade "true" \
--publisher "${extensionPublisher}" \
--type "${extensionType}"
done
Para instalar a extensão do Azure Site Recovery em todos os clusters no grupo de recursos, execute o seguinte comando:
asrSubscription="00000000-0000-0000-0000-000000000000" # Replace with your ASR subscription ID
asrResourceGroup="asr-rg" # Replace with your ASR resource group
asrVaultName="asr-vault" # Replace with your ASR vault name
asrLocation="East US" # Replace with your ASR Location
asrSiteId="00000000-0000-0000-0000-000000000000" # Replace with your ASR Site ID
asrSiteName="asr-site" # Replace with your Site Name
asrSitePolicyId="/subscriptions/${asrSubscription}/resourceGroups/${asrResourceGroup}/providers/Microsoft.RecoveryServices/vaults/${asrVaultName}/replicationPolicies/s-cluster-policy" # Replace with your Site Policy name
extensionName="ASRExtension"
extensionType="Windows"
extensionPublisher="Microsoft.SiteRecovery.Dra"
jsonFile="./tmp-asr.json" #Temp JSON file
echo "{\"SubscriptionId\": \"${asrSubscription}\", \"Environment\": \"AzureCloud\",\"ResourceGroup\": \"${asrResourceGroup}\",\"Location\": \"${asrLocation}\",\"SiteId\": \"${asrSiteId}\", \"SiteName\": \"${asrSiteName}\", \"PolicyId\": \"${asrSitePolicyId}\", \"PrivateEndpointStateForSiteRecovery\": \"None\" }" > ${jsonFile}
for cluster in ${clusters}; do
echo "Installing extension: ${extensionName} on cluster: ${cluster}"
az stack-hci extension create \
--arc-setting-name "default" \
--cluster-name "${cluster}" \
--resource-group "${resourceGroup}" \
--name "${extensionName}" \
--auto-upgrade "true" \
--publisher "${extensionPublisher}" \
--type "${extensionType}" \
--settings "${jsonFile}"
done
Azure PowerShell pode ser executado no Azure Cloud Shell. Este documento detalha como utilizar o PowerShell no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Azure Cloud Shell.
Inicie o Azure Cloud Shell e utilize o PowerShell para instalar uma extensão ao seguir estes passos:
Configure parâmetros a partir da sua subscrição, grupo de recursos e clusters:
$subscription = "00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
Set-AzContext -Subscription "${subscription}"
$clusters = Get-AzResource -ResourceType "Microsoft.AzureStackHCI/clusters" -ResourceGroupName ${resourceGroup} | Select-Object -Property Name
Para instalar a extensão Windows Admin Center em todos os clusters no grupo de recursos, execute o seguinte comando:
Para instalar a extensão do Azure Site Recovery em todos os clusters no grupo de recursos, crie um ficheiro de parâmetro JSON e, em seguida, execute o seguinte comando:
$settings = @{
SubscriptionId = "<Replace with your Subscription Id>"
Environment = "<Replace with the cloud environment type. For example: AzureCloud>"
ResourceGroup = "<Replace with your Site Recovery Vault resource group>"
ResourceName = "<Replace with your Site Recovery Vault Name>"
Location = "<Replace with your Site Recovery Azure Region>"
SiteId = "<Replace with the ID of your recovery site>"
SiteName = "<Replace with your recovery site name>"
PolicyId = "<Replace with resource ID of your recovery site policy>"
PrivateEndpointStateForSiteRecovery = "None"
}
$extensionName = "ASRExtension"
$extensionType = "Windows"
$extensionPublisher = "Microsoft.SiteRecovery.Dra"
foreach ($cluster in $clusters) {
$clusterName = ${cluster}.Name
Write-Output ("Installing Extension '${extensionType}/${extensionPublisher}' on cluster ${clusterName}")
New-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}" `
-ExtensionParameterPublisher "${extensionPublisher}" `
-ExtensionParameterType "${extensionType}" `
-ExtensionParameterSetting ${settings} `
-NoWait
}
Pode verificar o estado de uma extensão em cada servidor a partir da página Extensões ao ver a coluna de estado da grelha.
A CLI do Azure está disponível para instalação em ambientes Windows, macOS e Linux. Também pode ser executado no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Azure Cloud Shell.
Inicie o Azure Cloud Shell e utilize o Bash para verificar o estado de uma extensão ao seguir estes passos:
Configurar parâmetros a partir da sua subscrição, grupo de recursos, nome do cluster e nome da extensão
subscription="00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
resourceGroup="hcicluster-rg" # Replace with your resource group name
clusterName="HCICluster" # Replace with your cluster name
extensionName="AzureMonitorWindowsAgent" # Replace with the extension name
az account set --subscription "${subscription}"
Para listar todas as extensões num cluster, execute o seguinte comando:
az stack-hci extension list \
--arc-setting-name "default" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}" \
-o table
Para filtrar uma extensão específica, como AzureMonitorWindowsAgent, execute o seguinte comando:
Azure PowerShell pode ser executado no Azure Cloud Shell. Este documento detalha como utilizar o PowerShell no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Azure Cloud Shell.
Inicie o Azure Cloud Shell e utilize o PowerShell para verificar o estado de uma extensão ao seguir estes passos:
Configurar parâmetros a partir da sua subscrição, grupo de recursos e nome do cluster
$subscription = "00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
Set-AzContext -Subscription "${subscription}"
$clusters = Get-AzResource -ResourceType "Microsoft.AzureStackHCI/clusters" -ResourceGroupName ${resourceGroup} | Select-Object -Property Name
Para listar todas as extensões num cluster, execute o seguinte comando:
Quando publicado pela equipa do editor de extensões, o processo de atualização da extensão substitui a versão da extensão existente por uma recentemente suportada. Por predefinição, a funcionalidade de atualização automática de extensões está ativada para todas as extensões implementadas em clusters compatíveis com o Arc do Azure Stack HCI, a menos que opte explicitamente por não participar em atualizações automáticas.
Atualmente, as atualizações automáticas de extensões só são suportadas na extensão Windows Admin Center, mas serão adicionadas mais extensões no futuro.
Nota
Por predefinição, todas as extensões estão configuradas para ativar as atualizações automáticas, mesmo que uma extensão não suporte a atualização automática da extensão. No entanto, esta predefinição não tem qualquer efeito até que o editor de extensões opte por suportar a atualização automática da extensão.
Para algumas extensões, pode ativar as atualizações automáticas através da gestão de extensões.
Para ativar uma atualização automática, navegue para a página Extensões e execute estes passos:
Escolha a extensão na qual pretende ativar a atualização automática.
Selecione Ativar atualização automática no menu superior
Quando lhe for pedido para confirmar a sua intenção, selecione OK.
Para instalar e ativar a atualização automática para uma extensão específica, como AzureMonitorWindowsAgent executar o seguinte comando:
clusterName="HCICluster" # Replace with your cluster name
resourceGroup="hcicluster-rg" # Replace with your resource group name
extensionName="AzureMonitorWindowsAgent"
extensionPublisher="Microsoft.Azure.Monitor"
extensionType="AzureMonitorWindowsAgent"
az stack-hci extension create \
--name "${extensionName}" \
--arc-setting-name "default" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}" \
--publisher ${extensionPublisher} \
--type ${extensionType} \
--auto-upgrade "true"
Para instalar e ativar a atualização automática para uma extensão específica, como AzureMonitorWindowsAgent executar o seguinte comando:
$clusterName = "HCICluster" # Replace with your cluster name
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
$extensionName = "AzureMonitorWindowsAgent"
$extensionType = "AzureMonitorWindowsAgent"
$extensionPublisher = "Microsoft.Azure.Monitor"
New-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}" `
-ExtensionParameterPublisher "${extensionPublisher}" `
-ExtensionParameterType "${extensionType}" `
-ExtensionParameterEnableAutomaticUpgrade
Atualização manual da extensão através do portal do Azure
A atualização manual da extensão funciona como a Atualização automática da extensão. Num cluster compatível com o Azure Stack HCI Arc, quando atualiza manualmente uma extensão, o Azure guarda a versão que selecionou. Em seguida, o Azure tenta atualizar a extensão em todos os servidores do cluster para essa versão.
Em alguns servidores, se a atualização da extensão falhar, a plataforma tentará atualizar para a versão selecionada durante a próxima sincronização da cloud do Azure Stack HCI.
Utilize o fluxo de trabalho manual nestes cenários:
Está disponível uma nova versão da extensão e pretende atualizá-la manualmente.
A opção de atualização automática da extensão está desativada e existe um erro de correspondência de versões em diferentes servidores do cluster do Azure Stack HCI.
Para atualizar manualmente uma extensão, siga estes passos:
Aceda à página Extensões .
Selecione a extensão que pretende atualizar e selecione Definições no menu superior.
Selecione a versão mais recente e selecione Guardar.
Desativar a atualização automática da extensão
Pode desativar as atualizações automáticas para determinadas extensões no portal do Azure. Para desativar as atualizações automáticas, navegue para a página Extensões e execute estes passos:
Escolha a extensão na qual pretende desativar a atualização automática.
Selecione Desativar atualização automática no menu superior.
Quando lhe for pedido para confirmar a sua intenção, selecione OK.
Verificar o histórico de atualizações da extensão
Pode ver o separador Registo de Atividades em recursos de servidores, grupos de recursos e subscrições individuais compatíveis com o Azure Arc para verificar o histórico de atualizações automáticas de extensões para servidores de cluster individuais. Para obter mais informações, veja Verificar o histórico automático de atualizações de extensões.
Atualizações de disponibilidade inicial
Para um grupo de clusters preparados para o Arc do Azure Stack HCI que estão a ser atualizados, a plataforma do Azure utilizou o modelo de atualização automática da extensão para orquestrar atualizações.
Temporização das atualizações automáticas de extensões
Quando é publicada uma nova versão de uma extensão suportada, esta fica disponível para instalação e atualização manual em servidores compatíveis com o Azure Arc. As atualizações são emitidas em lotes entre regiões e subscrições do Azure, pelo que poderá ver uma atualização da extensão a ocorrer em alguns servidores antes de outros. Para obter mais informações, veja Temporização das atualizações automáticas da extensão.
Se uma atualização da extensão falhar, o Azure efetua as ações associadas à Reversão automática e tenta novamente numa tentativa de reparar a extensão.
Se estiverem disponíveis várias atualizações de extensão para um computador, poderão ser agrupadas em conjunto. No entanto, cada atualização da extensão é aplicada individualmente no computador. Para obter mais informações, veja Atualizações de extensões com várias extensões.
Se assim o desejar, pode desinstalar algumas extensões dos clusters do Azure Stack HCI no portal do Azure. Para desinstalar uma extensão, utilize estes passos:
Aceda à página Extensões.
Escolha a extensão que pretende desinstalar. O botão de desinstalação não está disponível para extensões geridas pelo Azure.
Selecione Desinstalar no menu superior.
Confirme a intenção e selecione Sim.
Para remover uma extensão específica, como AzureMonitorWindowsAgent executar o seguinte comando:
extensionName="AzureMonitorWindowsAgent" # Replace with the extension name
resourceGroup="hcicluster-rg" # Replace with your resource group name
clusterName="HCICluster" # Replace with your cluster name
az stack-hci extension delete \
--arc-setting-name "default" \
--name "${extensionName}" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}"
Para remover uma extensão específica, como AzureMonitorWindowsAgent executar o seguinte comando:
$clusterName = "HCICluster" # Replace with your cluster name
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
$extensionName = "AzureMonitorWindowsAgent"
Remove-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}"
Resolver erros de extensão
Estado da Extensão: Falhou
Recomendação: para uma extensão com um estado de falha, selecione a ligação Com Falhas (Ver detalhes ). Veja todas as informações sobre a falha e aplique as sugestões de resolução de problemas.