Telemetria API az Istio-alapú service mesh bővítményhez az Azure Kubernetes Service-hez
Az Istio metrikákat, elosztott nyomkövetéseket és hozzáférési naplókat hozhat létre a háló összes számítási feladatához. Az Azure Kubernetes Service (AKS) Istio-alapú service mesh bővítménye telemetriai testreszabási lehetőségeket biztosít a megosztott MeshConfig és az Istio-bővítmény alverzióihoz asm-1-22
készült Istio Telemetry API-valv1
.
Feljegyzés
Bár az Istio MeshConfig globálisan konfigurálja a telemetriát a hálóban, a Telemetria API részletesebben szabályozhatja a telemetria beállításait szolgáltatásonként vagy számítási feladatonként. Mivel az Istio-közösség továbbra is befektet a telemetriai API-ba, ez a telemetriakonfiguráció előnyben részesített módszere. Javasoljuk, hogy migráljon a Telemetria API-ba a hálóban gyűjtendő telemetriai adatok konfigurálásához.
Előfeltételek
- Átdolgozott vagy újabb verziójúnak
asm-1-22
kell lennie. Az alverziófrissítések végrehajtásáról az Istio bővítmény frissítési dokumentációjában talál további információt.
Telemetriai erőforrások konfigurálása
Az alábbi példa bemutatja, hogyan engedélyezhető az Envoy hozzáférés naplózása az Istio bővítmény hálóján keresztül a Telemetria API használatával asm-1-22
(szükség szerint módosítsa a változatot). A bővítmény egyéb Telemetria API-testreszabásával kapcsolatos útmutatásért tekintse meg a Telemetria API támogatási hatókörének szakaszát és az Istio dokumentációját.
Mintaalkalmazások üzembe helyezése
Címkézze fel a névteret oldalkocsi-injektáláshoz:
kubectl label ns default istio.io/rev=asm-1-22
Telepítse az sleep
alkalmazást, és állítsa be a környezeti változót SOURCE_POD
:
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/sleep/sleep.yaml
export SOURCE_POD=$(kubectl get pod -l app=sleep -o jsonpath={.items..metadata.name})
Ezután telepítse az httpbin
alkalmazást:
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/httpbin/httpbin.yaml
Az Istio Telemetry API-val engedélyezve van a megbízotti hozzáférés naplózása
Telepítse a következő Istio v1
Telemetry API-erőforrást, hogy engedélyezze az envoy hozzáférés naplózását a teljes hálóhoz:
cat <<EOF | kubectl apply -n aks-istio-system -f -
apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
name: mesh-logging-default
spec:
accessLogging:
- providers:
- name: envoy
EOF
Hozzáférési naplók tesztelése
Kérés küldése a következő címre sleep
httpbin
:
kubectl exec "$SOURCE_POD" -c sleep -- curl -sS -v httpbin:8000/status/418
Ellenőrizze, hogy a hozzáférési naplók láthatók-e a sleep
podon:
kubectl logs -l app=sleep -c istio-proxy
A következő kimenetnek kell megjelennie:
[2024-08-13T00:31:47.690Z] "GET /status/418 HTTP/1.1" 418 - via_upstream - "-" 0 135 12 11 "-" "curl/8.9.1" "cdecaca5-5964-48f3-b42d-f474dfa623d5" "httpbin:8000" "10.244.0.13:8080" outbound|8000||httpbin.default.svc.cluster.local 10.244.0.12:53336 10.0.112.220:8000 10.244.0.12:42360 - default
Most ellenőrizze, hogy a hozzáférési naplók láthatók-e a httpbin
podon:
kubectl logs -l app=httpbin -c istio-proxy
A következő kimenetnek kell megjelennie:
[2024-08-13T00:31:47.696Z] "GET /status/418 HTTP/1.1" 418 - via_upstream - "-" 0 135 2 1 "-" "curl/8.9.1" "cdecaca5-5964-48f3-b42d-f474dfa623d5" "httpbin:8000" "10.244.0.13:8080" inbound|8080|| 127.0.0.6:55401 10.244.0.13:8080 10.244.0.12:53336 outbound_.8000_._.httpbin.default.svc.cluster.local default
Telemetria API támogatási hatóköre
Az AKS Istio service mesh bővítménye esetében a Telemetria API-mezőket a rendszer , supported
és blocked
értékekként allowed
sorolja be. Az Istio bővítmény szolgáltatásokra és hálókonfigurációkra vonatkozó támogatási szabályzatáról az Istio bővítmény támogatási szabályzatának dokumentumában talál további információt.
Az alábbi Telemetria API-konfigurációk vagy supported
az Istio bővítményhez tartoznakallowed
. A táblában nem szereplő mezők a következők blocked
: .
Telemetria API-mező | Támogatott/Engedélyezett | Jegyzetek |
---|---|---|
accessLogging.match |
Támogatott | - |
accessLogging.disabled |
Támogatott | - |
accessLogging.providers |
Engedélyezve | Az alapértelmezett envoy hozzáférési naplószolgáltató támogatott. A naplógyűjtés és -lekérdezés felügyelt élményét az Azure Monitor Container Insights Log Analyticsben tekintheti meg. A külső vagy nyílt forráskódú naplógyűjtési és elemzési megoldások azonban nem támogatottak allowed . |
metrics.overrides |
Támogatott | - |
metrics.providers |
Engedélyezve | Az Azure Monitor felügyelt Prometheus metrikagyűjteménye támogatott. A külső vagy nyílt forráskódú metrikák kaparási megoldásai nem támogatottak allowed . |
tracing.* |
Engedélyezve | A nyomkövetési konfigurációk nem támogatottak allowed . |
Azure Kubernetes Service