Отправка данных Prometheus в Azure Monitor с помощью проверки подлинности microsoft Entra pod(предварительная версия)

В этой статье описывается настройка удаленной записи для управляемой службы Azure Monitor для Prometheus с помощью проверки подлинности управляемого удостоверения (предварительная версия) Microsoft Entra pod.

Примечание.

Контейнер на стороне удаленной записи, описанный в этой статье, должен быть настроен только с помощью следующих шагов, и только если кластер Служба Azure Kubernetes (AKS) уже включен пакет pod Microsoft Entra. Удостоверения, управляемые модулем pod Microsoft Entra, устарели для замены Идентификация рабочей нагрузки Microsoft Entra. Рекомендуется использовать проверку подлинности Идентификация рабочей нагрузки Microsoft Entra.

Необходимые компоненты

Поддерживаемые версии

Версии Prometheus, превышающие версию 2.45, требуются для проверки подлинности управляемого удостоверения.

Рабочая область Azure Monitor

В этой статье описывается отправка метрик Prometheus в рабочую область Azure Monitor. Сведения о создании рабочей области Azure Monitor см. в статье "Управление рабочей областью Azure Monitor".

Разрешения

разрешения Администратор istrator для кластера или ресурса необходимы для выполнения действий, описанных в этой статье.

Настройка приложения для управляемого удостоверений Microsoft Entra pod

Процесс настройки удаленной записи Prometheus для приложения с помощью проверки подлинности управляемого удостоверений Pod Microsoft Entra включает выполнение следующих задач:

  1. Зарегистрируйте управляемое удостоверение, назначаемое пользователем, с помощью идентификатора Microsoft Entra.
  2. Назначьте роль оператора управляемого удостоверения и участника виртуальной машины управляемому удостоверению.
  3. Назначьте роль издателя метрик мониторинга управляемому удостоверению, назначаемого пользователем.
  4. Создайте привязку удостоверений Azure.
  5. Добавьте метку aadpodidbinding в pod Prometheus.
  6. Разверните контейнер бокового контейнера для настройки удаленной записи.

Задачи описаны в следующих разделах.

Регистрация управляемого удостоверения с помощью идентификатора Microsoft Entra

Создайте управляемое удостоверение, назначаемое пользователем, или зарегистрируйте существующее управляемое удостоверение, назначаемое пользователем.

Сведения о создании управляемого удостоверения см. в статье Настройка удаленной записи для управляемой службы Azure Monitor для Prometheus с помощью проверки подлинности управляемого удостоверения.

Назначение ролей оператора управляемого удостоверения и участника виртуальной машины управляемому удостоверению

az role assignment create --role "Managed Identity Operator" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId> 
          
az role assignment create --role "Virtual Machine Contributor" --assignee <managed identity clientID> --scope <Node ResourceGroup Id> 

Группа ресурсов узла кластера AKS содержит ресурсы, которые вы используете в других шагах этого процесса. Эта группа ресурсов имеет имя MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>. Имя группы ресурсов можно найти с помощью меню "Группы ресурсов" в портал Azure.

Назначение роли издателя метрик мониторинга управляемому удостоверению

az role assignment create --role "Monitoring Metrics Publisher" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId> 

Создание привязки удостоверений Azure

Управляемое удостоверение, назначаемое пользователем, требует привязку удостоверения для использования в качестве управляемого пользователем удостоверения.

Скопируйте следующий YAML в файл aadpodidentitybinding.yaml :


apiVersion: "aadpodidentity.k8s.io/v1" 

kind: AzureIdentityBinding 
metadata: 
name: demo1-azure-identity-binding 
spec: 
AzureIdentity: “<AzureIdentityName>” 
Selector: “<AzureIdentityBindingSelector>” 

Выполните следующую команду:

kubectl create -f aadpodidentitybinding.yaml 

Добавление метки aadpodidbinding в pod Prometheus

Метка aadpodidbinding должна быть добавлена в pod Prometheus, чтобы управляемое модулем pod удостоверялось. Метку можно добавить, обновив файл deployment.yaml или введя метки при развертывании контейнера боковицы, как описано в следующем разделе.

Развертывание контейнера на стороне для настройки удаленной записи

  1. Скопируйте следующий YAML и сохраните его в файл. YAML использует порт 8081 в качестве порта прослушивания. При использовании другого порта измените это значение в YAML.

    prometheus: 
      prometheusSpec: 
        podMetadata: 
          labels: 
            aadpodidbinding: <AzureIdentityBindingSelector> 
        externalLabels: 
          cluster: <AKS-CLUSTER-NAME> 
        remoteWrite: 
        - url: 'http://localhost:8081/api/v1/write' 
        containers: 
        - name: prom-remotewrite 
          image: <CONTAINER-IMAGE-VERSION> 
          imagePullPolicy: Always 
          ports: 
            - name: rw-port 
          containerPort: 8081 
          livenessProbe: 
            httpGet: 
              path: /health
              port: rw-port
              initialDelaySeconds: 10 
              timeoutSeconds: 10 
          readinessProbe: 
             httpGet: 
              path: /ready
              port: rw-port
              initialDelaySeconds: 10 
              timeoutSeconds: 10 
        env: 
          - name: INGESTION_URL 
            value: <INGESTION_URL> 
          - name: LISTENING_PORT 
            value: '8081' 
          - name: IDENTITY_TYPE 
            value: userAssigned 
          - name: AZURE_CLIENT_ID 
            value: <MANAGED-IDENTITY-CLIENT-ID> 
          # Optional parameter 
          - name: CLUSTER 
            value: <CLUSTER-NAME>         
    
  2. Используйте Helm, чтобы применить YAML-файл и обновить конфигурацию Prometheus:

    # set the context to your cluster 
    az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name>
    
    # use Helm to update your remote write config 
    helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus pod resides>
    

Проверка и устранение неполадок

Сведения о проверке и устранении неполадок см. в статье "Устранение неполадок удаленной записи и управляемой службы Azure Monitor для удаленной записи Prometheus".

Следующие шаги