Megosztás a következőn keresztül:


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

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 allowedsorolja 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 .