واجهة برمجة تطبيقات القياس عن بعد للوظيفة الإضافية لشبكة الخدمة المستندة إلى Istio لخدمة Azure Kubernetes
يمكن ل Istio إنشاء مقاييس وتتبعات موزعة وسجلات الوصول لجميع أحمال العمل في الشبكة. توفر الوظيفة الإضافية لشبكة الخدمة المستندة إلى Istio لخدمة Azure Kubernetes (AKS) خيارات تخصيص القياس عن بعد من خلال MeshConfig المشتركة وواجهة برمجة تطبيقات v1
Istio Telemetry لمراجعات asm-1-22
ثانوية وأعلى.
إشعار
بينما يوفر Istio MeshConfig أيضا خيارات لتكوين بيانات تتبع الاستخدام عالميا عبر الشبكة، توفر واجهة برمجة تطبيقات القياس عن بعد تحكما أكثر دقة في إعدادات القياس عن بعد على أساس كل خدمة أو لكل حمل عمل. مع استمرار مجتمع Istio في الاستثمار في واجهة برمجة تطبيقات بيانات تتبع الاستخدام، فهو الآن الطريقة المفضلة لتكوين بيانات تتبع الاستخدام. نحن نشجع الترحيل إلى واجهة برمجة تطبيقات بيانات تتبع الاستخدام لتكوين بيانات تتبع الاستخدام ليتم جمعها في الشبكة.
المتطلبات الأساسية
- يجب أن تكون على مراجعة
asm-1-22
أو أعلى. للحصول على معلومات حول كيفية إجراء ترقيات إصدار ثانوي، راجع وثائق ترقية الوظيفة الإضافية Istio.
تكوين موارد بيانات تتبع الاستخدام
يوضح المثال التالي كيف يمكن تمكين تسجيل وصول Envoy عبر الشبكة للوظيفة الإضافية Istio عبر واجهة برمجة تطبيقات القياس عن بعد باستخدام asm-1-22
(ضبط المراجعة حسب الحاجة). للحصول على إرشادات حول تخصيصات واجهة برمجة تطبيقات بيانات تتبع الاستخدام الأخرى للوظيفة الإضافية، راجع قسم نطاق دعم واجهة برمجة تطبيقات بيانات تتبع الاستخدام ووثائق Istio.
توزيع نماذج التطبيقات
تسمية مساحة الاسم لحقن sidecar:
kubectl label ns default istio.io/rev=asm-1-22
sleep
نشر التطبيق وتعيين 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})
بعد ذلك، انشر httpbin
التطبيق:
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/httpbin/httpbin.yaml
تمكين تسجيل وصول Envoy باستخدام واجهة برمجة تطبيقات Istio Telemetry
انشر مورد Istio v1
Telemetry API التالي لتمكين تسجيل وصول Envoy لمجموعة الشبكات بأكملها:
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
اختبار سجلات الوصول
إرسال طلب من sleep
إلى httpbin
:
kubectl exec "$SOURCE_POD" -c sleep -- curl -sS -v httpbin:8000/status/418
تحقق من أن سجلات الوصول مرئية للحجيرة sleep
:
kubectl logs -l app=sleep -c istio-proxy
ينبغي أن تشاهد المخرج التالي:
[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
الآن، تحقق من أن سجلات الوصول مرئية للحجيرة httpbin
:
kubectl logs -l app=httpbin -c istio-proxy
ينبغي أن تشاهد المخرج التالي:
[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
نطاق دعم واجهة برمجة تطبيقات بيانات تتبع الاستخدام
بالنسبة إلى الوظيفة الإضافية Istio service mesh ل AKS، يتم تصنيف حقول واجهة برمجة تطبيقات بيانات تتبع الاستخدام على أنها allowed
supported
قيم و وblocked
. لمزيد من المعلومات حول نهج دعم الوظيفة الإضافية Istio للميزات وتكوينات الشبكة، راجع مستند نهج دعم الوظيفة الإضافية Istio.
تكوينات واجهة برمجة تطبيقات بيانات تتبع الاستخدام التالية إما allowed
أو supported
للوظيفة الإضافية Istio. أي حقل غير مضمن في هذا الجدول هو blocked
.
حقل واجهة برمجة تطبيقات بيانات تتبع الاستخدام | معتمد/مسموح به | ملاحظات |
---|---|---|
accessLogging.match |
مدعوم | - |
accessLogging.disabled |
مدعوم | - |
accessLogging.providers |
مسموح | موفر سجل الوصول الافتراضي envoy مدعوم. للحصول على تجربة مدارة لجمع السجل والاستعلام، راجع Azure Monitor Container Insights Log Analytics. تعد حلول جمع السجلات والتحليلات allowed الخاصة بجهات خارجية أو مفتوحة المصدر غير مدعومة. |
metrics.overrides |
مدعوم | - |
metrics.providers |
مسموح | يتم دعم مجموعة المقاييس باستخدام Azure Monitor Managed Prometheus . تعد حلول allowed استخراج المقاييس من جهة خارجية أو مفتوحة المصدر غير مدعومة. |
tracing.* |
مسموح | جميع تكوينات التتبع غير allowed مدعومة. |
Azure Kubernetes Service