عن المشروع
Flannel حل بسيط وفعّال لبناء نسيج شبكي، صُمّم أساسًا لبيئات Kubernetes، ويدعم أيضًا نشرات Docker. تتمثل وظيفته الأساسية في إنشاء شبكة IPv4 من الطبقة الثالثة بين عقد متعددة داخل العنقود، بما يضمن حصول كل حاوية (pod) على عنوان IP فريد وقابل للتوجيه. يبسّط هذا النموذج إدارة الشبكة بإزالة التعقيدات المرتبطة بمشاركة عناوين IP الخاصة بالمضيفين.
### البنية الأساسية ###
يعمل Flannel عبر وكيل ثنائي خفيف يُسمى `flanneld`، يعمل على كل مضيف داخل العنقود. يتولى الوكيل تخصيص امتياز شبكة فرعية لكل مضيف من مساحة عنوان مُعدّة مسبقًا. ولتخزين الحالة والإعدادات، يستخدم Flannel واجهة Kubernetes API مباشرة، وهي المعروفة باسم kube subnet manager، أو عنقود etcd خارجي. وتتيح هذه المرونة تخزين إعدادات الشبكة والشبكات الفرعية المخصّصة، وبيانات مساعدة مثل عناوين IP العامة للمضيفين.
### آليات الخلفية ###
تتم معالجة تمرير الحزم بين المضيفين من خلال آليات خلفية متعددة، منها VXLAN للشبكات فوقية، وتكاملات مخصّصة لمزودي خدمات سحابية مختلفين. ويمكن للمستخدمين اختيار الآلية الأنسب لمتطلبات البنية التحتية لديهم.
### دعم سياسات الشبكة ###
يركز Flannel على الاتصال ولا يفرض السياسات، لكنه يوفر خيارات للتكامل معها:
- **متحكّم مدمج:** يتضمن مخطط Helm الخاص بـ Flannel خيارًا لنشر متحكّم سياسة الشبكة التابع لـ Kubernetes SIGs إلى جانب Flannel.
- **متحكّمات من أطراف ثالثة:** يمكن للمستخدمين ربط Flannel بمشاريع أخرى مثل Calico أو Cilium لفرض سياسات متقدمة، وربما استخدام تسلسل CNI.
### خيارات النشر ###
بالنسبة إلى عناقيد Kubernetes، يمكن نشر Flannel يدويًا أو باستخدام مديري الحزم:
- **kubectl:** يمكن للمستخدمين تطبيق المخطط الرسمي مباشرة باستخدام `kubectl apply`.
- **Helm:** يتيح مستودع Helm مخصص تثبيته وإدارة إعداداته بسهولة.
يُوصى باستخدام المخططات المرفقة بكل إصدار لضمان التوافق. كما يتطلب نشر Flannel تحميل وحدة النواة `br_netfilter`، وتركيب إضافات شبكة CNI داخل `/opt/cni/bin`.
في البيئات غير المخصصة لـ Kubernetes، مثل نشرات Docker المستقلة، يعتمد Flannel دائمًا على etcd كمستودع بيانات. وتوفر الوثائق إرشادات مفصلة لهذه السيناريوهات.
### المجتمع والتراخيص ###
Flannel مشروع مفتوح المصدر مرخّص بموجب Apache 2.0. وهو يتمتع بمجتمع نشط يضم اجتماعات منتظمة للمشرفين، وقنوات دعم في Slack (#k3s على Rancher Slack، و#flannel-users على Calico Slack)، ووثائق شاملة تغطي البناء والإعداد ومعالجة الأعطال والتكاملات.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.