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.
El administrador de comunicación de Azure Kubernetes Service (AKS) simplifica las notificaciones de todas las tareas de mantenimiento de AKS mediante notificaciones de recursos de Azure y marcos de Azure Resource Graph. El administrador de comunicaciones proporciona alertas oportunas sobre desencadenadores de eventos y resultados, de modo que pueda supervisar estrechamente las actualizaciones.
Si se produce un error en el mantenimiento, el administrador de comunicaciones le notifica los motivos del error. Esta información reduce las molestias operativas relacionadas con la observabilidad y los seguimientos.
Siguiendo los pasos de este artículo, puede configurar notificaciones para todos los tipos de actualizaciones automáticas que usan ventanas de mantenimiento.
Requisitos previos
Configure el clúster para el canal de actualización automática o el canal de actualización automática para los nodos.
Cree una ventana de mantenimiento planeado para la configuración de actualizaciones automáticas.
Configuración del administrador de comunicaciones
En Azure Portal, vaya al recurso.
Seleccione Supervisión>Alertas>Reglas de alertas, y a continuación, seleccione Crear.
En la pestaña Condición , en Nombre de señal, seleccione Búsqueda de registros personalizada.
En el cuadro Buscar consulta , pegue una de las siguientes consultas personalizadas. Asegúrese de actualizar la ruta de acceso
where id containspara hacer referencia a sus recursos para el id. de suscripción, el nombre del grupo de recursos y el nombre del clúster.La consulta siguiente es para notificaciones de actualizaciones automáticas para clústeres:
arg("").containerserviceeventresources | where type == "microsoft.containerservice/managedclusters/scheduledevents" | where id contains "/subscriptions/<subid>/resourcegroups/<rgname>/providers/Microsoft.ContainerService/managedClusters/<clustername>" | where properties has "eventStatus" | extend status = substring(properties, indexof(properties, "eventStatus") + strlen("eventStatus") + 3, 50) | extend status = substring(status, 0, indexof(status, ",") - 1) | where status != "" | where properties has "eventDetails" | extend upgradeType = case( properties has "K8sVersionUpgrade", "K8sVersionUpgrade", properties has "NodeOSUpgrade", "NodeOSUpgrade", "" ) | extend details = parse_json(tostring(properties.eventDetails)) | where properties has "lastUpdateTime" | extend eventTime = substring(properties, indexof(properties, "lastUpdateTime") + strlen("lastUpdateTime") + 3, 50) | extend eventTime = substring(eventTime, 0, indexof(eventTime, ",") - 1) | extend eventTime = todatetime(tostring(eventTime)) | where eventTime >= ago(30m) // Ensure this matches aggregation granularity & frequency | where upgradeType == "K8sVersionUpgrade" | project eventTime, upgradeType, status, properties, name, details | order by eventTime ascLa consulta siguiente es para las notificaciones de actualizaciones automáticas para NodeOS:
arg("").containerserviceeventresources | where type == "microsoft.containerservice/managedclusters/scheduledevents" | where id contains "/subscriptions/<subid>/resourcegroups/<rgname>/providers/Microsoft.ContainerService/managedClusters/<clustername>" | where properties has "eventStatus" | extend status = substring(properties, indexof(properties, "eventStatus") + strlen("eventStatus") + 3, 50) | extend status = substring(status, 0, indexof(status, ",") - 1) | where status != "" | where properties has "eventDetails" | extend upgradeType = case( properties has "K8sVersionUpgrade", "K8sVersionUpgrade", properties has "NodeOSUpgrade", "NodeOSUpgrade", "" ) | extend details = parse_json(tostring(properties.eventDetails)) | where properties has "lastUpdateTime" | extend eventTime = substring(properties, indexof(properties, "lastUpdateTime") + strlen("lastUpdateTime") + 3, 50) | extend eventTime = substring(eventTime, 0, indexof(eventTime, ",") - 1) | extend eventTime = todatetime(tostring(eventTime)) | where eventTime >= ago(30m) // Ensure this matches aggregation granularity & frequency | where upgradeType == "NodeOSUpgrade" | project eventTime, upgradeType, status, properties, name, details | order by eventTime ascVaya a la pestaña Condición . Configure las condiciones de alerta con los valores siguientes:
- Medida: seleccione Filas de tabla.
- Tipo de agregación: seleccione Recuento.
- Granularidad de agregación: seleccione 30 minutos.
- Valor de umbral: mantenga en 0.
- Dividir por dimensiones: en Nombre de dimensión, seleccione estado. A continuación, active la casilla Incluir todos los valores futuros .
En el área Dividir por dimensiones , en Valores de dimensión, seleccione un valor. Dado que seleccionó el estado del nombre de dimensión, los valores disponibles son Scheduled, Started, Completed, Canceled y Failed.
Nota:
Estos valores de estado solo aparecen si el clúster ejecutó previamente operaciones de actualización automática. Para los nuevos clústeres o para los clústeres que aún no se han realizado actualizaciones automáticas, la lista desplegable puede aparecer vacía o mostrar ninguna dimensión disponible. Después de que el clúster realice su primera actualización automática, estos valores de estado estarán disponibles para la selección.
Vaya a la pestaña Acciones . Asegúrese de que existe un grupo de acciones con la dirección de correo electrónico correcta para que pueda recibir las notificaciones:
Seleccione Usar grupos> de accionesCrear un grupo de acciones.
En Tipo de notificación, seleccione Email/SMS_message/Push/Voice.
Active la casilla Correo electrónico y escriba la dirección de correo electrónico en el cuadro Correo electrónico .
Vaya a la pestaña Detalles . Asigne una identidad administrada para que pueda conceder acceso a los recursos necesarios. En el área Identidad , seleccione Identidad administrada asignada por el sistema.
Vaya a la pestaña Revisar y crear y, a continuación, seleccione Crear.
Ahora que ha creado la regla de alertas, puede asignar los roles adecuados para la identidad administrada:
- En la regla de alertas, vaya a Configuración>Identidad>Identidad Administrada Asignada por el Sistema>Asignaciones de Roles de Azure.
- Seleccione Agregar asignación de roles, seleccione el rol Lector y asígnelo al grupo de recursos.
- Seleccione Agregar asignación de roles de nuevo, seleccione el rol Lector y asígnelo a la suscripción.
Sugerencia
Si no ve la opción Identidad , asegúrese de que ha creado la regla de alerta y de que tiene los permisos necesarios.
Después de configurar el administrador de comunicaciones, envía avisos anticipados una semana antes de que se inicie el mantenimiento y un día antes de que se inicie el mantenimiento. También envía alertas oportunas durante la operación de mantenimiento.
Comprobación de la configuración
Para actualizar el clúster, espere a que se inicie el actualizador automático. A continuación, compruebe que recibe avisos en la dirección de correo electrónico que configuró para recibir avisos.
Compruebe la base de datos de Azure Resource Graph para obtener el registro de notificación programado. Cada notificación de eventos programadas debe aparecer como un registro en la ContainerServiceEventResources tabla.