Управление расширениями Azure Arc в Azure Stack HCI
Статья
Область применения: Azure Stack HCI версий 23H2 и 22H2
В этой статье описывается установка, обновление расширений Azure Arc и управление ими на компьютерах сервера Azure Stack HCI.
Управляемые клиентом расширения Azure Arc в Azure Stack HCI
С помощью Azure Stack HCI можно устанавливать, удалять и обновлять расширения Azure Arc в системах Azure Stack HCI. Azure Arc позволяет запускать гибридные службы, такие как мониторинг и Windows Admin Center, в портал Azure.
Ниже приведены отдельные расширения, которые можно установить и управлять.
После успешной регистрации нового кластера Azure Stack HCI в Azure расширения, управляемые Azure, автоматически устанавливаются в кластер. Эти расширения необходимы для функциональности и качества системы и не могут быть удалены. Вы можете управлять поведением этих расширений в портал Azure, перейдя на страницу Расширения и выбрав меню Параметры.
Если у вас есть кластер Azure Stack HCI, зарегистрированный в Azure без этих расширений, на странице Обзор или Расширения в портал Azure отображается баннер. Вы можете использовать сведения на баннере, чтобы помочь вам установить эти расширения.
Расширения можно установить на вкладке Возможности для серверов с поддержкой Arc Azure Stack HCI, как показано на снимке экрана. Вы можете использовать вкладку возможностей для установки большинства расширений.
При установке расширения в портал Azure это операция с поддержкой кластера. Расширение устанавливается на всех серверах кластера. При добавлении дополнительных серверов в кластер все расширения, установленные в кластере, автоматически добавляются на новые серверы.
Azure CLI доступен для установки в средах Windows, macOS и Linux. Его также можно запустить в Azure Cloud Shell. Дополнительные сведения см. в кратком руководстве по azure Cloud Shell.
Запустите Azure Cloud Shell и используйте Bash для установки расширения, выполнив следующие действия.
Настройка параметров из подписки, группы ресурсов и кластеров
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'))
Чтобы установить расширение Windows Admin Center на всех кластерах в группе ресурсов, выполните следующую команду:
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
Чтобы установить расширение агента Azure Monitor на всех кластерах в группе ресурсов, выполните следующую команду:
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
Чтобы установить расширение Azure Site Recovery на всех кластерах в группе ресурсов, выполните следующую команду:
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 можно выполнять в azure Cloud Shell. В этом документе описано, как использовать PowerShell в Azure Cloud Shell. Дополнительные сведения см. в кратком руководстве по azure Cloud Shell.
Запустите Azure Cloud Shell и используйте PowerShell для установки расширения, выполнив следующие действия.
Настройте параметры из подписки, группы ресурсов и кластеров:
$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
Чтобы установить расширение Windows Admin Center на всех кластерах в группе ресурсов, выполните следующую команду:
Чтобы установить расширение Azure Site Recovery на всех кластерах в группе ресурсов, создайте файл параметров JSON и выполните следующую команду:
$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
}
Вы можете проверка состояние расширения на каждом сервере на странице Расширения, просмотрев столбец состояния сетки.
Azure CLI доступен для установки в средах Windows, macOS и Linux. Его также можно запустить в Azure Cloud Shell. Дополнительные сведения см. в кратком руководстве по azure Cloud Shell.
Запустите azure Cloud Shell и используйте Bash, чтобы проверка состояние расширения, выполнив следующие действия.
Настройка параметров из подписки, группы ресурсов, имени кластера и имени расширения
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}"
Чтобы получить список всех расширений в кластере, выполните следующую команду:
az stack-hci extension list \
--arc-setting-name "default" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}" \
-o table
Чтобы отфильтровать определенное расширение, например AzureMonitorWindowsAgent, выполните следующую команду:
Azure PowerShell можно выполнять в azure Cloud Shell. В этом документе описано, как использовать PowerShell в Azure Cloud Shell. Дополнительные сведения см. в кратком руководстве по azure Cloud Shell.
Запустите Azure Cloud Shell и используйте PowerShell, чтобы проверка состояние расширения, выполнив следующие действия.
Настройка параметров из подписки, группы ресурсов и имени кластера
$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
Чтобы получить список всех расширений в кластере, выполните следующую команду:
При публикации командой издателей расширений процесс обновления расширения заменяет существующую версию расширения новой поддерживаемой. По умолчанию функция автоматического обновления расширений включена для всех расширений, развернутых в кластерах с поддержкой Azure Stack HCI с поддержкой Arc, если вы явно не откажетесь от автоматического обновления.
В настоящее время автоматическое обновление расширений поддерживается только в расширении Windows Admin Center, но в будущем будет добавлено больше расширений.
Примечание
По умолчанию все расширения настроены для включения автоматического обновления, даже если расширение не поддерживает автоматическое обновление. Однако этот параметр по умолчанию не действует, пока издатель расширения не выберет поддержку автоматического обновления расширений.
Для некоторых расширений можно включить автоматическое обновление с помощью управления расширениями.
Чтобы включить автоматическое обновление, перейдите на страницу Расширения и выполните следующие действия.
Выберите расширение, для которого нужно включить автоматическое обновление.
Выберите Включить автоматическое обновление в верхнем меню.
При появлении запроса на подтверждение намерения нажмите кнопку ОК.
Чтобы установить и включить автоматическое обновление для определенного расширения, выполните AzureMonitorWindowsAgent следующую команду:
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"
Чтобы установить и включить автоматическое обновление для определенного расширения, выполните AzureMonitorWindowsAgent следующую команду:
$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
Обновление расширения вручную с помощью портал Azure
Обновление расширения вручную аналогично автоматическому обновлению расширений. В кластере с поддержкой Arc Azure Stack HCI при обновлении расширения вручную Azure сохраняет выбранную версию. Затем Azure попытается обновить расширение на всех серверах в кластере до этой версии.
На некоторых серверах при сбое обновления расширения платформа пытается выполнить обновление до выбранной версии во время следующей облачной синхронизации Azure Stack HCI.
Используйте ручной рабочий процесс в следующих сценариях:
Доступна новая версия расширения, и вы хотите обновить ее вручную.
Параметр автоматического обновления расширения отключен, и существует несоответствие версий на разных серверах кластера Azure Stack HCI.
Чтобы вручную обновить расширение, выполните следующие действия.
Перейдите на страницу Расширения .
Выберите расширение, которое требуется обновить, и выберите Параметры в верхнем меню.
Выберите последнюю версию и нажмите кнопку Сохранить.
Отключение автоматического обновления расширений
Вы можете отключить автоматическое обновление для определенных расширений в портал Azure. Чтобы отключить автоматическое обновление, перейдите на страницу Расширения и выполните следующие действия:
Выберите расширение, для которого нужно отключить автоматическое обновление.
Выберите Отключить автоматическое обновление в верхнем меню.
При появлении запроса на подтверждение намерения нажмите кнопку ОК.
Проверка журнала обновления расширения
Вы можете просмотреть вкладку Журнал действий для отдельных ресурсов сервера с поддержкой Azure Arc, групп ресурсов и подписок, чтобы проверка журнал автоматических обновлений расширений для отдельных серверов кластера. Дополнительные сведения см. в разделе Проверка журнала автоматического обновления расширений.
Обновления, доступные в режиме доступности
Для группы кластеров с поддержкой Azure Stack HCI с поддержкой Arc, которые проходят обновление, платформа Azure использовала модель автоматического обновления расширений для оркестрации обновлений.
Время автоматического обновления расширений
При публикации новой версии поддерживаемого расширения она становится доступной для установки и обновления вручную на серверах с поддержкой Azure Arc. Обновления выпускаются пакетами в разных регионах и подписках Azure, поэтому обновление расширения может происходить на некоторых серверах раньше, чем на других. Дополнительные сведения см. в разделе Время автоматического обновления расширений.
Если для компьютера доступно несколько обновлений расширений, их можно объединить вместе. Однако каждое обновление расширения применяется отдельно на компьютере. Дополнительные сведения см. в разделе Обновления расширений с несколькими расширениями.
При необходимости можно удалить некоторые расширения из кластеров Azure Stack HCI в портал Azure. Чтобы удалить расширение, выполните следующие действия.
Перейдите на страницу Расширения.
Выберите расширение, которое нужно удалить. Кнопка удаления недоступна для расширений, управляемых Azure.
Выберите Удалить в верхнем меню.
Подтвердите намерение и выберите Да.
Чтобы удалить определенное расширение, например AzureMonitorWindowsAgent , выполните следующую команду:
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}"
Чтобы удалить определенное расширение, например AzureMonitorWindowsAgent , выполните следующую команду:
$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}"
Устранение ошибок расширения
Состояние расширения: Сбой
Рекомендация. Для расширения с состоянием сбоя выберите ссылку Сбой (просмотр сведений). Просмотрите все сведения о сбое и примените советы по устранению неполадок.