اختيار المصادر للمرآة¶
تعمل حلول Wallarm eBPF على مرآة المرور وتوفر السيطرة على نطاق مرآة المرور. تسمح لك بإنتاج مرآة الحزم بواسطة أسماء فضاءات Kubernetes والبودات والحاويات. يشرح هذا الدليل كيفية إدارة عملية الاختيار.
هناك عدة طرق متاحة لاختيار الحزم للمرآة:
-
تطبيق الوسم
wallarm-mirror
على فضاء اسم لمرآة كل حركة المرور للبودات داخل هذا الفضاء. -
تطبيق الوسم
mirror.wallarm.com/enabled
على بود معين لمرآة حركة المرور الخاصة به. -
تكوين الإعداد
config.agent.mirror.filters
في ملفvalues.yaml
لمخطط Helm الخاص بWallarm. يسمح هذا الإعداد بتمكين المرآة على مستويات فضاء الاسم والبود والحاوية أو العقدة.
المرآة لفضاء اسم باستخدام الوسم¶
للتحكم في المرآة على مستوى فضاء الاسم، طبق وسم wallarm-mirror
على فضاء الاسم Kubernetes المطلوب واضبط قيمته إما على enabled
أو disabled
، مثلاً:
المرآة لبود باستخدام الوسم¶
للتحكم في المرآة على مستوى البود، استخدم الوسم mirror.wallarm.com/enabled
واضبط قيمته إما على true
أو false
، مثلاً:
kubectl patch deployment <DEPLOYMENT_NAME> -n <NAMESPACE> -p '{"spec": {"template":{"metadata":{"annotations":{"mirror.wallarm.com/enabled":"true"}}}} }'
المرآة لفضاء اسم، بود، حاوية، أو عقدة باستخدام values.yaml
¶
يسمح القسم config.agent.mirror.filters
في ملف values.yaml
بالتحكم الدقيق في مستويات المرآة لحركة المرور. يمكّن هذا النهج من التحكم في المرآة للكيانات التالية:
-
فضاء الاسم - باستخدام المعلم
filters.namespace
-
البود - باستخدام إما
filters.pod_labels
مع وسوم البود أوfilters.pod_annotations
مع وسوم البود -
العقدة - باستخدام المعلم
filters.node_name
-
الحاوية - باستخدام المعلم
filters.container_name
اختيار فضاء اسم¶
لتمكين المرآة لحركة المرور لفضاء اسم معين، حدد اسمه في المعلم filters.namespace
. على سبيل المثال، لتمكين المرآة لحركة المرور لفضاء اسم Kubernetes my-namespace
:
اختيار بود¶
يمكنك اختيار بود لمرآة حركة المرور من خلال وسوم ووسوم توضيحية للبود. وإليك كيفية القيام بذلك:
لتمكين المرآة لحركة المرور لبود يحمل وسم معين، استخدم المعلم pod_labels
.
على سبيل المثال، لتمكين المرآة لحركة المرور لبود يحمل وسم environment: production
:
إذا كانت هناك حاجة لعدة وسوم لتحديد البود، يمكنك تحديد عدة وسوم. على سبيل المثال، يتيح الإعداد التالي للـ Wallarm eBPF مرآة وتحليل حركة المرور للبودات التي تحمل وسوم environment: production و(team: backend أو team: ops)
:
لتمكين المرآة لحركة المرور لبود يحمل وسم توضيحي معين، استخدم المعلم pod_annotations
.
على سبيل المثال، لتمكين المرآة لحركة المرور لبود يحمل الوسم التوضيحي app.kubernetes.io/name: myapp
:
إذا كانت هناك حاجة لعدة وسوم توضيحية لتحديد البود، يمكنك تحديد عدة وسوم توضيحية. على سبيل المثال، يتيح الإعداد التالي للـ Wallarm eBPF مرآة وتحليل حركة المرور للبودات التي تحمل وسوم توضيحية التالية:
اختيار عقدة¶
لتمكين المرآة لحركة المرور لعقدة Kubernetes معينة، حدد اسم العقدة في المعلم filters.node_name
. على سبيل المثال، لتمكين المرآة لحركة المرور للعقدة my-node
في Kubernetes:
اختيار حاوية¶
لتمكين المرآة لحركة المرور لحاوية Kubernetes معينة، حدد اسم الحاوية في المعلم filters.container_name
. على سبيل المثال، لتمكين المرآة لحركة المرور للحاوية my-container
في Kubernetes:
تطبيق التغييرات¶
إذا قمت بتعديل ملف values.yaml
وأردت ترقية مخططك المنشور، استخدم الأمر التالي:
الأولويات بين الوسوم والوسوم التوضيحية والمرشحات¶
عند استخدام طرق اختيار متعددة وتمكين المرآة على مستوى أعلى، يأخذ المستوى الأقل تكويناً الأسبقية.
إذا تم تعطيل المرآة على المستوى الأعلى، لا يتم تطبيق الإعدادات الأدنى منه على الإطلاق، حيث يكون للمستوى الأعلى الأولوية عند تعطيل المرآة لحركة المرور.
في حالة تحديد نفس الكائن للمرآة من خلال وسائل مختلفة (على سبيل المثال، باستخدام وسم بود Wallarm وقسم filters
في ملف values.yaml
)، يأخذ وسم بود Wallarm الأسبقية.
أمثلة¶
توفر الوسوم والوسوم التوضيحية والمرشحات درجة عالية من المرونة في تحديد مستوى المرآة وتحليل حركة المرور. ومع ذلك، يمكن أن تتداخل مع بعضها البعض. إليك بعض أمثلة التكوين لمساعدتك على فهم كيفية عملها معًا.
تكوين متعدد المستويات في values.yaml
¶
فكر في التكوين values.yaml
التالي:
config:
agent:
mirror:
filters:
- namespace: "default"
- namespace: 'my-namespace'
pod_labels:
environment: 'production'
team: 'backend,ops'
pod_annotations:
app.kubernetes.io/name: 'myapp'
يتم تطبيق المرشحات كما يلي:
namespace: default أو(namespace: my-namespace وenvironment: production و(team: backend
أو team: ops) وapp.kubernetes.io/name: myapp)
دمج وسوم فضاء الاسم، ووسوم توضيحية البود، ومرشحات values.yaml
¶
التكوين | النتيجة |
---|---|
| لا يتم مرآة فضاء الاسم |
| لا يتم مرآة البود |
| لا يتم مرآة البود |
| لا يتم مرآة فضاء الاسم |
| لا يتم مرآة البود |