Sdílet prostřednictvím


Monitorování metrik řídicí roviny služby Azure Kubernetes Service (AKS) (Preview)

Stav řídicí roviny služby Azure Kubernetes Service (AKS) je kritický pro výkon a spolehlivost clusteru. Metriky řídicí roviny (Preview) poskytují lepší přehled o dostupnosti a výkonu, což vám umožní maximalizovat celkovou pozorovatelnost a zachovat efektivitu provozu. Tyto metriky jsou plně kompatibilní s Prometheus a Grafana a dají se přizpůsobit tak, aby ukládaly jenom to, co považujete za nezbytné. Pomocí těchto nových metrik můžete shromažďovat všechny metriky ze serveru rozhraní API, ETCD, Plánovače, automatického škálování a správce kontroleru.

Tento článek vám pomůže pochopit tuto novou funkci, jak ji implementovat a jak sledovat shromážděná telemetrická data.

Předpoklady a omezení

Instalace nebo aktualizace aks-preview rozšíření Azure CLI

Důležité

Funkce AKS ve verzi Preview jsou k dispozici na samoobslužné bázi. Verze Preview jsou poskytovány "tak, jak jsou" a "dostupné", a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Verze Preview AKS jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

aks-preview Nainstalujte rozšíření Azure CLI pomocí az extension add příkazu.

az extension add --name aks-preview

Pokud potřebujete aktualizovat verzi rozšíření, můžete to provést pomocí az extension update příkazu.

az extension update --name aks-preview

Registrace příznaku funkce AzureMonitorMetricsControlPlanePreview

AzureMonitorMetricsControlPlanePreview Příznak funkce zaregistrujte pomocí příkazu az feature register, jak je znázorněno v následujícím příkladu:

az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"

Zobrazení stavu Zaregistrované trvá několik minut. Pomocí příkazu az feature show ověřte stav registrace:

az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"

Pokud se stav projeví jako zaregistrovaný, aktualizujte registraci poskytovatele prostředků Microsoft.ContainerService pomocí příkazu az provider register :

az provider register --namespace "Microsoft.ContainerService"

Povolení metrik řídicí roviny v clusteru AKS

Metriky řídicí roviny můžete povolit pomocí spravované služby Azure Monitor pro doplněk Prometheus během vytváření clusteru nebo pro existující cluster. Pokud chcete shromažďovat metriky Prometheus z clusteru Kubernetes, přečtěte si téma Povolení clusterů Kubernetes a Grafana pro clustery Kubernetes a postupujte podle kroků na kartě rozhraní příkazového řádku pro cluster AKS. Na příkazovém řádku nezapomeňte zahrnout parametry --generate-ssh-keys a --enable-managed-identity.

Pokud už váš cluster má nasazený doplněk Prometheus, můžete jednoduše spustit aktualizaci az aks update clusteru a začít shromažďovat metriky řídicí roviny.

az aks update -n <cluster-name> -g <resource-group>

Poznámka:

Na rozdíl od metrik shromážděných z uzlů clusteru se metriky řídicí roviny shromažďují komponentou, která není součástí doplňku ama-metrics . Povolení příznaku AzureMonitorMetricsControlPlanePreview funkce a spravovaného doplňku prometheus zajišťuje, že se shromažďují metriky řídicí roviny. Po povolení shromažďování metrik může trvat několik minut, než se data zobrazí v pracovním prostoru.

Dotazování metrik řídicí roviny

Metriky řídicí roviny se ukládají v pracovním prostoru služby Azure Monitor v oblasti clusteru. Můžou se dotazovat přímo z pracovního prostoru nebo prostřednictvím instance Azure Managed Grafana připojené k pracovnímu prostoru. Pokud chcete najít pracovní prostor služby Azure Monitor přidružený ke clusteru, přejděte v levém podokně vybraného clusteru AKS do části Monitorování a vyberte Přehledy. Na stránce kontejneru Přehledy clusteru vyberte Monitorovat Nastavení.

Snímek obrazovky pracovního prostoru služby Azure Monitor

Pokud k vizualizaci dat používáte Azure Managed Grafana, můžete importovat následující řídicí panely. AKS poskytuje šablony řídicích panelů, které vám pomůžou zobrazit a analyzovat telemetrická data řídicí roviny v reálném čase.

Přizpůsobení metrik řídicí roviny

Sady AKS ve výchozím nastavení obsahují předem nakonfigurovanou sadu metrik pro shromažďování a ukládání pro každou komponentu. API server a etcd jsou ve výchozím nastavení povolené. Tento seznam lze přizpůsobit pomocí mapy ama-settings-configmap. Seznam minimal-ingestion metrik profilu je k dispozici tady.

Následující seznam obsahuje výchozí cíle:

controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true

Různé možnosti jsou podobné spravované službě Azure Prometheus uvedené tady.

Veškerá konfigurace Mapy by se měla použít na kube-system obor názvů pro libovolný cluster.

Ingestování pouze minimálních metrik pro výchozí cíle

Toto je výchozí chování s nastavením default-targets-metrics-keep-list.minimalIngestionProfile="true". Pouze metriky uvedené dále v tomto článku se ingestují pro každý z výchozích cílů, což v tomto případě je controlplane-apiserver a controlplane-etcd.

Ingestování všech metrik ze všech cílů

Pomocí následujících kroků shromážděte všechny metriky ze všech cílů v clusteru.

  1. Stáhněte soubor ConfigMap ama-metrics-settings-configmap.yaml a přejmenujte ho na configmap-controlplane.yaml.

  2. Nastavte minimalingestionprofile = false a ověřte cíle default-scrape-settings-enabled , pod kterými chcete sešrotovat, jsou nastavené na truehodnotu . Jedinými cíli, které můžete zadat, jsou: controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler, controlplane-kube-controller-managera controlplane-etcd.

  3. Použijte objekt ConfigMap spuštěním příkazu kubectl apply .

    kubectl apply -f configmap-controlplane.yaml
    

    Po použití konfigurace trvá několik minut, než se metriky ze zadaných cílů šrotují z řídicí roviny v pracovním prostoru služby Azure Monitor.

Ingestování několika dalších metrik kromě minimálních metrik

Minimal ingestion profile je nastavení, které pomáhá snížit objem metrik příjmu dat, protože se shromažďují pouze metriky používané výchozími řídicími panely, výchozí pravidla nahrávání a výchozí upozornění. Pokud chcete toto chování přizpůsobit, proveďte následující kroky.

  1. Stáhněte soubor ConfigMap ama-metrics-settings-configmap a přejmenujte ho na configmap-controlplane.yaml.

  2. Nastavte minimalingestionprofile = true a ověřte cíle default-scrape-settings-enabled , které chcete sešrotovat, jsou nastavené na truehodnotu . Jedinými cíli, které můžete zadat, jsou: controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler, controlplane-kube-controller-managera controlplane-etcd.

  3. Pod položkou default-targets-metrics-keep-listzadejte seznam metrik pro true cíle. Příklad:

    controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
    
  • Použijte objekt ConfigMap spuštěním příkazu kubectl apply .

    kubectl apply -f configmap-controlplane.yaml
    

    Po použití konfigurace trvá několik minut, než se metriky ze zadaných cílů šrotují z řídicí roviny v pracovním prostoru služby Azure Monitor.

Ingestování pouze konkrétních metrik z některých cílů

  1. Stáhněte soubor ConfigMap ama-metrics-settings-configmap a přejmenujte ho na configmap-controlplane.yaml.

  2. Nastavte minimalingestionprofile = false a ověřte cíle default-scrape-settings-enabled , které chcete sešrotovat, jsou nastavené na truehodnotu . Jedinými cíli, které zde můžete zadat, jsou controlplane-apiserver: ,controlplane-kube-controller-managercontrolplane-cluster-autoscalercontrolplane-kube-scheduler , , a .controlplane-etcd

  3. Pod položkou default-targets-metrics-keep-listzadejte seznam metrik pro true cíle. Příklad:

    controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
    
  • Použijte objekt ConfigMap spuštěním příkazu kubectl apply .

    kubectl apply -f configmap-controlplane.yaml
    

    Po použití konfigurace trvá několik minut, než se metriky ze zadaných cílů šrotují z řídicí roviny v pracovním prostoru služby Azure Monitor.

Řešení potíží s metrikami řídicí roviny

Ujistěte se, že je příznak AzureMonitorMetricsControlPlanePreview funkce povolený a že ama-metrics jsou pody spuštěné.

Poznámka:

Metody řešení potíží pro Spravovanou službu Azure Prometheus se nepřeloží přímo sem, protože komponenty, které řídicí rovinu sešrotují, nejsou ve spravovaném doplňku prometheus.

Formátování nebo chyby objektu ConfigMap

Nezapomeňte pečlivě zkontrolovat formátování objektu ConfigMap a pokud jsou pole správně vyplněná zamýšlenými hodnotami. Konkrétně , default-targets-metrics-keep-listminimal-ingestion-profilea default-scrape-settings-enabled.

Problém s izolovat řídicí rovinu od roviny dat

Začněte nastavením některých metriktrue souvisejících s uzlem a ověřením, že se metriky přeposílají do pracovního prostoru. To pomáhá určit, jestli je problém specifický pro výstřižky metrik řídicí roviny.

Ingestované události

Po použití změn můžete průzkumníka metrik otevřít na stránce přehledu služby Azure Monitor nebo v části Monitorování ve vybraném clusteru. Na webu Azure Portal vyberte Metriky. Zkontrolujte zvýšení nebo snížení počtu přijatých událostí za minutu. Měla by vám pomoct určit, jestli konkrétní metrika chybí nebo chybí všechny metriky.

Konkrétní metrika není vystavena.

V případech, kdy jsou metriky zdokumentované, ale nezdokumentované z cíle a nebyly předány do pracovního prostoru služby Azure Monitor. V takovém případě je potřeba ověřit, že se do pracovního prostoru přeposílají další metriky.

Žádný přístup k pracovnímu prostoru služby Azure Monitor

Když doplněk povolíte, možná jste zadali existující pracovní prostor, ke kterému nemáte přístup. V takovém případě může vypadat, že se metriky neshromažďují a nepřeposílají. Při povolování doplňku nebo při vytváření clusteru se ujistěte, že vytvoříte nový pracovní prostor.

Zakázání metrik řídicí roviny v clusteru AKS

Metriky řídicí roviny můžete kdykoli zakázat zakázáním příznaku funkce, zakázáním spravovaného systému Prometheus nebo odstraněním clusteru AKS.

Příznak preview povolený po nastavení spravovaného systému Prometheus

Pokud byl u existujícího spravovaného clusteru Prometheus povolený příznakAzureMonitorMetricsControlPlanePreview preview, bude vyžadovat vynucení aktualizace, aby cluster vygeneroval metriky řídicí roviny.

Můžete spustit aktualizaci az aks, abyste zajistili, že aktualizace clusteru začnou shromažďovat metriky řídicí roviny.

az aks update -n <cluster-name> -g <resource-group>

Poznámka:

Tato akce neodebere žádná existující data uložená v pracovním prostoru služby Azure Monitor.

Spuštěním následujícího příkazu odeberte doplněk metrik, který odebírá metriky Prometheus.

az aks update --disable-azure-monitor-metrics -n <cluster-name> -g <cluster-resource-group>

Spuštěním následujícího příkazu zakažte výstřižky metrik řídicí roviny v clusteru AKS zrušením registrace příznaku AzureMonitorMetricsControlPlanePreview funkce pomocí příkazu az feature unregister .

az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"

Nejčastější dotazy

  • Dají se tyto metriky sešrotovat pomocí prometheus v místním prostředí?

    • Metriky řídicí roviny v současné době nelze sešrotovat pomocí prometheus v místním prostředí. V závislosti na nástroji pro vyrovnávání zatížení bude moct místní prometheus v závislosti na nástroji pro vyrovnávání zatížení vystřihovat jednu instanci. Tyto metriky nejsou dostupné, protože existuje často více replik metrik řídicí roviny, které budou viditelné pouze prostřednictvím spravovaného nástroje Prometheus.
  • Proč není uživatelský agent dostupný prostřednictvím metrik řídicí roviny?

Další kroky

Po vyhodnocení této funkce ve verzi Preview sdílejte zpětnou vazbu. Zajímá nás, co si myslíte.