Uso del mantenimiento planeado para programar actualizaciones para los miembros de Application Network de Azure Kubernetes (versión preliminar)

Importante

Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y 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:

En este artículo se muestra cómo usar el mantenimiento planeado para programar actualizaciones de componentes para los miembros de Application Network de Azure Kubernetes.

Información general sobre el mantenimiento planeado para Application Network

Las operaciones de mantenimiento hacen referencia a la actualización de componentes del plano de datos en clúster y componentes del plano de control de red de aplicaciones que se ejecutan fuera del clúster, como Istiod.

Dos de los componentes clave del clúster son los servidores proxy de nodo ztunnel e Istio CNI. Estos recursos son DaemonSets por nodo, por lo que sus actualizaciones afectan a todo un nodo a la vez y pueden provocar interrupciones de las conexiones TCP de larga duración. Para aislar las interrupciones del nodo en una ventana común, Application Network utiliza el mismo aksManagedNodeOSUpgradeSchedule calendario de mantenimiento que las actualizaciones automáticas del sistema operativo (SO) del nodo de Azure Kubernetes Service (AKS), si se ha configurado.

Tenga en cuenta que, aunque la ventana de mantenimiento es la misma, las actualizaciones de miembros de Application Network y las actualizaciones del sistema operativo del nodo son eventos independientes dentro de la ventana que se producen para uno o ambos componentes, en función de la disponibilidad de las actualizaciones. Ninguna actualización afecta al tiempo ni al proceso del otro. Si ambos componentes se actualizan dentro de la misma ventana, puede haber interrupciones de conexión independientes para cada actualización dentro de esa ventana.

Nota:

No es necesario activar las actualizaciones automáticas del sistema operativo del nodo para programar el mantenimiento de la Red de Aplicaciones. La creación de un aksManagedNodeOSUpgradeSchedule nodo no habilita ni deshabilita las actualizaciones automáticas del sistema operativo del nodo.

Prerrequisitos

  • Un clúster existente de AKS se incorporó como miembro de un recurso de red de aplicaciones. Si aún no tiene un recurso de Application Network o aún no ha incorporado el clúster, consulte Introducción a Azure Kubernetes Application Network.
  • La versión de la CLI de Azure es la 2.84.0 o posterior. Compruebe la versión con el comando az --version. Para instalar o actualizar, consulte Instalación de la CLI de Azure.
  • Se recomienda revisar la documentación de la ventana mantenimiento para comprender los campos de configuración y cómo funcionan las ventanas de mantenimiento en AKS.

Consideraciones

Tenga en cuenta las siguientes consideraciones al usar el mantenimiento planeado para programar actualizaciones de Application Network:

  • Application Network se reserva el derecho de interrumpir las ventanas de mantenimiento planeado para las operaciones de mantenimiento no planeadas y reactivas que son urgentes o críticas. Estas operaciones de mantenimiento pueden incluso ejecutarse durante los períodos de notAllowedTime o notAllowedDates definidos en la configuración.
  • Las operaciones de mantenimiento se consideran mejor esfuerzo solo y no se garantiza que se produzcan dentro de una ventana especificada.
  • Si no se completa una actualización intentada cuando se cierra la ventana, continúa intentando la reconciliación hasta que se complete.

Comportamiento específico del modo

Puede usar el mantenimiento planeado para programar el tiempo de las actualizaciones totalmente administradas y las actualizaciones autoadministradas, pero habilitar o deshabilitar el mantenimiento planeado no afecta al propio modo de actualización. Las ventanas de mantenimiento controlan diferentes tipos de actualizaciones dependiendo del modo de actualización del clúster.

  • Modo totalmente administrado: las ventanas de mantenimiento de actualización regulan tanto las actualizaciones menores como las de revisión. Sin embargo, si inicia un cambio en el canal de versión, el cambio de versión asociado surte efecto inmediatamente.
  • Modo autoadministrado: las ventanas de mantenimiento solo se aplican a las actualizaciones de revisiones. Si inicia un cambio de versión secundaria, surte efecto inmediatamente.

Agregar una ventana de mantenimiento

  • Agregue una aksManagedNodeOSUpgradeSchedule configuración de ventana de mantenimiento a un clúster de AKS mediante el comando az aks maintenanceconfiguration add. En el ejemplo siguiente se agrega una nueva aksManagedNodeOSUpgradeSchedule configuración que programa el mantenimiento para que se ejecute cada tercer viernes entre las 12:00 y las 8:00 am en la UTC+5:30 zona horaria:

    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
    

Actualización de una ventana de mantenimiento existente

  • Actualice una configuración de mantenimiento existente mediante el az aks maintenanceconfiguration update comando . En el ejemplo siguiente se actualiza la aksManagedNodeOSUpgradeSchedule configuración para programar el mantenimiento para que se ejecute cada viernes de las 2:00 a las 6:00:

    az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 02:00
    

Mostrar la configuración de mantenimiento de un clúster

  • Vea una ventana específica de configuración de mantenimiento en el clúster de AKS mediante el comando az aks maintenanceconfiguration show con el parámetro --name.

    az aks maintenanceconfiguration show --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule
    

    En la salida de ejemplo siguiente se muestra la ventana de mantenimiento para aksManagedNodeOSUpgradeSchedule:

    {
      "id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule",
      "maintenanceWindow": {
        "durationHours": 4,
        "notAllowedDates": [
          {
            "end": "2024-01-05",
            "start": "2023-12-23"
          }
        ],
        "schedule": {
          "absoluteMonthly": {
            "dayOfMonth": 1,
            "intervalMonths": 3
          },
          "daily": null,
          "relativeMonthly": null,
          "weekly": null
        },
        "startDate": "2023-01-20",
        "startTime": "09:00",
        "utcOffset": "-08:00"
      },
      "name": "aksManagedNodeOSUpgradeSchedule",
      "notAllowedTime": null,
      "resourceGroup": "myResourceGroup",
      "systemData": null,
      "timeInWeek": null,
      "type": null
    }
    

Eliminación de una configuración de mantenimiento para un clúster

  • Elimine una ventana de configuración de mantenimiento en el clúster de AKS mediante el az aks maintenanceconfiguration delete comando .

    az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule
    

Para más información sobre Azure Kubernetes Application Network, consulte los artículos siguientes: