Compartir a través de


Deshabilitación de la característica de grupo de nodos de Windows en Azure Local

Se aplica a: Azure Local, versión 23H2

Al instalar Azure Local, se descargan automáticamente tres discos duros virtuales (VHD): Azure Linux, Windows Server 2019 y Windows Server 2022. Los discos duros virtuales son necesarios para implementar AKS en Azure Local porque sirven como imágenes de sistema operativo base para los nodos de Kubernetes dentro del clúster de AKS. Para un entorno de sistema operativo mixto (nodos de Windows y Linux), se necesita un disco duro virtual de Windows Server 2019 o Windows Server 2022 para aprovisionar un grupo de nodos de Windows Server 2019 o 2022. El grupo de nodos de Linux usa el VHD de Linux de Azure optimizado para ejecutar Kubernetes. Sin embargo, en entornos en los que solo se usan contenedores de Linux, el VHD de Windows no es necesario. Puede deshabilitar la característica de grupo de nodos de Windows para evitar la descarga y el almacenamiento de este archivo grande, lo que ahorra ancho de banda y espacio de almacenamiento.

En este artículo de procedimientos se explica cómo deshabilitar la característica de grupo de nodos de Windows para Azure Kubernetes Service (AKS) en Azure Local. Deshabilitar esta característica impide la descarga automática de discos duros virtuales (VHD) de Windows, que tienen un tamaño aproximado de 20 GB y son necesarios para crear grupos de nodos basados en Windows. Al hacerlo, las empresas con ancho de banda limitado de Internet pueden evitar descargas innecesarias, especialmente si sus cargas de trabajo usan exclusivamente contenedores de Linux. Esta característica ayuda a optimizar el uso del ancho de banda y simplifica la administración de recursos para entornos en los que no se necesitan nodos de Windows.

Antes de empezar

Asegúrese de que cumple los siguientes requisitos previos antes de empezar:

  • Azure Local implementado. Este artículo solo es aplicable si ya ha implementado Azure Local, versión 2411. No puede ejecutar los comandos de este artículo antes de implementar la versión 2411 de Azure Local. Actualmente no se admite la capacidad de realizar este cambio antes de la implementación inicial de la versión 2411 de Azure Local.
  • Permisos de RBAC de Azure para actualizar la configuración local de Azure. Asegúrese de que tiene los siguientes roles. Para obtener más información, consulte permisos necesarios para la implementación:
    • Administrador local de Azure
    • Lector
  • Ubicación personalizada. Nombre de la ubicación personalizada. La ubicación personalizada se configura durante la implementación local de Azure. Si está en Azure Portal, vaya a la página Servidor de información general > del recurso del sistema local de Azure. Debería ver una ubicación personalizada para el clúster.
  • Grupo de recursos de Azure. El grupo de recursos de Azure en el que se implementa Azure Local.

Para ayudar a simplificar la configuración, los pasos siguientes definen las variables de entorno a las que se hace referencia en este artículo. Recuerde reemplazar los valores que se muestran por sus propios valores.

Establezca la ubicación personalizada y los valores del grupo de recursos en las variables de entorno:

$customlocationName = <The custom location name for Azure Local>
$resourceGroup = <The Azure resource group in which Azure Local is deployed>

A continuación, ejecute el siguiente comando para obtener el clusterName parámetro . Este parámetro es el nombre del puente de recursos de Arc que implementó en Azure Local:

az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId

Resultado esperado:

/subscriptions/f3dwer-00000-4383-2345-00000/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge

En esta salida, sanjose-arcbridge es el nombre del puente de recursos de Arc que implementó en el clúster local de Azure. Este nombre es diferente para la implementación.

$clusterName = <Name of Arc resource bridge deployed on the Azure Local cluster>

A continuación, obtenga el nombre de la extensión de AKS Arc que implementó en la ubicación personalizada. Para obtener este nombre, ejecute el siguiente comando para enumerar las extensiones instaladas en la ubicación personalizada:

az customlocation show -n $customlocationID -g $resourceGroup --query clusterExtensionIds -o tsv

Resultado esperado:

/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/hybridaksextension
/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/vmss-hci

Debe tener dos extensiones instaladas en la ubicación personalizada: administración de máquinas virtuales de AKS Arc y Arc. Copie el nombre de la extensión de AKS en una variable de entorno. En la salida de ejemplo, el nombre de la extensión es hybridaksextension. Puede ser diferente de lo que ve:

$extensionName = <Name of AKS Arc extension you deployed on the custom location>

Después de tener el nombre de la extensión, cree variables para los parámetros siguientes y, a continuación, deshabilite la característica grupo de nodos de Windows:

$extensionVersion = "$(az k8s-extension show -n $extensionName  -g $resourceGroup -c $clusterName --cluster-type appliances --query version -o tsv)"
$releaseTrain = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query releaseTrain -o tsv)"
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes

Opción alternativa: deshabilitar el grupo de nodos de Windows después de conectarse a un nodo físico local de Azure a través de Escritorio remoto

Si por algún motivo no puede usar Azure CloudShell o una máquina con conectividad a Azure para deshabilitar el grupo de nodos de Windows, puede deshabilitar el grupo de nodos de Windows después de conectarse a cualquiera de los nodos físicos locales de Azure con Escritorio remoto. Primero debe iniciar sesión en Azure:

az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes 

Validar si la característica de grupo de nodos de Windows está deshabilitada

Puede comprobar si se aplicaron las opciones de configuración mediante la ejecución az k8s-extension showde , como se indica a continuación:

az k8s-extension show --name $extensionName --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --query configurationSettings 

Resultado esperado:

...
"disable-windows-nodepool": "true",
...

A continuación, compruebe si los grupos de nodos de Windows estaban deshabilitados mediante la ejecución del siguiente comando:

az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationName

La salida osType=Windows de debe indicar "La característica de grupo de nodos de Windows está deshabilitada" y el ready estado debe ser false, para cada opción de versión de Kubernetes:

...
"1.27.7": {
            "readiness": [
              {
                "errorMessage": null,
                "osSku": "CBLMariner",
                "osType": "Linux",
                "ready": true
              },
              {
                "errorMessage": "Windows nodepool feature is disabled",
                "osSku": "Windows2019",
                "osType": "Windows",
                "ready": false
              },
              {
                "errorMessage": "Windows nodepool feature is disabled",
                "osSku": "Windows2022",
                "osType": "Windows",
                "ready": false
              }
            ],
...

Preguntas más frecuentes

¿Qué ocurre si intento deshabilitar el grupo de nodos de Windows y los grupos de nodos de Windows en el clúster de AKS 1 de la implementación local de Azure?

Debe eliminar el grupo de nodos de Windows manualmente antes de deshabilitar la característica. Si hay grupos de nodos de Windows existentes, no se puede deshabilitar la característica.

¿Qué ocurre con los VHD de Windows descargados si deshabilito los grupos de nodos de Windows?

Los discos duros virtuales de Windows que se descargaron anteriormente se eliminan automáticamente si la característica Grupos de nodos de Windows está deshabilitada. Puede comprobar si los VHD de Windows se quitaron de las rutas de acceso de almacenamiento local de Azure. La eliminación puede tardar algún tiempo. Espere 30 minutos antes de comprobarlo. Debe comprobar todas las rutas de acceso de almacenamiento, ya que los VHD de Windows se asignan a las rutas de acceso de almacenamiento de forma round robin, en función de la capacidad de almacenamiento disponible.

Pasos siguientes