Dela via


Självstudie: Ansluta till en lokalt installerad Prometheus-tjänst i ett AKS-kluster med hjälp av en hanterad privat slutpunkt

Den här guiden vägleder dig genom stegen för att installera Prometheus, en verktygslåda för övervakning och aviseringar med öppen källkod, i ett AKS-kluster (Azure Kubernetes Service). Sedan använder du Azure Managed Grafanas hanterade privata slutpunkt för att ansluta till den här Prometheus-servern och visa Prometheus-data på en Grafana-instrumentpanel.

I den här självstudien lär du dig att:

  • Skapa ett Azure Kubernetes Service-kluster
  • Installera Prometheus
  • Lägga till en privat länktjänst till Prometheus-servern
  • Anslut med hanterad privat slutpunkt
  • Visa Prometheus-data på en Grafana-instrumentpanel

Förutsättningar

Kontrollera att du har följande innan du börjar:

Skapa ett Azure Kubernetes Service-kluster

  1. Logga in på Azure CLI genom att az login köra kommandot .

    az login
    

    Om du har flera Azure-prenumerationer väljer du din Azure-prenumeration med kommandot az account set -s <your-azure-subscription-id>.

  2. Installera eller uppdatera kubectl.

    az aks install-cli
    
  3. Skapa två bash/zsh-variabler, som vi använder i efterföljande kommandon. Ändra syntaxen nedan om du använder ett annat gränssnitt.

    RESOURCE_GROUP=myResourceGroup 
    AKS_NAME=myaks
    
  4. Skapa en resursgrupp. I det här exemplet skapar vi resursgruppen i Azure-regionen USA, västra centrala.

    az group create --name $RESOURCE_GROUP --location westcentralus
    
  5. Skapa ett nytt AKS-kluster med kommandot az aks create . Här skapar vi ett kluster med tre noder med hjälp av den virtuella datortypen Burstable i B-serien, vilket är kostnadseffektivt och lämpligt för små test-/utvecklingsarbetsbelastningar som denna.

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

    Den här åtgärden kan ta några minuter att slutföra.

  6. Autentisera till klustret som du har skapat.

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

    Nu kan du komma åt kubernetes-klustret med kubectl.

  7. Använd kubectl för att se de noder som du har skapat.

    kubectl get nodes
    

Installera Prometheus

Ett populärt sätt att installera Prometheus är via prometheus-operatorn, som tillhandahåller Kubernetes intern distribution och hantering av Prometheus och relaterade övervakningskomponenter. I den här självstudien använder vi Kube-prometheus-stack Helm-diagram för att distribuera prometheus-operatorn.

  1. Lägg till helm-charts-lagringsplatsen och uppdatera sedan lagringsplatsens lista.

    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
    
  2. Installera Helm-diagrammet i ett namnområde som kallas övervakning. Det här namnområdet skapas automatiskt.

    helm install prometheus \
      prometheus-community/kube-prometheus-stack \
      --namespace monitoring \
      --create-namespace
    
  3. Helm-kommandot uppmanar dig att kontrollera statusen för de distribuerade poddarna. Kör följande kommando.

    kubectl --namespace monitoring get pods
    
  4. Kontrollera att poddarna körs innan du fortsätter. Om de i osannolika fall inte når körningstillståndet kanske du vill felsöka dem.

Azure Private Link-tjänsten möjliggör förbrukning av kubernetes-tjänsten via privat länk i olika virtuella Azure-nätverk. AKS har en intern integrering med Azure Private Link Service och hjälper dig att kommentera ett Kubernetes-tjänstobjekt för att skapa en motsvarande privat länktjänst i Azure.

Se innehållet i filen pls-prometheus-svc.yaml nedan:

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. Kör följande kommando för att lägga till den privata länktjänsten till Prometheus-servern.

    kubectl --namespace monitoring apply -f pls-prometheus-svc.yaml
    
  2. Den privata länktjänsten med namn promManagedPls skapas i den HANTERADE AKS-resursgruppen. Den här processen tar några minuter.

    Screenshot of the Azure platform: showing the created Private Link Service resource.

Anslut med en hanterad privat slutpunkt

  1. Om du inte har någon Azure Managed Grafana-arbetsyta än skapar du en genom att följa snabbstarten för Azure Managed Grafana.

  2. Öppna din Azure Managed Grafana-arbetsyta och gå till Skapa en nätverkshanterad>privat slutpunkt.>

    Screenshot of the Azure platform showing the managed private endpoints page within an Azure Managed Grafana resource.

  3. Ange ett namn för din hanterade privata slutpunkt och välj din Azure-prenumeration.

  4. För Resurstyp väljer du Microsoft.Network/privateLinkServices (private link services) och för Målresurs väljer du den promManagedPls privata länktjänst som skapades i ovanstående steg. Varje hanterad privat slutpunkt får en privat IP-adress. Du kan också ange ett domännamn för den här hanterade privata slutpunkten. Azure Managed Grafana-tjänsten ser till att den här domänen matchas mot den hanterade privata slutpunktens privata IP-adress i Azure Managed Grafana-miljön. Ange till exempel domänen till *.prom.my-own-domain.com.

    Screenshot of the Azure platform showing Prometheus information entered for the new managed private endpoint.

  5. Godkänn den privata slutpunktsanslutningen genom att gå till resursen promManagedPls. Under Inställningar går du till Privata slutpunktsanslutningar, väljer din anslutning med hjälp av kryssrutan och Godkänner.

    Screenshot of the Azure platform showing the Approve connection action.

  6. När den privata slutpunktsanslutningen har godkänts går du tillbaka till din Azure Managed Grafana-resurs och väljer knappen Uppdatera på fliken Hanterad privat slutpunkt för att synkronisera Connection state. Den bör nu visas som Godkänd.

    Screenshot of the Azure platform showing the Refresh button.

Visa Prometheus-data på en Grafana-instrumentpanel

  1. Lägg till Prometheus-datakällan i Grafana från Grafana-portalen. Mer information finns i Lägg till en datakälla. Vår Prometheus-URL är http://prom-service.prom.my-own-domain.com:9090.

    Screenshot of the Grafana platform showing adding Prometheus as a data source.

  2. Om du vill utnyttja din egen värdbaserade Prometheus-datakälla kan du prova att använda instrumentpanelen Node Exporter Full , ID 1860. Fler riktlinjer finns i Importera en instrumentpanel från Grafana Labs.

    Screenshot of the Azure Grafana platform showing the sample Prometheus dashboard.

Gå vidare

Lär dig hur du använder tjänstkonton.