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
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>
.Zainstaluj lub zaktualizuj narzędzie kubectl.
az aks install-cli
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
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
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.
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.
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-.
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
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
Polecenie helm wyświetla monit o sprawdzenie stanu wdrożonych zasobników. Uruchom następujące polecenie.
kubectl --namespace monitoring get pods
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.
Dodawanie usługi łącza prywatnego do serwera Prometheus
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
Uruchom następujące polecenie, aby dodać usługę łącza prywatnego do serwera Prometheus.
kubectl --namespace monitoring apply -f pls-prometheus-svc.yaml
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
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.
Otwórz obszar roboczy zarządzanego narzędzia Grafana platformy Azure i przejdź do obszaru Dodawanie zarządzanego przez sieć>prywatnego punktu końcowego.>
Wprowadź nazwę zarządzanego prywatnego punktu końcowego i wybierz subskrypcję platformy Azure.
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
.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ź.
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 state
element . Powinna być teraz wyświetlana jako Zatwierdzona.
Wyświetlanie danych rozwiązania Prometheus na pulpicie nawigacyjnym narzędzia Grafana
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
.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.
Następny krok
Dowiedz się, jak używać kont usług.