Az Azure Kubernetes Service (AKS) vezérlősík-metrikáinak monitorozása (előzetes verzió)
Az Azure Kubernetes Service (AKS) vezérlősíkjának állapota kritikus fontosságú a fürt teljesítménye és megbízhatósága szempontjából. A vezérlősík-metrikák (előzetes verzió) nagyobb betekintést nyújtanak a rendelkezésre állásába és a teljesítményébe, így maximalizálhatja az általános megfigyelhetőséget és fenntarthatja a működési kiválóságot. Ezek a metrikák teljes mértékben kompatibilisek a Prometheus és a Grafana használatával, és testre szabhatók úgy, hogy csak az Ön által szükségesnek ítélt adatokat tárolják. Ezekkel az új metrikákkal az API-kiszolgálóról, az ETCD-ről, a Schedulerről, az automatikus skálázásról és a vezérlőkezelőről gyűjtheti össze az összes metrikát.
Ez a cikk segít megérteni ezt az új funkciót, annak implementálását és az összegyűjtött telemetriai adatok megfigyelését.
Előfeltételek és korlátozások
- Csak a Prometheushoz készült Azure Monitor felügyelt szolgáltatást támogatja.
- A privát hivatkozás nem támogatott.
- Csak az alapértelmezett ama-metrics-settings-config-map szabható testre. Az összes többi testreszabás nem támogatott.
- A fürtnek felügyelt identitáshitelesítést kell használnia.
Az Azure CLI-bővítmény telepítése vagy frissítése aks-preview
Fontos
Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióit részben az ügyfélszolgálat fedezi a legjobb munkamennyiség alapján. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:
Telepítse az aks-preview
Azure CLI-bővítményt a az extension add
paranccsal.
az extension add --name aks-preview
Ha frissítenie kell a bővítményverziót, ezt a az extension update
paranccsal teheti meg.
az extension update --name aks-preview
Regisztrálja az "AzureMonitorMetricsControlPlanePreview" funkciójelzőt
Regisztrálja a AzureMonitorMetricsControlPlanePreview
funkciójelzőt az az feature register paranccsal, ahogyan az az alábbi példában látható:
az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Néhány percig tart, amíg az állapot megjelenik a Regisztrált állapotban. Ellenőrizze a regisztrációs állapotot az az feature show paranccsal:
az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Ha az állapot a Regisztrált állapotot tükrözi, frissítse a Microsoft.ContainerService erőforrás-szolgáltató regisztrációját az az provider register paranccsal:
az provider register --namespace "Microsoft.ContainerService"
Vezérlősík-metrikák engedélyezése az AKS-fürtön
A vezérlősík-metrikákat a Prometheus bővítményhez készült Azure Monitor felügyelt szolgáltatással engedélyezheti a fürt létrehozásakor vagy egy meglévő fürt esetében. Ha Prometheus-metrikákat szeretne gyűjteni a Kubernetes-fürtből, olvassa el a Prometheus és a Grafana engedélyezése Kubernetes-fürtökhöz című témakört, és kövesse az AKS-fürtök parancssori felületének lépéseit.
Ha a fürtben már telepítve van a Prometheus bővítmény, egyszerűen futtathat egy parancsot az aks update
, hogy a fürt frissítései megkezdődjenek a vezérlősík metrikáinak gyűjtésében.
az aks update --name <cluster-name> --resource-group <resource-group>
Feljegyzés
A fürtcsomópontokból gyűjtött metrikákkal ellentétben a vezérlősík metrikáit olyan összetevő gyűjti össze, amely nem része az ama-metrics bővítménynek. AzureMonitorMetricsControlPlanePreview
A funkciójelző és a felügyelt prometheus bővítmény engedélyezése biztosítja a vezérlősík metrikáinak gyűjtését. A metrikák gyűjtésének engedélyezése után eltarthat néhány percig, amíg az adatok megjelennek a munkaterületen.
Vezérlősík metrikáinak lekérdezése
A vezérlősík metrikái a fürt régiójában található Azure Monitor-munkaterületen vannak tárolva. Lekérdezhetők közvetlenül a munkaterületről vagy a munkaterülethez csatlakoztatott Azure Managed Grafana-példányon keresztül. A fürthöz társított Azure Monitor-munkaterület megkereséséhez a kijelölt AKS-fürt bal oldali paneljén lépjen a Figyelés szakaszra, és válassza az Elemzések lehetőséget. A fürt Container Insights lapján válassza a Figyelési beállítások lehetőséget.
Ha az Azure Managed Grafana használatával jeleníti meg az adatokat, importálhatja az alábbi irányítópultokat. Az AKS irányítópultsablonokat biztosít, amelyekkel valós időben tekintheti meg és elemezheti a vezérlősík telemetriai adatait.
Vezérlősík metrikáinak testreszabása
Az AK-k alapértelmezés szerint előre konfigurált metrikákat tartalmaznak az egyes összetevők gyűjtéséhez és tárolásához. API server
és etcd
alapértelmezés szerint engedélyezve vannak. Ez a lista testre szabható az ama-settings-configmap segítségével. A profilmetrikák listája minimal-ingestion
itt érhető el.
Az alábbi lista az alapértelmezett célokat sorolja fel:
controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
A különböző lehetőségek az itt felsorolt Azure Managed Prometheushoz hasonlóak.
Minden ConfigMap-et minden fürt névterére alkalmazni kube-system
kell.
Csak minimális metrikák betöltése az alapértelmezett célokhoz
Ez a beállítás default-targets-metrics-keep-list.minimalIngestionProfile="true"
alapértelmezett viselkedése. Csak a jelen cikk későbbi részében felsorolt metrikák vannak betöltve az alapértelmezett célokhoz, amelyek ebben az esetben és controlplane-apiserver
controlplane-etcd
.
Az összes metrika betöltése az összes célból
Az alábbi lépések végrehajtásával gyűjtse össze az összes metrikát a fürtön lévő összes célból.
Töltse le a ConfigMap fájlt ama-metrics-settings-configmap.yaml fájlba, és nevezze át a fájlra
configmap-controlplane.yaml
.Állítsa be
minimalingestionprofile = false
és ellenőrizze a lekaparni kívánt célokatdefault-scrape-settings-enabled
.true
Csak a következő célokat adhatja meg:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
éscontrolplane-etcd
.A kubectl apply parancs futtatásával alkalmazza a ConfigMap parancsot.
kubectl apply -f configmap-controlplane.yaml
A konfiguráció alkalmazása után néhány percig tart, amíg a vezérlősíkról lekaparott meghatározott célok metrikái megjelennek az Azure Monitor-munkaterületen.
A minimális metrikák mellett néhány más metrikát is betölthet
Minimal ingestion profile
ez a beállítás segít csökkenteni a metrikák betöltési mennyiségét, mivel csak az alapértelmezett irányítópultok által használt metrikák, az alapértelmezett rögzítési szabályok > alapértelmezett riasztások lesznek összegyűjtve. A viselkedés testreszabásához hajtsa végre az alábbi lépéseket.
Töltse le a ConfigMap fájlt ama-metrics-settings-configmap fájlra , és nevezze át a következőre
configmap-controlplane.yaml
: .Állítsa be és ellenőrizze, hogy a lekaparni kívánt célértékek
default-scrape-settings-enabled
be vannak-eminimalingestionprofile = true
állítvatrue
. Csak a következő célokat adhatja meg:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
éscontrolplane-etcd
.default-targets-metrics-keep-list
Az alatt adja meg a célok metrikáinaktrue
listáját. Például:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
A kubectl apply parancs futtatásával alkalmazza a ConfigMap parancsot.
kubectl apply -f configmap-controlplane.yaml
A konfiguráció alkalmazása után néhány percig tart, amíg a vezérlősíkról lekaparott meghatározott célok metrikái megjelennek az Azure Monitor-munkaterületen.
Csak bizonyos metrikák betöltése egyes célokból
Töltse le a ConfigMap fájlt ama-metrics-settings-configmap fájlra , és nevezze át a következőre
configmap-controlplane.yaml
: .Állítsa be és ellenőrizze, hogy a lekaparni kívánt célértékek
default-scrape-settings-enabled
be vannak-eminimalingestionprofile = false
állítvatrue
. Itt csak a következő célokat adhatja megcontrolplane-apiserver
: ,controlplane-kube-scheduler
controlplane-cluster-autoscaler
,controlplane-kube-controller-manager
, éscontrolplane-etcd
.default-targets-metrics-keep-list
Az alatt adja meg a célok metrikáinaktrue
listáját. Például:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
A kubectl apply parancs futtatásával alkalmazza a ConfigMap parancsot.
kubectl apply -f configmap-controlplane.yaml
A konfiguráció alkalmazása után néhány percig tart, amíg a vezérlősíkról lekaparott meghatározott célok metrikái megjelennek az Azure Monitor-munkaterületen.
Vezérlősík metrikákkal kapcsolatos problémáinak elhárítása
Győződjön meg arról, hogy a funkciójelző AzureMonitorMetricsControlPlanePreview
engedélyezve van, és a ama-metrics
podok futnak.
Feljegyzés
Az Azure által felügyelt Prometheus szolgáltatás hibaelhárítási módszerei nem lesznek közvetlenül itt lefordítva, mivel a vezérlősíkot kaparó összetevők nincsenek jelen a felügyelt Prometheus bővítményben.
Konfigurációtérkép formázása vagy hibái
Ellenőrizze duplán a ConfigMap formázását, és hogy a mezők megfelelően vannak-e kitöltve a kívánt értékekkel. Pontosabban a default-targets-metrics-keep-list
, minimal-ingestion-profile
és default-scrape-settings-enabled
.
Vezérlősík elkülönítése az adatsíkkal kapcsolatos problémától
Először állítsa be a csomóponttal kapcsolatos metrikákat a munkaterületre true
, és ellenőrizze, hogy a metrikák továbbítása folyamatban van-e. Ez segít megállapítani, hogy a probléma a kaparási vezérlősík metrikáira vonatkozik-e.
Betöltött események
A módosítások alkalmazása után megnyithatja a Metrikák kezelőt az Azure Monitor áttekintési oldalán, vagy a kijelölt fürt Figyelés szakaszában. Az Azure Portalon válassza a Metrikák lehetőséget. Ellenőrizze, hogy növekszik-e vagy csökken-e a percenként betöltött események száma. Segít megállapítani, hogy az adott metrika hiányzik-e, vagy az összes metrika hiányzik.
Egy adott metrika nincs közzétéve
Voltak olyan esetek, amikor a metrikák dokumentálva vannak, de nem lettek közzétéve a célból, és nem lettek továbbítva az Azure Monitor-munkaterületre. Ebben az esetben ellenőrizni kell, hogy más metrikák továbbítása történik-e a munkaterületre.
Nincs hozzáférés az Azure Monitor-munkaterülethez
Ha engedélyezi a bővítményt, lehetséges, hogy olyan munkaterületet adott meg, amelyhez nincs hozzáférése. Ebben az esetben úgy tűnhet, hogy a metrikákat nem gyűjtik és továbbítják. Győződjön meg arról, hogy új munkaterületet hoz létre a bővítmény engedélyezésekor vagy a fürt létrehozása közben.
Vezérlősík metrikáinak letiltása az AKS-fürtön
A vezérlősík metrikáit bármikor letilthatja a funkciójelző letiltásával, a felügyelt Prometheus letiltásával vagy az AKS-fürt törlésével.
A Felügyelt Prometheus beállítása után engedélyezve van az előnézet jelző
Ha az előnézeti jelző (AzureMonitorMetricsControlPlanePreview
) engedélyezve lett egy meglévő felügyelt Prometheus-fürtön, a fürtnek frissítésre lesz szüksége a vezérlősík metrikáinak kibocsátásához
Az az aks-frissítés futtatásával biztosíthatja, hogy a fürtfrissítések megkezdődjenek a vezérlősík metrikáinak gyűjtésében.
az aks update -n <cluster-name> -g <resource-group>
Feljegyzés
Ez a művelet nem távolítja el az Azure Monitor-munkaterületen tárolt meglévő adatokat.
Futtassa a következő parancsot a Prometheus-metrikákat kaparó metrikák bővítmény eltávolításához.
az aks update --disable-azure-monitor-metrics -n <cluster-name> -g <cluster-resource-group>
Futtassa az alábbi parancsot az AKS-fürt vezérlősík-metrikáinak lekaparásának letiltásához a AzureMonitorMetricsControlPlanePreview
funkciójelző regisztrációjának az az funkcióregisztrálás nélküli parancs használatával történő regisztrációjának megszüntetésével.
az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
GYIK
Le lehet kaparni ezeket a metrikákat saját üzemeltetésű prometheusokkal?
- A vezérlősík metrikáit jelenleg nem lehet saját üzemeltetésű prometheusokkal lekaparni. A saját üzemeltetésű prometheus a terheléselosztótól függően képes lesz lekaparni az egyetlen példányt. Ezek a metrikák nem jelennek meg, mivel a vezérlősík metrikáinak gyakran több replikája is van, amelyek csak felügyelt Prometheuson keresztül lesznek láthatók
Miért nem érhető el a felhasználói ügynök a vezérlősík metrikáin keresztül?
- A Kubernetes vezérlősík-metrikái nem rendelkeznek a felhasználói ügynökkel. A felhasználói ügynök csak a diagnosztikai beállításokon keresztül elérhető vezérlősík-naplókon keresztül érhető el
Következő lépések
Az előzetes verziójú funkció kiértékelése után ossza meg visszajelzését. Kíváncsiak vagyunk, mit gondol.
- További információ az AKS vezérlősík alapértelmezett metrikáinak listájáról.