Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo configurar y administrar la directiva de interrupción del nodo para controlar cuándo se permiten las operaciones que requieren la nueva imagen del nodo y la reimplementación del nodo desencadenador en el clúster de Azure Kubernetes Service (AKS).
Prerequisites
- Revise la introducción a la directiva de interrupción del nodo para obtener información sobre cómo funciona la directiva de interrupción del nodo y las operaciones cubiertas por la directiva de interrupción de nodo.
- CLI de Azure versión 2.76.0 o posterior instalada y configurada. Para buscar la versión de la CLI, ejecute el
az --versioncomando . Si necesita instalar o actualizar, consulte Install CLI de Azure. - Un clúster de AKS existente, o bien crear uno nuevo con la Directiva de interrupción de nodos configurada.
-
Instale la
aks-previewextensión CLI de Azure y registre la característica de vista previa de la directiva de interrupción del nodo.
Importante
Las características en versión preliminar de AKS están disponibles en modalidad de autoservicio y previa suscripción. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y la garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:
Instalación de la extensión aks-preview CLI de Azure
Instale la extensión
aks-previewmediante el comandoaz extension add.az extension add --name aks-previewActualiza a la última versión de la extensión mediante el comando
az extension update.az extension update --name aks-preview
Registro de la característica de versión preliminar de la directiva de interrupción del nodo
Registre la característica de vista previa de la directiva de interrupción del nodo mediante el az feature register comando .
az feature register --namespace "Microsoft. ContainerService" --name "NodeDisruptionProfile"
El estado tarda unos minutos en mostrarse como Registrado.
Configurar la política de interrupción de nodos en un clúster nuevo
Cree un clúster nuevo de AKS con la Directiva de interrupción de nodo configurada mediante el comando az aks create, con el parámetro --node-disruption-policy establecido en una de las siguientes configuraciones de directiva: Allow (valor predeterminado), AllowDuringMaintenanceWindow o Block.
Permitir operaciones disruptivas en cualquier momento (valor predeterminado)
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Allow \
--generate-ssh-keys
Permitir operaciones disruptivas solo durante las ventanas de mantenimiento
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy AllowDuringMaintenanceWindow \
--generate-ssh-keys
Importante
Al usar AllowDuringMaintenanceWindow, asegúrese de configurar una aksManagedNodeOSUpgradeSchedule ventana de mantenimiento. De lo contrario, las operaciones disruptivas se permiten indefinidamente. Para obtener más información, consulte Uso del mantenimiento planeado para programar y controlar las actualizaciones del clúster de Azure Kubernetes Service.
Bloquear todas las operaciones disruptivas
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-disruption-policy Block \
--generate-ssh-keys
Actualizar la directiva de interrupción del nodo en un clúster existente
Actualice la directiva de interrupción de nodos de un clúster de AKS existente mediante el comando az aks update con el parámetro --node-disruption-policy establecido en una de las siguientes configuraciones de directiva: Allow (valor predeterminado), AllowDuringMaintenanceWindow o Block.
Cambiar la directiva para permitir las operaciones durante las ventanas de mantenimiento
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy AllowDuringMaintenanceWindow
Cambiar la directiva para bloquear todas las operaciones perjudiciales
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Block
Volver a cambiar la directiva para permitir las operaciones en cualquier momento
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-disruption-policy Allow
Comprobación de la configuración de la directiva de interrupción del nodo
Compruebe la configuración de la directiva de interrupción del nodo mediante el az aks show comando .
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster \
--query "nodeDisruptionProfile.nodeDisruptionPolicy" \
--output tsv
La salida muestra la configuración de directiva actual, como Allow, AllowDuringMaintenanceWindowo Block.
Gestionar operaciones bloqueadas
Cuando la directiva de interrupción del nodo bloquea una operación disruptiva, puede esperar a la ventana de mantenimiento o cambiar temporalmente la directiva.
Espere a la ventana de mantenimiento
Si usa AllowDuringMaintenanceWindow, programe la operación para que se produzca durante la siguiente ventana de mantenimiento. Puede ver las ventanas de mantenimiento configuradas mediante el az aks maintenanceconfiguration list comando .
az aks maintenanceconfiguration list \
--resource-group myResourceGroup \
--cluster-name myAKSCluster
Cambiar temporalmente la directiva
Actualice la directiva para
Allowmediante el comandoaz aks updatecon--node-disruption-policyconfigurado enAllow.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy AllowRealice la operación disruptiva. En el ejemplo siguiente se actualizan los certificados de entidad de certificación personalizados mediante el
az aks updatecomando :az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --custom-ca-trust-certificates <path-to-certificate-file>Restaure la directiva original mediante el
az aks updatecomando . En el ejemplo siguiente se restaura--node-disruption-policyaBlock:az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-disruption-policy Block
Operaciones que requieren la actualización manual del grupo de nodos
Algunas operaciones que la directiva de interrupción del nodo no controla requieren una actualización manual del grupo de nodos después de realizar ningún cambio de configuración. Entre las operaciones se incluyen:
- Cambios en la configuración de SSH, como el cambio de métodos de acceso SSH o la actualización de claves públicas SSH.
- Cambios en la restricción de IMDS, como habilitar o deshabilitar la restricción de IMDS.
- Cambios de nombre de ACR en el perfil de arranque para clústeres con aislamiento de red.
- Cambios en el tipo de tráfico saliente, como cambiar el enrutamiento de salida del clúster.
Para estas operaciones, debe ejecutar manualmente el az aks nodepool upgrade comando después de realizar el cambio de configuración. Por ejemplo:
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name <nodepool-name> \
--node-image-only
Para obtener más información sobre las operaciones cubiertas por la directiva de interrupción del nodo, consulte introducción a la directiva de interrupción del nodo.
Solucionar problemas de Node Disruption Policy
Operación bloqueada inesperadamente
Si una operación se bloquea inesperadamente, siga estos pasos para solucionar el problema:
Compruebe la configuración de directiva actual mediante el
az aks showcomando .az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query "nodeDisruptionProfile.nodeDisruptionPolicy" \ --output tsvSi usa
AllowDuringMaintenanceWindow, compruebe la configuración de la ventana de mantenimiento mediante elaz aks maintenanceconfiguration showcomando .az aks maintenanceconfiguration show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name aksManagedNodeOSUpgradeScheduleCompruebe si la hora actual está dentro de la ventana de mantenimiento.
No hay ninguna ventana de mantenimiento configurada
Si establece la directiva en AllowDuringMaintenanceWindow, pero no configura una ventana de mantenimiento, todas las operaciones disruptivas están permitidas.
Configure una ventana de mantenimiento mediante el az aks maintenanceconfiguration add comando .
az aks maintenanceconfiguration add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name aksManagedNodeOSUpgradeSchedule \
--schedule-type Weekly \
--day-of-week Sunday \
--interval-weeks 1 \
--duration 4 \
--start-hour 2