Övervaka kontrollplansmått för Azure Kubernetes Service (AKS) (förhandsversion)
Den här artikeln visar hur du använder funktionen för kontrollplansmått (förhandsversion) i Azure Kubernetes Service (AKS) för att samla in mått från kontrollplanet och visa telemetrin i Azure Monitor. Kontrollplanets måttfunktion är helt kompatibel med Prometheus och Grafana och ger bättre insyn i tillgängligheten och prestandan för kontrollplanskomponenterna, till exempel API-servern, ETCD, Scheduler, Autoscaler och kontrollanthanteraren. Du kan använda dessa mått för att maximera den övergripande observerbarheten och upprätthålla driftskvalitet för ditt AKS-kluster.
Förutsättningar och begränsningar
- Kontrollplansmått (förhandsversion) stöder endast Azure Monitor-hanterad tjänst för Prometheus.
- Privat länk stöds inte.
- Du kan bara anpassa standardkartan ama-metrics-settings-config-map. Alla andra anpassningar stöds inte.
- AKS-klustret måste använda hanterad identitetsautentisering.
Installera eller uppdatera aks-preview
Azure CLI-tillägget
Viktigt!
AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och anmäl dig. Förhandsversioner tillhandahålls "som är" och "som tillgängliga", och de undantas från serviceavtalen och den begränsade garantin. AKS-förhandsversioner omfattas delvis av kundsupport på bästa sätt. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:
Installera eller uppdatera
aks-preview
Azure CLI-tillägget med hjälp avaz extension add
kommandot elleraz extension update
.# Install the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
Registrera funktionsflaggan AzureMonitorMetricsControlPlanePreview
Registrera funktionsflaggan
AzureMonitorMetricsControlPlanePreview
az feature register
med kommandot .az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Det tar några minuter för statusen att visa Registrerad.
Kontrollera registreringsstatusen
az feature show
med kommandot .az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
När statusen visar Registrerad uppdaterar du registreringen av resursprovidern Microsoft.ContainerService med hjälp av
az provider register
kommandot .az provider register --namespace "Microsoft.ContainerService"
Aktivera kontrollplansmått i ditt AKS-kluster
Du kan aktivera kontrollplansmått med azure monitor-tjänsten för Prometheus-tillägget när du skapar ett nytt kluster eller uppdaterar ett befintligt kluster.
Aktivera kontrollplansmått i ett nytt AKS-kluster
Information om hur du samlar in Prometheus-mått från kubernetes-klustret finns i Aktivera Prometheus och Grafana för AKS-kluster och följ stegen på fliken CLI för ett AKS-kluster.
Aktivera kontrollplansmått i ett befintligt AKS-kluster
Om klustret redan har Prometheus-tillägget uppdaterar du klustret så att det börjar samla in kontrollplansmått med kommandot
az aks update
.az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Kommentar
Till skillnad från de mått som samlas in från klusternoder samlas kontrollplansmått in av en komponent som inte ingår i ama-måtttillägget. Genom att aktivera funktionsflaggan AzureMonitorMetricsControlPlanePreview
och det hanterade Prometheus-tillägget kan du se till att kontrollplansmått samlas in. När du har aktiverat måttinsamling kan det ta flera minuter innan data visas på arbetsytan.
Frågekontrollplansmått
Kontrollplansmått lagras på en Azure Monitor-arbetsyta i klustrets region. Du kan fråga måtten direkt från arbetsytan eller via den Azure-hanterade Grafana-instansen som är ansluten till arbetsytan.
Visa kontrollplansmåtten på Azure Monitor-arbetsytan med hjälp av följande steg:
Kommentar
AKS innehåller instrumentpanelsmallar som hjälper dig att visa och analysera telemetridata för kontrollplanet i realtid. Om du använder Azure-hanterad Grafana för att visualisera data kan du importera följande instrumentpaneler:
Anpassa kontrollplansmått
AKS innehåller en förkonfigurerad uppsättning mått för att samla in och lagra för varje komponent. API server
och etcd
är aktiverade som standard. Du kan anpassa den här listan via ama-settings-configmap
.
Standardmålen omfattar följande:
controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
Alla ConfigMaps ska tillämpas på kube-system
namnområdet för alla kluster.
Mer information om minimal-ingestion
profilmått finns i Minimal inmatningsprofil för kontrollplansmått i hanterad Prometheus.
Mata endast in minimala mått från standardmål
När du anger default-targets-metrics-keep-list.minimalIngestionProfile="true"
matas endast den minimala uppsättningen mått in för vart och ett av standardmålen: controlplane-apiserver
och controlplane-etcd
.
Mata in alla mått från alla mål
Samla in alla mått från alla mål i klustret med hjälp av följande steg:
Ladda ned ConfigMap-filen ama-metrics-settings-configmap.yaml och byt namn på den till
configmap-controlplane.yaml
.Ange
minimalingestionprofile = false
.Under
default-scrape-settings-enabled
kontrollerar du att de mål som du vill skrapa är inställda påtrue
. De enda mål som du kan ange är:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ochcontrolplane-etcd
.Använd ConfigMap med kommandot
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
När konfigurationen har tillämpats tar det flera minuter innan måtten från de angivna målen som skrapats från kontrollplanet visas på Azure Monitor-arbetsytan.
Mata in några andra mått utöver minimala mått
Inställningen minimal ingestion profile
hjälper till att minska inmatningsvolymen för mått, eftersom den endast samlar in mått som används av standardinstrumentpaneler, standardregistreringsregler och standardaviseringar samlas in. Använd följande steg för att anpassa den här inställningen:
Ladda ned ConfigMap-filen ama-metrics-settings-configmap och byt namn på den till
configmap-controlplane.yaml
.Ange
minimalingestionprofile = true
.Under
default-scrape-settings-enabled
kontrollerar du att de mål som du vill skrapa är inställda påtrue
. De enda mål som du kan ange är:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ochcontrolplane-etcd
.Under
default-targets-metrics-keep-list
anger du listan med mått förtrue
målen. Till exempel:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Använd ConfigMap med kommandot
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
När konfigurationen har tillämpats tar det flera minuter innan måtten från de angivna målen som skrapats från kontrollplanet visas på Azure Monitor-arbetsytan.
Mata endast in specifika mått från vissa mål
Ladda ned ConfigMap-filen ama-metrics-settings-configmap och byt namn på den till
configmap-controlplane.yaml
.Ange
minimalingestionprofile = false
.Under
default-scrape-settings-enabled
kontrollerar du att de mål som du vill skrapa är inställda påtrue
. De enda mål som du kan ange här ärcontrolplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ochcontrolplane-etcd
.Under
default-targets-metrics-keep-list
anger du listan med mått förtrue
målen. Till exempel:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Använd ConfigMap med kommandot
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
När konfigurationen har tillämpats tar det flera minuter innan måtten från de angivna målen som skrapats från kontrollplanet visas på Azure Monitor-arbetsytan.
Felsöka problem med kontrollplansmått
Kontrollera att funktionsflaggan AzureMonitorMetricsControlPlanePreview
är aktiverad och ama-metrics
att poddarna körs.
Kommentar
Felsökningsmetoderna för Den hanterade Azure-tjänsten Prometheus översätts inte direkt här eftersom komponenterna som skrapar kontrollplanet inte finns i det hanterade Prometheus-tillägget.
ConfigMap-formatering
Kontrollera att du använder korrekt formatering i ConfigMap och att fälten, särskilt default-targets-metrics-keep-list
, minimal-ingestion-profile
och default-scrape-settings-enabled
, är korrekt ifyllda med sina avsedda värden.
Isolera kontrollplanet från dataplanet
Börja med att ange några av de nodrelaterade måtten till och kontrollera att true
måtten vidarebefordras till arbetsytan. Detta hjälper dig att avgöra om problemet är specifikt för att skrapa kontrollplansmått.
Inmatade händelser
När du har tillämpat ändringarna kan du öppna Metrics Explorer från översiktssidan för Azure Monitor eller från avsnittet Övervakning det valda klustret och söka efter en ökning eller minskning av antalet händelser som matas in per minut. Det bör hjälpa dig att avgöra om ett visst mått saknas eller om alla mått saknas.
Specifika mått exponeras inte
Det har funnits fall där mått dokumenteras, men inte exponeras från målet och inte vidarebefordras till Azure Monitor-arbetsytan. I det här fallet är det nödvändigt att kontrollera att andra mått vidarebefordras till arbetsytan.
Ingen åtkomst till Azure Monitor-arbetsytan
När du aktiverar tillägget kanske du har angett en befintlig arbetsyta som du inte har åtkomst till. I så fall kan det se ut som om måtten inte samlas in och vidarebefordras. Se till att du skapar en ny arbetsyta när du aktiverar tillägget eller när du skapar klustret.
Inaktivera kontrollplansmått i ditt AKS-kluster
Du kan inaktivera kontrollplansmått när som helst genom att inaktivera det hanterade Prometheus-tillägget och avregistrera funktionsflaggan AzureMonitorMetricsControlPlanePreview
.
Ta bort måtttillägget som skrapar Prometheus-mått med hjälp av
az aks update
kommandot .az aks update --disable-azure-monitor-metrics --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Inaktivera skrapning av kontrollplansmått i AKS-klustret genom att avregistrera funktionsflaggan
AzureMonitorMetricsControlPlanePreview
az feature unregister
med kommandot .az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Vanliga frågor
Kan jag skrapa kontrollplansmått med egen värdbaserad Prometheus?
Nej, du kan för närvarande inte skrapa kontrollplansmått med egen värdbaserad Prometheus. Lokalt installerad Prometheus kan bara skrapa den enskilda instansen beroende på lastbalanseraren. Måtten är inte tillförlitliga, eftersom det ofta finns flera repliker av kontrollplansmåtten endast visas via hanterad Prometheus
Varför är användaragenten inte tillgänglig via kontrollplanets mått?
Kontrollplansmått i Kubernetes har inte användaragenten. Användaragenten är endast tillgänglig via de kontrollplansloggar som är tillgängliga i diagnostikinställningarna.
Nästa steg
När du har utvärderat den här förhandsgranskningsfunktionen delar du din feedback. Vi är intresserade av att höra vad du tycker.
Mer information om AKS-kontrollplansmått finns i listan över standardmått för AKS-kontrollplanet.
Azure Kubernetes Service
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för