تنفيذ KubeVirt: من يحتاج إليه ولماذا؟

إن اعتماد هياكل السحابة-native والتعبئة الحاوية يغير الطريقة التي نطور بها، وننشر، وندير التطبيقات. توفر الحاويات السرعة، والمرونة، وقابلية التوسع، مما يعزز تحولًا كبيرًا في استراتيجيات تكنولوجيا المعلومات. ومع ذلك، فإن الواقع بالنسبة للعديد من المؤسسات هو أن الآلات الافتراضية (VMs) لا تزال تلعب دورًا حاسمًا، خاصة عندما يتعلق الأمر بالتطبيقات القديمة أو ذات الحالة. حتى المؤسسات المالية الرائدة مثل جولدمان ساكس تعترف بقيمة الآلات الافتراضية جنبًا إلى جنب مع أحمال العمل المعبأة في حاويات وتستكشف طرقًا لإدارتها بكفاءة.

هذا يخلق انقسامًا محتملًا: فوائد التعبئة الحاوية من جهة والحاجة المستمرة للآلات الافتراضية من جهة أخرى. يعمل KubeVirt على سد هذه الفجوة من خلال توسيع قوة Kubernetes لإدارة الآلات الافتراضية، مما يمنحك القدرة على توحيد بنيتك التحتية مع تمكين انتقال أكثر سلاسة إلى تكنولوجيا السحابة-native.

في هذه المقالة، نستكشف لماذا يعد KubeVirt حلاً جذابًا للمؤسسات التي تسعى إلى تبسيط عمليات تكنولوجيا المعلومات وكسب المرونة في بيئة البنية التحتية الهجينة.

ما هو KubeVirt بالضبط؟

KubeVirt هو مشروع مفتوح المصدر يحول Kubernetes إلى منصة قوية قادرة على إدارة كل من الحاويات والآلات الافتراضية. ببساطة، يحول KubeVirt Kubernetes إلى مستوى تحكم واحد لبنيتك التحتية بالكامل.

إليك كيف يعمل:

  • كيوفيرت كامتداد: يضيف كيوفيرت تعريفات موارد مخصصة (CRDs) إلى كوبرنيتس، مما يقدم نوع كائن جديد يمثل الآلات الافتراضية.
  • الآلات الافتراضية كـ “حاويات”: باستخدام كيوفيرت، تعمل كل آلة افتراضية ضمن حاوية متخصصة، مما يدمج الآلات الافتراضية بشكل وثيق في نظام كوبرنيتس البيئي.
  • إدارة مبسطة للآلات الافتراضية مع كوبرنيتس: يمكنك الآن الاستفادة من نفس أدوات كوبرنيتس (kubectl وواجهة برمجة التطبيقات لكوبرنيتس) وأفضل الممارسات لإنشاء، بدء، إيقاف، ترحيل، ومراقبة الآلات الافتراضية جنبًا إلى جنب مع أعباء العمل المحوسبة الخاصة بك.

فكر في كيوفيرت كتمكين كوبرنيتس من التحدث بلغة الافتراضية، مما يفتح عالمًا من الاحتمالات لإدارة بنيتك التحتية.

أثر كيوفيرت على الأعمال

يوفر كيوفيرت فوائد ملموسة تتجاوز الأناقة الفنية. من خلال اعتماد كيوفيرت، يمكن لمؤسستك أن تستفيد من التالي:

  • إدارة أعباء العمل بسلاسة: كسر الحواجز بين تطبيقاتك القائمة على الآلات الافتراضية وأعباء العمل المحوسبة. إدارة كل شيء من منصة واحدة باستخدام نفس الأدوات والعمليات، مما يبسط العمليات بشكل كبير ويقلل من التعقيد.
  • كفاءة محسّنة للموارد: يمكّنك كيوفيرت من تشغيل كل من الآلات الافتراضية التقليدية والحاويات على نفس أجهزة الكلاستر الأساسية. تحسين استخدام الموارد، وزيادة كثافة البنية التحتية، وتحقيق توفيرات كبيرة في التكاليف.
  • تسارع التحديث الحديث: التطبيقات التقليدية المرتبطة بالآلات الظاهرية لا تحتاج إلى أن تكون حاجزًا أمام الابتكار. يوفر KubeVirt مسارًا تدريجيًا لتحديث التطبيقات بالطريقة التي تناسبك. يمكنك تحويل الأجزاء إلى حاويات ونقلها مع مرور الوقت، كل ذلك داخل نفس بيئة Kubernetes، مما يقلل من التشويش.
  • بنية تحتية مضمونة المستقبل: من خلال الاستثمار في KubeVirt، تتماشى مع مبادئ السحابة الأصلية وتجعل Kubernetes العمود الفقري لعمر التكنولوجيا. يعزز ذلك المرونة والحيوية، مما يمكنك من التكيف بسهولة مع متطلبات العمل المتطورة.

لماذا يجب على منظمتك الاهتمام؟

يقدم KubeVirt قيمة مقنعة، خاصة في هذه المجالات:

  • فرق تكنولوجيا المعلومات والتشغيلات التنموية: يبسط KubeVirt العمليات من خلال توفير طائرة تحكم موحدة لجميع أعباء العمل الخاصة بك. يتيح لك تبسيط سير العمل، وتقليل العبء الناتج عن الأدوات، وتحسين كفاءة الفريق بشكل عام.
  • التنفيذيون: احصل على مرونة تشغيلية وحقق تقليلًا في التكاليف ومسارًا مبسطًا نحو تحديث البنية التحتية. يجعل KubeVirt استثمارات التكنولوجيا تتوافق مع نجاح الأعمال على المدى الطويل.
  • أعباء عمل مختلطة: إذا كنت تدير كل من التطبيقات التقليدية المعتمدة على الآلات الظاهرية والنشرات الحديثة المحايدة، فإن KubeVirt أمر ضروري. يتيح لك تجنب الاعتماد على البائع، وتقليل التعقيد، والحفاظ على السيطرة الكاملة على خيارات البنية التحتية لديك.

فيما يلي بعض نقاط الضعف الخاصة التي يتناولها KubeVirt:

  • هل تشعر بالإحباط من إدارة بيئات منفصلة للآلات الظاهرية والحاويات؟ يجمع KubeVirt بينهما، مما يجعل الإدارة أسهل بكثير.
  • بحثت عن المرونة دون التنازل عن الاستثمارات الحالية؟ يتيح لك KubeVirt استغلال بنية التشغيل الخاصة بالآلة الظاهرية أثناء التحديث.
  • هل ترغب في تحسين كفاءة التكلفة واستخدام الموارد؟ يساعد KubeVirt على توحيد أعباء العمل من أجل استخدام أفضل.
  • هل تواجه صعوبات في ترحيل التطبيقات التقليدية؟ حدث التحديث تدريجيًا وتحكم في وتيرتك مع KubeVirt.

البدء: النشر والتنفيذ

يتطلب نشر KubeVirt بيئة Kubernetes مستعدة جيدًا. توفر هذه القسم دليلًا مفصلاً لمساعدتك في إعداد وتنفيذ KubeVirt في بنيتك التحتية.

المتطلبات المسبقة

قبل البدء، تأكد من توافر متطلبات الآتية:

1. مجموعة Kubernetes

تحتاج إلى مجموعة Kubernetes (أو مشتق مثل OpenShift) تعتمد على واحدة من ثلاث إصدارات Kubernetes الأحدث المتاحة في وقت إصدار KubeVirt.

2. تكوين خادم API لـ Kubernetes

يجب تكوين خادم API لـ Kubernetes بـ --allow-privileged=true لتشغيل DaemonSet الخاص بـ KubeVirt.

3. أداة الـ Kubectl

تأكد من تثبيت وتكوين أداة العميل kubectl للتفاعل مع مجموعتك.

4. دعم تشغيل الحاويات

يتم دعم KubeVirt على تشغيلات الحاويات التالية:

  • Containerd
  • crio (بـ runv)

يجب أن تعمل تشغيلات الحاويات الأخرى أيضًا، ولكن الأولوية تذهب إلى تلك المذكورة.

5. التمثيل الافتراضي للأجهزة

يوصى باستخدام الأجهزة التي تدعم التمثيل الافتراضي. يمكنك استخدام virt-host-validate للتأكد من أن المضيفين لديك قادرون على تشغيل أحمال العمل الافتراضية:

YAML

 

اعتبارات الشبكة والأمان

  1. تكوين الشبكة: خطط كيفية اتصال الآلات الافتراضية الخاصة بك وتفاعلها مع الشبكات الخارجية وبقية بيئة Kubernetes الخاصة بك.

  2. تكامل AppArmor: في الأنظمة التي تم تمكين AppArmor عليها، قد تحتاج إلى تعديل ملفات تعريف AppArmor للسماح بتنفيذ حاويات KubeVirt ذات الامتيازات. على سبيل المثال:

YAML

 

تركيب KubeVirt

لتثبيت KubeVirt، اتبع الخطوات التالية:

1. تثبيت مشغل KubeVirt

يبسط مشغل KubeVirt عملية تثبيت وإدارة مكونات KubeVirt. قم بتشغيل الأوامر التالية لنشر أحدث إصدار من KubeVirt:

YAML

 

2. التكوين لعدم وجود تمثيل افتراضي للأجهزة

إذا لم يكن التمثيل الافتراضي للأجهزة متاحًا، قم بتمكين المحاكاة البرمجية عن طريق تعيين useEmulation إلى true في KubeVirt CR:

YAML

 

أفضل ممارسات التنفيذ

للحصول على أقصى استفادة من KubeVirt، اتبع أفضل الممارسات هذه:

1. إجراء تقييم للأحمال

الأفضلية لآليات الإفتراض الحديثة التي تناسب التحميل في حاويات. ابدأ بتطبيقات أقل أهمية لتكسب خبرة عملية.

2. تقييم الشبكات والتخزين

قم بتخطيط كيفية ربط شبكات الآليات الافتراضية مع شبكات Kubernetes الحالية ودمج حلول التخزين للبيانات الثابتة باستخدام الإضافات واجهة تخزين الحاويات (CSI).

3. التركيز على المراقبة والإدارة

استخدم أدوات مراقبة Kubernetes أو استكشف حلول خاصة بـ KubeVirt لكي تحصل على رؤية واضحة حول أداء الآليات الافتراضية جنبًا إلى جنب مع حاوياتك.

4. الترحيل المباشر

فعّل وقم بتكوين الترحيل المباشر لنقل الآليات الافتراضية التي تعمل إلى عقد الحوسبة الأخرى دون أي انقطاع. يتضمن ذلك ضبط بوابات الميزات وتكوين معلمات الترحيل في ملف التخصيص الخاص بـ KubeVirt CR:

YAML

 

مثال على التثبيت على OpenShift (OKD)

إذا كنت تستخدم OKD، الخطوات الإضافية تتضمن تكوين قيود سياق الأمان (SCC):

YAML

 

مثال على التثبيت على k3OS

بالنسبة لـ k3OS، تأكد من تحميل الوحدات المطلوبة على جميع العقد قبل نشر KubeVirt:

YAML

 

أعد تشغيل العقد بهذا التكوين ثم نشر KubeVirt كما هو موضح أعلاه.

تثبيت نسخ المطورين اليومية

بالنسبة لأحدث نسخ المطورين، قم بتشغيل:

YAML

 

النشر من المصدر

من خلال اتباع هذه الخطوات وأفضل الممارسات، يمكنك التأكد من تنفيذ KubeVirt بسلاسة ونجاح، وتوفير حلاً موحدًا لإدارة البنية التحتية يستفيد من كل من الآلات الافتراضية والحاويات.

أفضل الممارسات للتنفيذ

اتبع هذه الأفضل الممارسات للحصول على أقصى استفادة من KubeVirt:

  • إجراء تقييم للأعباء: ليس كل تطبيق مناسب على الفور لـ KubeVirt. قم بتحديد أولويات الآلات الافتراضية التي لديها إمكانية جيدة للتحويل إلى حاويات. يمكن أن تكون التطبيقات غير الحيوية هي وسيلة رائعة لاكتساب الخبرة العملية مع تقليل المخاطر.
  • قيم الشبكات والتخزين: قم بالنظر بعناية في كيفية ربط شبكة الآلات الافتراضية بشبكة Kubernetes الحالية لديك. خطط لتكامل التخزين للبيانات الدائمة باستخدام حلول مثل واجهات برمجة تخزين الحاويات (CSI).
  • ركز على المراقبة والإدارة: اكتشف كيف يمكنك تكييف أدوات مراقبة Kubernetes الحالية أو استكشف حلول KubeVirt الخاصة للحصول على رؤية حول أداء الآلات الافتراضية جنبًا إلى جنب مع الحاويات الخاصة بك.

الاستنتاج

يقدم KubeVirt مسارًا جذابًا للمنظمات التي تسعى لاستغلال فوائد التقنيات السحابية الأصلية بينما تعزز قيمة استثمارات الآلات الافتراضية الحالية. إنه يعزز كفاءة العمليات، ويعزز المرونة، ويسرع رحلتك نحو التحديث.

Source:
https://dzone.com/articles/kubevirt-implementation-who-needs-it-and-why