Udostępnij za pośrednictwem


Samouczek: nawiązywanie połączenia z własną usługą Prometheus w klastrze usługi AKS przy użyciu zarządzanego prywatnego punktu końcowego

Ten przewodnik przeprowadzi Cię przez kroki instalowania rozwiązania Prometheus, zestawu narzędzi do monitorowania i zgłaszania alertów typu open source w klastrze usługi Azure Kubernetes Service (AKS). Następnie użyjesz zarządzanego prywatnego punktu końcowego usługi Azure Managed Grafana, aby nawiązać połączenie z tym serwerem Prometheus i wyświetlić dane rozwiązania Prometheus na pulpicie nawigacyjnym narzędzia Grafana.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Tworzenie klastra usługi Azure Kubernetes Service
  • Instalowanie rozwiązania Prometheus
  • Dodawanie usługi łącza prywatnego do serwera Prometheus
  • Nawiązywanie połączenia z zarządzanym prywatnym punktem końcowym
  • Wyświetlanie danych rozwiązania Prometheus na pulpicie nawigacyjnym narzędzia Grafana

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące elementy:

Tworzenie klastra usługi Azure Kubernetes Service

  1. Zaloguj się do interfejsu wiersza polecenia platformy Azure, uruchamiając az login polecenie .

    az login
    

    Jeśli masz wiele subskrypcji platformy Azure, wybierz subskrypcję platformy Azure za pomocą polecenia az account set -s <your-azure-subscription-id>.

  2. Zainstaluj lub zaktualizuj narzędzie kubectl.

    az aks install-cli
    
  3. Utwórz dwie zmienne bash/zsh, które będą używane w kolejnych poleceniach. Zmień poniższą składnię, jeśli używasz innej powłoki.

    RESOURCE_GROUP=myResourceGroup 
    AKS_NAME=myaks
    
  4. Utwórz grupę zasobów. W tym przykładzie utworzymy grupę zasobów w regionie świadczenia usługi Azure Zachodnio-środkowe stany USA.

    az group create --name $RESOURCE_GROUP --location westcentralus
    
  5. Utwórz nowy klaster usługi AKS przy użyciu polecenia az aks create . W tym miejscu utworzymy klaster z trzema węzłami przy użyciu typu maszyny wirtualnej z serii B, który jest ekonomiczny i odpowiedni dla małych obciążeń testowych/deweloperskich, takich jak ten.

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

    Wykonanie tej operacji może potrwać kilka minut.

  6. Uwierzytelnij się w utworzonym klastrze.

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

    Teraz możesz uzyskać dostęp do klastra Kubernetes za pomocą narzędzia kubectl.

  7. Użyj narzędzia kubectl, aby wyświetlić utworzone węzły.

    kubectl get nodes
    

Instalowanie rozwiązania Prometheus

Popularnym sposobem instalowania rozwiązania Prometheus jest użycie operatora prometheus, który zapewnia natywne wdrażanie rozwiązania Kubernetes i zarządzanie nim oraz powiązane składniki monitorowania. W tym samouczku użyjemy wykresów kube-prometheus-stack Helm do wdrożenia operatora prometheus-.

  1. Dodaj repozytorium helm-charts, a następnie zaktualizuj listę repozytoriów.

    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
    
  2. Zainstaluj pakiet Helm w przestrzeni nazw o nazwie monitorowanie. Ta przestrzeń nazw jest tworzona automatycznie.

    helm install prometheus \
      prometheus-community/kube-prometheus-stack \
      --namespace monitoring \
      --create-namespace
    
  3. Polecenie helm wyświetla monit o sprawdzenie stanu wdrożonych zasobników. Uruchom następujące polecenie.

    kubectl --namespace monitoring get pods
    
  4. Przed kontynuowanie upewnij się, że zasobniki są uruchomione. Jeśli w mało prawdopodobnych okolicznościach nie osiągną stanu uruchomienia, możesz rozwiązać problem.

Usługa Azure Private Link umożliwia korzystanie z usługi Kubernetes za pośrednictwem łącza prywatnego w różnych sieciach wirtualnych platformy Azure. Usługa AKS ma natywną integrację z usługą Azure Private Link i ułatwia dodawanie adnotacji do obiektu usługi Kubernetes w celu utworzenia odpowiedniej usługi łącza prywatnego na platformie Azure.

Zobacz poniżej zawartości pliku 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. Uruchom następujące polecenie, aby dodać usługę łącza prywatnego do serwera Prometheus.

    kubectl --namespace monitoring apply -f pls-prometheus-svc.yaml
    
  2. Usługa łącza prywatnego o nazwie promManagedPls jest tworzona w zarządzanej grupie zasobów usługi AKS. Ten proces trwa kilka minut.

Nawiązywanie połączenia za pomocą zarządzanego prywatnego punktu końcowego

  1. Jeśli nie masz jeszcze obszaru roboczego zarządzanego narzędzia Grafana platformy Azure, utwórz go, postępując zgodnie z przewodnikiem Szybki start Azure Managed Grafana.

  2. Otwórz obszar roboczy zarządzanego narzędzia Grafana platformy Azure i przejdź do obszaru Dodawanie zarządzanego przez sieć>prywatnego punktu końcowego.>

    Zrzut ekranu platformy Azure przedstawiający stronę zarządzanych prywatnych punktów końcowych w zasobie zarządzanego narzędzia Grafana platformy Azure.

  3. Wprowadź nazwę zarządzanego prywatnego punktu końcowego i wybierz subskrypcję platformy Azure.

  4. W obszarze Typ zasobu wybierz pozycję Microsoft.Network/privateLinkServices (usługi łącza prywatnego), a w polu Zasób docelowy wybierz usługę łącza prywatnego utworzoną promManagedPls w powyższym kroku. Każdy zarządzany prywatny punkt końcowy pobiera prywatny adres IP. Możesz również podać nazwę domeny dla tego zarządzanego prywatnego punktu końcowego. Usługa Azure Managed Grafana gwarantuje, że ta domena jest rozpoznawana jako prywatny adres IP zarządzanego prywatnego punktu końcowego w środowisku Azure Managed Grafana. Na przykład ustaw domenę na *.prom.my-own-domain.com.

    Zrzut ekranu platformy Azure przedstawiający informacje dotyczące rozwiązania Prometheus wprowadzone dla nowego zarządzanego prywatnego punktu końcowego.

  5. Zatwierdź połączenie prywatnego punktu końcowego, przechodząc do zasobu promManagedPls. W obszarze Ustawienia wybierz pozycję Połączenia prywatnych punktów końcowych, wybierz połączenie przy użyciu pola wyboru i Zatwierdź.

    Zrzut ekranu platformy Azure przedstawiający akcję Zatwierdź połączenie.

  6. Po zatwierdzeniu połączenia prywatnego punktu końcowego wróć do zasobu Azure Managed Grafana i wybierz przycisk Odśwież na karcie Zarządzany prywatny punkt końcowy, aby zsynchronizować Connection stateelement . Powinna być teraz wyświetlana jako Zatwierdzona.

    Zrzut ekranu platformy Azure przedstawiający przycisk Odśwież.

Wyświetlanie danych rozwiązania Prometheus na pulpicie nawigacyjnym narzędzia Grafana

  1. Dodaj źródło danych Prometheus do aplikacji Grafana z portalu Grafana. Aby uzyskać więcej informacji, zobacz Dodawanie źródła danych. Nasz adres URL rozwiązania Prometheus to http://prom-service.prom.my-own-domain.com:9090.

    Zrzut ekranu przedstawiający platformę Grafana z dodawaniem rozwiązania Prometheus jako źródła danych.

  2. Aby wykorzystać własne źródło danych Prometheus, spróbuj użyć pulpitu nawigacyjnego Pełny pulpit nawigacyjny eksportera węzła o identyfikatorze 1860. Aby uzyskać więcej wskazówek, przejdź do tematu Importowanie pulpitu nawigacyjnego z usługi Grafana Labs.

    Zrzut ekranu przedstawiający platformę Azure Grafana z przykładowym pulpitem nawigacyjnym rozwiązania Prometheus.

Następny krok

Dowiedz się, jak używać kont usług.