Delen via


Zelfstudie: verbinding maken met een zelf-hostende Prometheus-service op een AKS-cluster met behulp van een beheerd privé-eindpunt

In deze handleiding wordt u begeleid bij de stappen voor het installeren van Prometheus, een opensource-bewakings- en waarschuwingstoolkit, op een AKS-cluster (Azure Kubernetes Service). Vervolgens gebruikt u het beheerde privé-eindpunt van Azure Managed Grafana om verbinding te maken met deze Prometheus-server en de Prometheus-gegevens weer te geven in een Grafana-dashboard.

In deze zelfstudie leert u het volgende:

  • Een Azure Kubernetes Service-cluster maken
  • Prometheus installeren
  • Een Private Link-service toevoegen aan de Prometheus-server
  • Verbinding maken met beheerd privé-eindpunt
  • Prometheus-gegevens weergeven in een Grafana-dashboard

Vereisten

Voordat u begint, controleert u of u het volgende hebt:

Een Azure Kubernetes Service-cluster maken

  1. Meld u aan bij de Azure CLI door de opdracht uit te az login voeren.

    az login
    

    Als u meerdere Azure-abonnementen hebt, selecteert u uw Azure-abonnement met de opdracht az account set -s <your-azure-subscription-id>.

  2. Installeer of werk kubectl bij.

    az aks install-cli
    
  3. Maak twee bash-/zsh-variabelen, die we in de volgende opdrachten gaan gebruiken. Wijzig de onderstaande syntaxis als u een andere shell gebruikt.

    RESOURCE_GROUP=myResourceGroup 
    AKS_NAME=myaks
    
  4. Maak een resourcegroep. In dit voorbeeld maken we de resourcegroep in de Azure-regio VS - west-centraal.

    az group create --name $RESOURCE_GROUP --location westcentralus
    
  5. Maak een nieuw AKS-cluster met behulp van de opdracht az aks create . Hier maken we een cluster met drie knooppunten met behulp van het type virtuele machine van de B-serie Burstable. Dit is rendabel en geschikt voor kleine test-/ontwikkelworkloads, zoals deze.

    az aks create --resource-group $RESOURCE_GROUP \
      --name $AKS_NAME \
      --node-count 3 \
      --node-vm-size Standard_B2s \
      --generate-ssh-keys
    

    Deze bewerking kan enkele minuten duren.

  6. Verifieer bij het cluster dat u hebt gemaakt.

    az aks get-credentials \
      --resource-group $RESOURCE_GROUP \
      --name $AKS_NAME
    

    U hebt nu toegang tot uw Kubernetes-cluster met kubectl.

  7. Gebruik kubectl om de knooppunten te zien die u hebt gemaakt.

    kubectl get nodes
    

Prometheus installeren

Een populaire manier om Prometheus te installeren is via de prometheus-operator, die kubernetes systeemeigen implementatie en beheer van Prometheus en gerelateerde bewakingsonderdelen biedt. In deze zelfstudie gebruiken we kube-prometheus-stack Helm-grafieken om de prometheus-operator te implementeren.

  1. Voeg de helm-charts-opslagplaats toe en werk vervolgens de lijst met opslagplaatsen bij.

    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
    
  2. Installeer de Helm-grafiek in een naamruimte met de naam Bewaking. Deze naamruimte wordt automatisch gemaakt.

    helm install prometheus \
      prometheus-community/kube-prometheus-stack \
      --namespace monitoring \
      --create-namespace
    
  3. Met de Helm-opdracht wordt u gevraagd om de status van de geïmplementeerde pods te controleren. Voer de volgende opdracht uit.

    kubectl --namespace monitoring get pods
    
  4. Zorg ervoor dat de pods worden uitgevoerd voordat u doorgaat. Als ze in de onwaarschijnlijke omstandigheden niet de status Actief bereiken, kunt u deze problemen oplossen.

De Azure Private Link-service maakt het verbruik van uw Kubernetes-service mogelijk via private link in verschillende virtuele Azure-netwerken. AKS heeft een systeemeigen integratie met Azure Private Link Service en helpt u aantekeningen te maken bij een Kubernetes-serviceobject om een bijbehorende Private Link-service in Azure te maken.

Zie hieronder de inhoud van het bestand pls-prometheus-svc.yaml:

apiVersion: v1
kind: Service
metadata:
  name: prom-pls-svc
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true" # Use an internal LB with PLS
    service.beta.kubernetes.io/azure-pls-create: "true"
    service.beta.kubernetes.io/azure-pls-name: promManagedPls
    service.beta.kubernetes.io/azure-pls-proxy-protocol: "false"
    service.beta.kubernetes.io/azure-pls-visibility: "*"
spec:
  type: LoadBalancer
  selector:
    # app: myApp
    app.kubernetes.io/name: prometheus
    prometheus: prometheus-kube-prometheus-prometheus # note that this is related to the release name
  ports:
    - name: http-web
      protocol: TCP
      port: 9090
      targetPort: 9090
  1. Voer de volgende opdracht uit om de private link-service toe te voegen aan de Prometheus-server.

    kubectl --namespace monitoring apply -f pls-prometheus-svc.yaml
    
  2. De private link-service met de naam promManagedPls wordt gemaakt in de beheerde AKS-resourcegroep. Dit duurt enkele minuten.

Verbinding maken met een beheerd privé-eindpunt

  1. Als u nog geen Azure Managed Grafana-werkruimte hebt, maakt u er een door de quickstart voor Azure Managed Grafana te volgen.

  2. Open uw Azure Managed Grafana-werkruimte en ga naar Het toevoegen van beheerde privé-eindpunten>voor netwerken.>

    Schermopname van het Azure-platform met de pagina beheerde privé-eindpunten in een Azure Managed Grafana-resource.

  3. Voer een naam in voor uw beheerde privé-eindpunt en selecteer uw Azure-abonnement.

  4. Selecteer voor resourcetype Microsoft.Network/privateLinkServices (Private Link-services) en selecteer voor doelresource de promManagedPls private link-service die u in de bovenstaande stap hebt gemaakt. Elk beheerd privé-eindpunt krijgt een privé-IP-adres. U kunt ook een domeinnaam opgeven voor dit beheerde privé-eindpunt. De Azure Managed Grafana-service zorgt ervoor dat dit domein wordt omgezet in het privé-IP-adres van het beheerde privé-eindpunt in de Azure Managed Grafana-omgeving. Stel bijvoorbeeld het domein in op *.prom.my-own-domain.com.

    Schermopname van het Azure-platform met Prometheus-gegevens die zijn ingevoerd voor het nieuwe beheerde privé-eindpunt.

  5. Keur de privé-eindpuntverbinding goed door naar de promManagedPls-resource te gaan. Selecteer onder Instellingen privé-eindpuntverbindingen uw verbinding met behulp van het selectievakje en Goedkeuren.

    Schermopname van het Azure-platform met de verbindingsactie Goedkeuren.

  6. Nadat de privé-eindpuntverbinding is goedgekeurd, gaat u terug naar uw Azure Managed Grafana-resource en selecteert u de knop Vernieuwen op het tabblad Beheerd privé-eindpunt om het Connection statete synchroniseren. Deze moet nu worden weergegeven als Goedgekeurd.

    Schermopname van het Azure-platform met de knop Vernieuwen.

Prometheus-gegevens weergeven in een Grafana-dashboard

  1. Voeg de Prometheus-gegevensbron toe aan Grafana vanuit uw Grafana-portal. Ga naar Een gegevensbron toevoegen voor meer informatie. Onze Prometheus-URL is http://prom-service.prom.my-own-domain.com:9090.

    Schermopname van het Grafana-platform met het toevoegen van Prometheus als gegevensbron.

  2. Als u gebruik wilt maken van uw zelf-hostende Prometheus-gegevensbron, gebruikt u het dashboard Volledig knooppuntexporteur, id 1860. Ga voor meer richtlijnen naar Een dashboard importeren vanuit Grafana Labs.

    Schermopname van het Azure Grafana-platform met het Prometheus-voorbeelddashboard.

Volgende stap

Meer informatie over het gebruik van serviceaccounts.