Tutorial: Actualización de los nodos de host de contenedor de Linux en Azure

El host de contenedor de Linux en Azure incluye actualizaciones a través de dos mecanismos: imágenes de nodos de Linux en Azure actualizadas y actualizaciones automáticas de paquetes.

Como parte del ciclo de vida de la aplicación y del clúster, se recomienda mantener los clústeres actualizados y protegidos mediante la habilitación de las actualizaciones del clúster. Puede habilitar las actualizaciones automáticas de la imagen de nodo para garantizar que los clústeres usen la imagen más reciente de Azure Linux Container Host cuando se amplíen. También puede actualizar manualmente la imagen de nodo en un clúster.

En este tutorial, la parte cinco de cinco, aprenderá a:

  • Actualice manualmente la imagen de nodo en un clúster.
  • Actualizar automáticamente un clúster de host de contenedor de Linux en Azure.
  • Implementar Kured en un clúster de hosts de contenedor de Linux en Azure.

Los comandos de este tutorial usan las variables de entorno establecidas en Tutorial 1: Creación de un clúster con el host de contenedor de Linux Azure para AKS y Tutorial 2: Agregar un grupo de nodos de Azure Linux al clúster de AKS existente.

Note

Cualquier operación de actualización, ya sea que se realice manual o automáticamente, actualizará la versión de la imagen del nodo si aún no está en la más reciente. La última versión depende de un lanzamiento completo de AKS, y puede determinarse visitando el rastreador de lanzamientos de AKS.

Prerrequisitos

Actualización manual del clúster

Actualice manualmente la imagen de nodo en un clúster mediante el az aks nodepool upgrade comando .

az aks nodepool upgrade --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --name $NODE_POOL_NAME

Actualización automática del clúster

Las actualizaciones automáticas son funcionalmente las mismas que las actualizaciones manuales. El canal seleccionado determina el calendario de las actualizaciones. Al realizar cambios en la actualización automática, permita que pasen 24 horas para que los cambios surtan efecto.

Establezca el canal de actualización automática en un clúster existente mediante el comando az aks update con el parámetro --auto-upgrade-channel. En el ejemplo siguiente se establece el canal de actualización automática en stable para un clúster existente:

az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --auto-upgrade-channel stable

Ejemplo de resultado:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
  "location": "WestUS2",
  "name": "testAzureLinuxCluster",
  "properties": {
    "autoUpgradeChannel": "stable",
    "provisioningState": "Succeeded"
  }
}

Para más información sobre los canales de actualización, consulte Uso de la actualización automática del clúster.

Habilitación de actualizaciones automáticas de paquetes

También puede habilitar las actualizaciones automáticas de paquetes. Si se habilitan las actualizaciones automáticas de paquetes, el servicio del sistema dnf-automatic se ejecuta diariamente e instala los paquetes actualizados que se han publicado.

Establezca el canal de actualización del sistema operativo del nodo en un clúster existente usando el comando az aks update con el parámetro --node-os-upgrade-channel. En el ejemplo siguiente se establece el canal de actualización del sistema operativo del nodo en Unmanaged para un clúster existente:

az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-os-upgrade-channel Unmanaged

Ejemplo de resultado:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
  "location": "WestUS2",
  "name": "testAzureLinuxCluster",
  "properties": {
    "nodeOsUpgradeChannel": "Unmanaged",
    "provisioningState": "Succeeded"
  }
}

Habilitación de un demonio de reinicio automático

Para proteger los clústeres, las actualizaciones de seguridad se aplican automáticamente a los nodos de Linux en Azure. Estas actualizaciones incluyen correcciones de seguridad del sistema operativo, actualizaciones de kernel y actualizaciones de paquetes. Algunas de estas actualizaciones requieren un reinicio del nodo para completar el proceso. AKS no reinicia automáticamente estos nodos para completar el proceso de actualización.

Se recomienda habilitar un demonio de reinicio automático, como Kured, para que el clúster pueda reiniciar los nodos que han realizado actualizaciones del kernel. Para implementar Kured DaemonSet en un clúster de hosts de contenedor de Linux en Azure, consulte Implementación de Kured en un clúster de AKS.

Limpieza de recursos

Como este tutorial es la última parte de la serie, es posible que desee eliminar el clúster de host de contenedor de Linux de Azure. Los nodos de Kubernetes se ejecutan en máquinas virtuales de Azure (VM) y siguen generando cargos aunque no utilice el clúster.

Elimine el grupo de recursos Azure y todos los recursos relacionados mediante el comando az group delete.

az group delete --name $RESOURCE_GROUP --yes --no-wait

Pasos siguientes

En este tutorial, actualizó el clúster de hosts de contenedor de Linux en Azure.

Para más información sobre el host de contenedor de Linux en Azure, consulte Introducción al host de contenedor de Linux en Azure.