Уведомления о ресурсах Azure — события AKS Resources в службе "Сетка событий Azure" (предварительная версия)

Диспетчер флота Azure Kubernetes предназначен для обновления нескольких кластеров AKS в безопасном и управляемом режиме. Служба Fleet Manager позволяет создавать рабочие процессы, обновляющие кластеры Kubernetes в определенной последовательности. Так как обновления несут значительный риск, клиенты обычно проверяют метрики работоспособности до и после каждого обновления, чтобы предотвратить простой или регрессию. Чтобы улучшить этот процесс, диспетчер автопарков поддерживает утверждения через использование ресурса «Гейт». Шлюзы позволяют клиентам утверждать обновления по мере выполнения рабочего процесса, предоставляя больший контроль над процессом модернизации нескольких кластеров. Ресурсы AKS предлагают 3 типа событий для Azure Kubernetes Fleet Manager Update Run Gates: FleetGateCreatedFleetGateUpdated и FleetGateDeleted.

В этой статье содержатся свойства и схема событий ресурсов AKS в Azure. Общие сведения о схемах событий см. в схеме событий Сетки событий Azure. Кроме того, можно найти примеры созданных событий и ссылку на связанную статью о том, как создать системный раздел для этого типа раздела.

Типы событий

Ресурсы AKS предлагают три типа событий для потребления:

Тип события Description
Microsoft.ResourceNotifications.AKSResources.FleetGateCreated Вызывается, когда запуск обновления Диспетчера флота Azure Kubernetes достигает экземпляра ресурса Gate.
Microsoft.ResourceNotifications.AKSResources.FleetGateUpdated Вызывается при изменении состояния ресурса шлюза выполнения обновления диспетчера флота Azure Kubernetes (от ожидания к завершению).
Microsoft.ResourceNotifications.AKSResources.FleetGateDeleted Вызывается при удалении запуска обновления Диспетчера флота Azure Kubernetes, содержащего экземпляр шлюза.

Управление доступом на основе ролей

В настоящее время эти события генерируются исключительно в области подписки Azure. Это означает, что сущность, создающая подписку на события для этого типа раздела, получает уведомления по всей этой подписке Azure. По соображениям безопасности необходимо ограничить возможность создания подписок на события по этой теме принципалам с доступом на чтение по всей подписке на Azure. Чтобы получить доступ к данным через этот системный раздел, помимо универсальных разрешений, необходимых сетке событий, необходимо следующее разрешение для уведомлений ресурсов Azure. Microsoft.ResourceNotifications/systemTopics/subscribeToAKSResources/action

Схемы событий

Ниже приведена схема:

{
    "id": string,
    "source": string,
    "subject": string,
    "type": string,
    "time ": string, 
    "data": {
        "resourceInfo": {
            "id": string,
            "name": string,
            "type": string,
            "properties": {                           
            }
        },
        "operationalInfo":{
			"resourceEventTime": date-time
		},
        "apiVersion": string 
    }, 
    "specversion": string
}

Событие содержит следующие данные верхнего уровня:

Недвижимость Тип Description
id String Уникальный идентификатор события
source String Подписка Azure, для которой создается этот системный раздел.
subject String Издателем определен путь к базовому ресурсу, с которого это событие испускается.
type String Зарегистрированный тип события для этого системного раздела. Значение может быть одним из следующих: Microsoft.ResourceNotifications.AKSResources.FleetGateCreated, Microsoft.ResourceNotifications.AKSResources.FleetGateUpdated или Microsoft.ResourceNotifications.AKSResources.FleetGateDeleted
time строка
Формат: 2022-11-07T18:43:09.2894075Z
Время генерации события определяется на основе времени UTC поставщика
data Object Содержит данные событий, относящиеся к поставщику ресурсов. Дополнительные сведения см. в следующей таблице.
specversion String Версия спецификации схемы CloudEvents.

Объект data имеет следующие свойства.

Недвижимость Тип Description
resourceInfo Object Данные, относящиеся к ресурсу. Дополнительные сведения см. в следующей таблице.
apiVersion String Версия API свойств ресурса.
operationalInfo Object Сведения об операционной информации, относящейся к ресурсу.

Объект resourceInfo имеет следующие свойства.

Недвижимость Тип Description
id String Определяемый издателем путь к теме события
name String Это поле указывает идентификатор события. Он всегда принимает значение последнего раздела id поля.
type String Тип излучаемого события. В этом контексте это либо Microsoft.ResourceNotifications.AKSResources.FleetGateCreated, Microsoft.ResourceNotifications.AKSResources.FleetGateUpdatedMicrosoft.ResourceNotifications.AKSResources.FleetGateDeleted
properties Object Полезные данные ресурса. Дополнительные сведения см. в следующей таблице.

Объект operationalInfo имеет следующие свойства.

Недвижимость Тип Description
resourceEventTime DateTime Дата и время обновления ресурса.

Объект data имеет следующие свойства.

Свойства для события FleetGateCreated/FleetGateCreated/FleetGateDeleted

            "properties": {
                "displayName": string,
                "gateType": string,
                "provisioningState": string,
                "state": string,
                "target": object
            }

Объект properties имеет следующие свойства.

Недвижимость Тип Description
displayName String Необязательное имя, предоставленное при определении шлюза утверждения в стратегии обновления.
gateType String Тип шлюза. На данный момент существует только один допустимый выбор "Утверждение".
provisioningState String Состояние подготовки ресурса Gate.
state String Состояние Врат. "Ожидает" = ожидание утверждения; "Завершено" = утверждение применено.
target Object Цель, которой управляют Ворота.

Объект target имеет следующие свойства.

Свойства объекта target

            "target": {
                "id": string,
                "updateRunProperties": object,
            }

Описание свойств объекта target

Недвижимость Тип Description
id String Полный идентификатор ресурса Azure для запуска обновления, создающего событие.
updateRunProperties Object Свойства, связанные с выполнением обновления. Дополнительные сведения см. в таблице ниже

Свойства в updateRunProperties объекте

Недвижимость Тип Description
group String Имя группы обновления, где применяется Gate. Присутствует только для групп.
name String Имя запуска обновления, создающего событие.
stage String Имя этапа обновления. Может быть представлено в контрольных точках этапа и групповых контрольных точках внутри этапа.
timing String Определяет, применяется ли шлюз до или после стадии или группы.

Примеры событий

Событие "FleetGateCreated"

В следующем примере показана схема измененного события FleetGateCreated:

  {
    "source": "/subscriptions/{subscription-id}",
    "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/9i567df1-jh3a-281j-8eb8-123ac2el0t60",
    "type": "Microsoft.ResourceNotifications.AksResources.FleetGateCreated",
    "time": "2025-09-09T01:10:58.4955907Z",
    "id": "m7m4mf0x-740g-4c2d-a0ab-a4r8h4uuf018",
    "data": {
      "resourceInfo": {
        "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/9i567df1-jh3a-281j-8eb8-123ac2el0t60",
        "name": "9i567df1-jh3a-281j-8eb8-123ac2el0t60",
        "type": "Microsoft.ContainerService/fleets/gates",
        "properties": {
          "displayName": "before-stage",
          "gateType": "Approval",
          "provisioningState": "Succeeded",
          "state": "Pending",
          "target": {
            "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/updateRuns/run-1",
            "updateRunProperties": {
              "name": "run-1",
              "stage": "stage-1",
              "timing": "Before"
            }
          }
        }
      },
      "operationalInfo": {
        "resourceEventTime": "2025-09-08T18:10:58.4955907-07:00"
      },
      "apiVersion": "2025-04-01-preview"
    },
    "specVersion": "1.0"
  }

Событие «FleetGateUpdated»

В следующем примере показана схема события FleetGateUpdated:

  {
    "source": "/subscriptions/{subscription-id}",
    "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/1k90uy67-e375-4xv6-z220-5197ekk1aka4",
    "type": "Microsoft.ResourceNotifications.AksResources.FleetGateUpdated",
    "time": "2025-09-09T01:12:25.8924289Z",
    "id": "a9f8d51g-c114-4565-buee-5q1jb6fb0b08",
    "data": {
      "resourceInfo": {
        "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/1k90uy67-e375-4xv6-z220-5197ekk1aka4",
        "name": "1k90uy67-e375-4xv6-z220-5197ekk1aka4",
        "type": "Microsoft.ContainerService/fleets/gates",
        "properties": {
          "displayName": "before group",
          "gateType": "Approval",
          "provisioningState": "Succeeded",
          "state": "Completed",
          "target": {
            "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/updateRuns/run-1",
            "updateRunProperties": {
              "group": "group-1",
              "name": "run-1",
              "stage": "stage-1",
              "timing": "Before"
            }
          }
        }
      },
      "operationalInfo": {
        "resourceEventTime": "2025-09-08T18:12:25.8924289-07:00"
      },
      "apiVersion": "2025-04-01-preview"
    },
    "specVersion": "1.0"
  }

Событие FleetGateDeleted

В следующем примере показана схема измененного события FleetGateDeleted:

  {
    "source": "/subscriptions/{subscription-id}",
    "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/8a63212d-9dp1-4oa6-8135-14ghghg311ea6",
    "type": "Microsoft.ResourceNotifications.AksResources.FleetGateDeleted",
    "time": "2025-09-22T09:01:22.5495164Z",
    "id": "48e92180-a34e-57b2-b989-7056ccd42c0b",
    "data": {
      "resourceInfo": {
        "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/gates/8a63212d-9dp1-4oa6-8135-14ghghg311ea6",
        "name": "8a63212d-9dp1-4oa6-8135-14ghghg311ea6",
        "type": "Microsoft.ContainerService/fleets/gates",
        "properties": {
          "displayName": "stage-after",
          "gateType": "Approval",
          "provisioningState": "Succeeded",
          "state": "Pending",
          "target": {
            "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.ContainerService/fleets/{fleet-name}/updateRuns/run-delete",
            "updateRunProperties": {
              "name": "run-delete",
              "stage": "stage-1",
              "timing": "After"
            }
          }
        }
      },
      "operationalInfo": {
        "resourceEventTime": "2025-09-22T02:01:22.5495164-07:00"
      },
      "apiVersion": "2025-04-01-preview"
    },
    "specVersion": "1.0"
  }

Свяжитесь с нами

Если у вас есть вопросы или отзывы об этой функции, не стесняйтесь обратиться к нам по этой ссылке stackoverflow

Чтобы лучше помочь вам с конкретным отзывом о определенном событии, укажите следующие сведения:

Для отсутствующих событий:

  • Название типа системной темы
  • Приблизительная метка времени в формате UTC при выполнении операции
  • Базовый идентификатор ресурса, для которого было создано уведомление
  • Перейдите к ресурсу на портале Azure и выберите представление JSON в правом верхнем углу. Идентификатор ресурса — это первое поле на странице представления JSON.
  • Ожидаемый тип события
  • Операция выполнена (например, запущена или остановлена виртуальная машина, созданная учетная запись хранения и т. д.)
  • Описание возникной проблемы (например, виртуальная машина запущена и не создано событие Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged)
  • Если это возможно, укажите идентификатор корреляции выполненной операции.

Для события, которое было отложено или имеет непредвиденное содержимое

  • Название типа системной темы
  • Все содержимое уведомления, за исключением data.resourceInfo.properties
  • Описание проблем, возникающих и затронутых значений полей

Убедитесь, что вы не предоставляете информацию, позволяющую идентифицировать пользователя, при совместном использовании этих данных.

Дальнейшие шаги

См . статью "Подписка на уведомления о ресурсах Azure" — события AKS Resources.