Habilitación de las extensiones de VM de Azure mediante la CLI de Azure

En este artículo se muestra cómo implementar, actualizar y desinstalar extensiones de VM, compatibles con servidores habilitados para Azure Arc, en una máquina híbrida Linux o Windows mediante la CLI de Azure.

Nota:

Los servidores habilitados para Azure Arc no admiten la implementación y administración de extensiones de máquina virtual en máquinas virtuales de Azure. Para las máquinas virtuales de Azure, consulte el siguiente artículo de información general sobre la extensión de máquina virtual.

Requisitos previos

Instalación de la extensión de la CLI de Azure

Los comandos de ConnectedMachine no se incluyen como parte de la CLI de Azure. Antes de usar la CLI de Azure para conectarse a Azure y administrar extensiones de máquina virtual en el servidor híbrido administrado por los servidores habilitados para Azure Arc, debe cargar la extensión ConnectedMachine. Estas operaciones de administración se pueden realizar desde la estación de trabajo y no es necesario ejecutarlas en el servidor habilitado para Azure Arc.

Ejecute el siguiente comando para obtenerla:

az extension add --name connectedmachine

Habilitación de una extensión

Para habilitar una extensión de máquina virtual en el servidor habilitado para Azure Arc, use az connectedmachine extension create con los parámetros --machine-name, --extension-name, --location, --type, settings y --publisher.

En el ejemplo siguiente se habilita la extensión de máquina virtual de Log Analytics en un servidor habilitado para Azure Arc:

az connectedmachine extension create --machine-name "myMachineName" --name "OmsAgentForLinux or MicrosoftMonitoringAgent" --location "regionName" --settings '{\"workspaceId\":\"myWorkspaceId\"}' --protected-settings '{\"workspaceKey\":\"myWorkspaceKey\"}' --resource-group "myResourceGroup" --type-handler-version "1.13" --type "OmsAgentForLinux or MicrosoftMonitoringAgent" --publisher "Microsoft.EnterpriseCloud.Monitoring" 

En el ejemplo siguiente se habilita la extensión de script personalizado en un servidor habilitado para Azure Arc:

az connectedmachine extension create --machine-name "myMachineName" --name "CustomScriptExtension" --location "regionName" --type "CustomScriptExtension" --publisher "Microsoft.Compute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -gt 10000 }\\\"\"}" --type-handler-version "1.10" --resource-group "myResourceGroup"

En el ejemplo siguiente se habilita la extensión de máquina virtual de Key Vault en un servidor habilitado para Azure Arc:

az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.KeyVault" --type "KeyVaultForLinux or KeyVaultForWindows" --name "KeyVaultForLinux or KeyVaultForWindows" --settings '{"secretsManagementSettings": { "pollingIntervalInS": "60", "observedCertificates": ["observedCert1"] }, "authenticationSettings": { "msiEndpoint": "http://localhost:40342/metadata/identity" }}'

En el ejemplo anterior se habilita la extensión de Microsoft Antimalware en un servidor Windows habilitado para Azure Arc:

az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.Security" --type "IaaSAntimalware" --name "IaaSAntimalware" --settings '"{\"AntimalwareEnabled\": \"true\"}"'

En el ejemplo siguiente se habilita la extensión de Datadog en un servidor Windows habilitado para Azure Arc:

az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Datadog.Agent" --type "DatadogWindowsAgent" --settings '{"site": "us3.datadoghq.com"}' --protected-settings '{"api_key": "YourDatadogAPIKey" }'

Enumeración de extensiones instaladas

Para obtener una lista de las extensiones de máquina virtual en el servidor habilitado para Azure Arc, use az connectedmachine extension list con los parámetros --machine-name y --resource-group.

Ejemplo:

az connectedmachine extension list --machine-name "myMachineName" --resource-group "myResourceGroup"

De forma predeterminada, la salida de los comandos de la CLI de Azure está en JSON (notación de objetos JavaScript). Para cambiar la salida predeterminada a una lista o tabla, por ejemplo, use az config set core.output=table. También puede agregar --output a cualquier comando para un cambio específico del formato de salida.

En el ejemplo siguiente se muestra la salida JSON parcial desde el comando az connectedmachine extension -list:

[
  {
    "autoUpgradingMinorVersion": "false",
    "forceUpdateTag": null,
    "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/SVR01/extensions/DependencyAgentWindows",
    "location": "regionName",
    "name": "DependencyAgentWindows",
    "namePropertiesInstanceViewName": "DependencyAgentWindows",

Actualización de la configuración de la extensión

Algunas extensiones de máquina virtual requieren opciones de configuración para instalarlas en el servidor habilitado para Arc, como la extensión de script personalizado y la extensión de máquina virtual del agente de Log Analytics. Para actualizar la configuración de una extensión, use az connectedmachine extension update.

En el ejemplo siguiente se muestra cómo configurar la extensión de script personalizado:

az connectedmachine extension update --name "CustomScriptExtension" --type "CustomScriptExtension" --publisher "Microsoft.HybridCompute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -lt 100 }\\\"\"}" --type-handler-version "1.10" --machine-name "myMachine" --resource-group "myResourceGroup"

Actualización de extensiones

Cuando se publica una nueva versión de una extensión de VM compatible, puede actualizarla a esa versión más reciente. Para actualizar una extensión de máquina virtual, use az connectedmachine upgrade-extension con los parámetros --machine-name, --resource-group y --extension-targets.

Para el parámetro --extension-targets, debe especificar la extensión y la versión más reciente disponible. Para averiguar cuál es la versión más reciente disponible, consulte la página Extensiones del servidor habilitado para Arc seleccionado en Azure Portal o ejecute az vm extension image list. Puede especificar varias extensiones en una única solicitud de actualización proporcionando una lista de extensiones separada por comas, definida por publicador y tipo (separados por puntos) y la versión de destino para cada extensión, como se muestra en el ejemplo siguiente.

Para actualizar la extensión del agente de Log Analytics para Windows que tenga disponible una versión más reciente, ejecute el siguiente comando:

az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'

Puede revisar la versión de las extensiones de máquina virtual instaladas en cualquier momento ejecutando el comando az connectedmachine extension list. El valor de propiedad typeHandlerVersion representa la versión de la extensión.

Eliminación de extensiones

Para quitar una extensión de máquina virtual instalada en el servidor habilitado para Azure Arc, use az connectedmachine extension delete con los parámetros --extension-name, --machine-name y --resource-group.

Por ejemplo, para quitar la extensión de VM de Log Analytics para Linux, ejecute el siguiente comando:

az connectedmachine extension delete --machine-name "myMachineName" --name "OmsAgentForLinux" --resource-group "myResourceGroup"

Pasos siguientes