ProHoster > بلوق > إدارة > كيفية توصيل مجموعات Kubernetes في مراكز بيانات مختلفة
كيفية توصيل مجموعات Kubernetes في مراكز بيانات مختلفة
مرحبًا بك في سلسلة البدء السريع Kubernetes. هذا عمود منتظم يحتوي على أكثر الأسئلة إثارة للاهتمام التي نتلقاها عبر الإنترنت وفي تدريباتنا. إجابات خبراء Kubernetes.
في كثير من الأحيان ، يتم تكرار البنية التحتية وتوزيعها عبر مناطق مختلفة ، لا سيما في البيئات الخاضعة للرقابة.
في حالة عدم توفر منطقة ما ، يتم إعادة توجيه حركة المرور إلى منطقة أخرى لتجنب الانقطاعات.
باستخدام Kubernetes ، يمكنك استخدام إستراتيجية مماثلة وتوزيع أحمال العمل عبر مناطق مختلفة.
يمكن أن يكون لديك مجموعة واحدة أو أكثر لكل فريق أو منطقة أو بيئة أو مجموعة من هذه المجموعات.
يمكن استضافة مجموعاتك عبر سحابة متعددة وفي أماكن العمل.
ولكن كيف تخطط للبنية التحتية لمثل هذا الانتشار الجغرافي؟
هل تحتاج إلى إنشاء مجموعة كبيرة واحدة لعدة بيئات سحابية عبر شبكة واحدة؟
أو لديك العديد من المجموعات الصغيرة وتجد طريقة للتحكم فيها ومزامنتها؟
مجموعة قيادة واحدة
إن إنشاء مجموعة واحدة عبر شبكة واحدة ليس بهذه السهولة.
تخيل أنك تعرضت لحادث ، فقد الاتصال بين أجزاء الكتلة.
إذا كان لديك خادم رئيسي واحد ، فلن يتمكن نصف الموارد من تلقي أوامر جديدة لأنها لن تكون قادرة على الاتصال بالسيد.
وفي نفس الوقت لديك جداول توجيه قديمة (kube-proxy لا يمكن تنزيل ملفات جديدة) ولا توجد وحدات قرون إضافية (لا يمكن لـ kubelet الاستعلام عن التحديثات).
والأسوأ من ذلك ، إذا لم يتمكن Kubernetes من رؤية العقدة ، فإنه يميزها على أنها يتيمة ويوزع القرون المفقودة على العقد الموجودة.
نتيجة لذلك ، لديك ضعف عدد القرون.
إذا قمت بإنشاء خادم رئيسي واحد لكل منطقة ، فستكون هناك مشاكل في خوارزمية الإجماع في قاعدة البيانات إلخ. (تقريبا. إد. - في الواقع ، لا يجب أن تكون قاعدة البيانات etcd موجودة على الخوادم الرئيسية. يمكن تشغيله على مجموعة منفصلة من الخوادم في نفس المنطقة. ومع ذلك ، فقد تلقى في نفس الوقت نقطة فشل الكتلة. لكن بسرعة.)
يستخدم إلخ خوارزمية الطوافةللاتفاق على قيمة قبل كتابتها على القرص.
وهذا يعني أن معظم الحالات يجب أن تتوصل إلى إجماع قبل أن تتم كتابة الدولة إلى الخ.
إذا ارتفع زمن الانتقال بين مثيلات etcd ، كما هو الحال مع ثلاث حالات أخرى في مناطق مختلفة ، فسيستغرق الأمر وقتًا طويلاً للاتفاق على قيمة وكتابتها على القرص.
ينعكس هذا في وحدات تحكم Kubernetes أيضًا.
يحتاج مدير وحدة التحكم إلى مزيد من الوقت للتعرف على التغيير وكتابة الرد على قاعدة البيانات.
وبما أن وحدة التحكم ليست واحدة ، بل عدة ، يتم الحصول على تفاعل متسلسل ، وتبدأ المجموعة بأكملها في العمل ببطء شديد.
ولكن بدلاً من ابتكار طريقة جديدة للتفاعل مع المجموعة وموارد الالتفاف في تعريفات مخصصة ، يتم إدخال برنامج الجدولة متعدد المجموعات في دورة حياة Kubernetes القياسية واعتراض جميع المكالمات التي تنشئ pods.
يمر الكبسولة الأصلية بدورة جدولة أخرى حيث يتم اتخاذ قرار الاستضافة بعد استقصاء الاتحاد بأكمله.
أخيرًا ، يتم تسليم الكبسولة إلى الكتلة المستهدفة.
نتيجة لذلك ، لديك حجرة إضافية لا تفعل شيئًا ، فقط تشغل مساحة.
الميزة هي أنك لست مضطرًا إلى كتابة موارد جديدة للجمع بين الإمدادات.
كل مورد يقوم بإنشاء جراب جاهز تلقائيًا للتوحيد.
هذا مثير للاهتمام ، لأن لديك إمدادات فجأة موزعة على عدة مناطق ، ولم تلاحظ. ومع ذلك ، هذا أمر محفوف بالمخاطر ، لأن كل شيء هنا يعتمد على السحر.
ولكن بينما تحاول شركة Shipper بشكل أساسي التخفيف من آثار الشحنات ، يكون برنامج الجدولة متعدد المجموعات أكثر عمومية وربما يكون أكثر ملاءمة لوظائف الدُفعات.
ليس لديها آلية تسليم تدريجية متقدمة.
يمكن العثور على المزيد حول برنامج الجدولة متعدد المجموعات على صفحة المستودع الرسمية.
إذا كنت تريد أن تقرأ عن جدولة المجموعات المتعددة أثناء العمل ، فإن Admiralty لديها حالة استخدام مثيرة للاهتمام مع Argo - سير العمل ، الأحداث ، CI و CD Kubernetes.
أدوات وحلول أخرى
يعد توصيل مجموعات متعددة وإدارتها مهمة معقدة ، ولا يوجد حل واحد يناسب الجميع.
إذا كنت تريد معرفة المزيد حول هذا الموضوع ، فإليك بعض الموارد:
يوفر Cilium ، وهو مكون إضافي لواجهة شبكة الحاويات وظيفة شبكة الكتلة، والذي يسمح لك بدمج عدة مجموعات
هذا كل شيء لهذا اليوم
شكرا لك على القراءة حتى النهاية!
إذا كنت تعرف كيفية توصيل مجموعات متعددة بكفاءة أكبر ، أخبرنا.
سنضيف طريقتك إلى الروابط.
شكر خاص لكريس نيسبيت سميث (كريس نيسبيت سميث) وفينسنت دي سمي (فنسنت دي سميت) (لمهندس الموثوقية في swatmobile.io) لقراءة المقال ومشاركة معلومات مفيدة حول كيفية عمل الاتحاد.