إذا كنت قادمًا من خلفية في مجال التطوير، فربما تكون على دراية بمصطلح مدير الحزم (Package Manager). تتيح لك مدراء الحزم تثبيت التبعيات، وترقية الإصدارات وخفضها، وما إلى ذلك. في هذا البرنامج التعليمي، سنلقي نظرة على مدير حزم شائع جدًا لـ Kubernetes، يسمى Helm.
يساعد Helm في إدارة تطبيقات Kubernetes. باستخدام Helm، يمكنك تحديد تطبيق Kubernetes، وتحديد البيانات التعريفية للتطبيق، والتبعيات، والتكوينات. يمكن لـ Helm أيضًا تثبيت التطبيقات على Kubernetes، بالإضافة إلى ترقية التطبيقات وخفض إصدارها. أخيرًا، يمكنك مشاركة تطبيقك مع الآخرين باستخدام ملف Helm. في هذا البرنامج التعليمي، سنوضح لك كيفية تثبيت Helm 3، بالإضافة إلى إعداد وترقية واستعادة وإدارة المخططات (charts) والإصدارات (releases) على نظام التشغيل Windows.
دعنا نبدأ!
المتطلبات الأساسية
قبل أن نبدأ البرنامج التعليمي، عليك التأكد من تثبيت البرامج التالية أولاً:
-
إذا لم تكن قد قمت بإعداد Kubernetes على Windows، فإن أسهل طريقة للبدء هي استخدام Docker Desktop. انتقل إلى https://www.docker.com/products/docker-desktop. قم بتنزيل وتثبيت Docker Desktop. في هذا البرنامج التعليمي، سنعمل على نظام التشغيل Windows. لذلك، سنحتاج إلى تثبيت WSL 2 Backend. هذا نظام فرعي لنظام Linux مخصص لنظام Windows ويمكّن دعم Docker:

بمجرد أن يصبح Docker Desktop جاهزًا، انتقل إلى Settings -> Kubernetes، وحدد الخيار الذي يقول Enable Kubernetes:


للتحقق مما إذا كان كل شيء يعمل بشكل جيد، انتقل إلى terminal/powershell أيًا كان النظام الذي تستخدمه واكتب الأمر أدناه:
|
1 |
kubectl |
إذا رأيت المخرجات أدناه، فأنت جاهز للبدء:

بدلاً من ذلك، إذا قررت العمل على Ubuntu، يمكنك اتباع دليلنا المفصل: كيفية تثبيت واستخدام Kubernetes على Ubuntu 20.04.
بالإضافة إلى ذلك، قبل أن نبدأ بعملية التثبيت، دعنا نلقي نظرة على بعض المصطلحات الأساسية المرتبطة بـ Helm.
-
المخططات (Charts)
يتم حزم ملفات Kubernetes YAML في مخططات Helm.
-
مستودعات Helm (Helm Repositories)
يوفر Helm دعمًا للمستودعات. مستودع Helm هو موقع يضم مخططات Helm حتى يتمكن الآخرون من استخدامها. يتيح لك Helm إنشاء مستودعاتك الخاصة بالإضافة إلى دعم مستودعات الطرف الثالث.
-
Tiller
Tiller هو مكون الخادم لـ Helm. يجب تثبيته على عنقود Kubernetes. يأخذ مخطط Helm ويقوم بتكوين العنقود وفقًا لذلك.
يمكنك أيضًا إلقاء نظرة على منشور المدونة الخاص بنا الذي يقدم نظرة عامة مفصلة عن Helm ويشرح طرق Helm لتبسيط نشر التطبيقات على Kubernetes.
الآن، نحن جاهزون للبدء!
الخطوة 1: تثبيت Helm 3
تثبيت Helm 3 هي عملية مباشرة. الإصدارات متاحة على صفحة Helm على GitHub. يمكنك تنزيل الإصدار الذي ستستخدمه بناءً على نظام التشغيل الذي تختاره. في هذا البرنامج التعليمي، سنستخدم نظام التشغيل Windows، لذا بالنسبة لنظام Windows، اتبع الخطوات أدناه:
-
في صفحة GitHub، قم بتنزيل ملفات Helm الثنائية لنظام التشغيل Windows.
-
بمجرد انتهاء التنزيل، ستجد الأرشيف المضغوط في مجلد Downloads أو أينما قمت بتنزيله.
-
بعد ذلك، انقل هذا الأرشيف إلى مكان مناسب وفك ضغطه. يجب أن تجد ملف helm.exe في المحتويات التي تم فك ضغطها:

-
انسخ مسار المجلد وأضفه إلى متغير PATH في متغيرات البيئة الخاصة بنظامك.
-
بمجرد الانتهاء، افتح الطرفية واكتب الأمر أدناه:
|
1 |
helm |
إذا رأيت المخرجات أدناه، فهذا يعني أنك قد انتهيت تمامًا من تثبيت Helm. يمكنك بعد ذلك الانتقال إلى الخطوات التالية:

الخطوة 2: إعداد المستودعات وتثبيت مخطط Helm
يدعم Helm الوصول إلى المستودعات وإدارتها. المستودعات هي المكان الذي يتم فيه تخزين مخططات Helm. في البداية، لا يمتلك Helm مستودعًا خاصًا به. بدلاً من ذلك، يشجع Helm المديرين وأخصائيي DevOps على إنشاء مستودعاتهم الخاصة. هذا يعني أنه إذا كنت تريد الحصول على MongoDB على عنقود Kubernetes الخاص بك، فستحتاج إلى إضافته إلى مستودع Helm بنفسك. لمساعدتك في العثور على المستودعات، يمكنك استخدام Artifact.io. إنه كتالوج مفتوح المصدر لجميع مخططات Helm، وتتم إدارته بواسطة the CNCF.
سنوضح لك أدناه كيفية إعداد مستودع وتنزيل البرنامج وتثبيته. سنأخذ تثبيت MongoDB كمثال. لنفترض أنك تريد تثبيت MongoDB على مجموعة Kubernetes الخاصة بك. اتبع الخطوات أدناه للتثبيت:
-
أولاً، انتقل إلى https://artifacthub.io.
-
بعد ذلك، ابحث عن MongoDB. بمجرد البحث، سترى أن هناك العديد من الخيارات المتاحة. الخيار الذي يهمنا هو MongoDB by Bitnami:

-
عند انتهاء البحث، سترى خيارات مختلفة. مقابل كل مخطط، يمكنك رؤية الناشر والإصدار والمعلومات الأخرى ذات الصلة. بمجرد تحديد موقع المخطط الذي تريده، تحتاج إلى تحديده. هنا نقوم بالنقر فوق MongoDB by Bitnami:

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

-
إليك كل ما تحتاجه لتثبيت MongoDB. أولاً، تحتاج إلى إضافة المستودع ثم تثبيت المخطط. لإضافة المستودع، افتح الطرفية واكتب الأمر:
|
1 |
helm repo add bitnami https://charts.bitnami.com/bitnami |
ستجد المخرجات أدناه:

الآن بعد أن قمت بإعداد المستودع، تحتاج إلى تثبيت المخطط. انسخ الأمر من مربع الحوار ثم قم بتشغيله:
|
1 |
helm install my-mongodb bitnami/mongodb --version 10.23.10 |
بمجرد انتهاء العملية، ستكون جاهزاً تماماً مع MongoDB.
الخطوة 3: إدارة الإصدارات
في تطوير البرمجيات، تعد إدارة الإصدارات أمراً حيوياً. هناك دائماً أوقات تحتاج فيها إلى التحديث أو التراجع إلى الإصدارات السابقة. لحسن الحظ، تعد إدارة الإصدارات في Helm عملية مباشرة نسبياً. يحتفظ Helm بأرقام الإصدارات بحيث يمكنك دائماً التراجع إلى الإصدار السابق. وبالمثل، لنفترض أن تطبيقك قد تم نشره وهو قيد التشغيل الفعلي، وتحتاج إلى إجراء تكوينات - يدعم Helm هذا أيضاً. سنستعرض أدناه بعض أفضل الممارسات لمساعدتك في تنفيذ هذه العمليات.
-
كيفية تحديث التطبيق
لنفترض أنه في ملف values.YAML الخاص بك، تذكر أنك بحاجة إلى تشغيل مثيلين من التطبيق. قد يكون هذا لأن تطبيقك يجب أن يكون عالي التوفر. ولكن لاحقاً، تدرك أن التطبيق يحتاج إلى ثلاثة مثيلات. بدون Helm، ستحتاج إلى إيقاف التطبيق أولاً ثم تكوينه وإعادة نشره. باستخدام Helm، يمكنك أولاً إجراء تغييرات في ملف values.YAML ثم قم ببساطة بتنفيذ الأمر أدناه. في الدليل الذي توجد به ملفات Helm، نفذ الأمر التالي:
|
1 |
helm upgrade <app-name> |
-
كيفية التراجع عن الإصدار
الآن لنفترض أن إصدارك قد تعطل. ربما قمت بتكوين أرقام منافذ أو مسارات خاطئة. للتراجع إلى أي إصدار سابق، كل ما عليك فعله هو تنفيذ الأمر أدناه، ومن ثم سيقوم Helm بإعادة الإصدار إلى النسخة السابقة:
|
1 |
C:\> helm rollback <release> |
سيتولى Helm رعاية جميع الإصدارات وتحديد النسخ. هذه واحدة من أكبر المزايا لاستخدام Helm مع Kubernetes. لرؤية جميع إصدارات أي تطبيق، نفذ الأمر أدناه في الدليل الذي يحتوي على مخططات Helm وملفات YAML:
|
1 |
helm history RELEASE |
الخطوة 4: إنشاء مخططك الخاص
أخيراً، الآن بعد أن أصبحت مرتاحاً في استخدام Helm وفهمت كيفية عمله، حان الوقت لإنشاء مخططك الخاص. من خلال إنشاء مخطط مخصص خاص بك، يمكنك بسهولة توزيع تطبيقك بالإضافة إلى استضافته في أي مستودع. يعد إنشاء مخططك عملية بسيطة إلى حد ما إذا اتبعت الخطوات التي سنوضحها أدناه. أولاً، افتح الطرفية ونفذ الأمر أدناه:
|
1 |
helm create <chart-name> |
سيؤدي هذا إلى إنشاء الدليل بالاسم الذي قدمته. نحن نستخدم الاسم my-app. فلنستعرض محتويات المجلد:
|
1 2 |
cd my-app ls |
ستحصل على الهيكل الموضح أدناه:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
charts/ templates/ ├─ tests/ │ ├─ test-connection.yaml ├─ deployment.yaml ├─ hpa.yaml ├─ ingress.yaml ├─ NOTES.txt ├─ service.yaml ├─ serviceaccount.yaml ├─ _helpers.tpl ├─ .helmignore ├─ Chart.yaml ├─ values.yaml |
فيما يلي ملخص للمحتوى في المخرجات:
- مجلد charts – يُستخدم لإضافة المخططات التابعة.
- مجلد templates – التكوينات التي سيتم نشرها في العنقود.
- ملف YAML – مخطط لهيكل مخطط Helm.
- ملف YAML – معلومات التنسيق لتكوين المخطط.
بعد ذلك، اتبع الخطوات أدناه لتثبيت مخططك وتكوينه:
-
تكوين الصورة والسحب
افتح ملف values.YAML . ابحث هنا عن عقدة الصورة. بعد ذلك، يمكنك تكوينها كما تشاء. القيم الممكنة هي IfNotPresent, Always, Latest. يمكنك العثور على المجموعة الكاملة من القيم في الوثائق الرسمية.
-
تجاوز اسم المخطط
هذه الخطوة اختيارية، لذا يمكنك تخطيها إذا أردت:

-
اسم الخدمة
افتح ملف
values.YAML وحدد موقع
serviceName. ثم أضف الاسم المطلوب. من الجيد أن يكون لديك اسم جاهز قبل تثبيت المخطط:

-
تثبيت المخطط
أخيرًا، لتثبيت المخطط، قم بتشغيل الأمر أدناه:
|
1 |
helm install <full name override> <chart name>/ --values <chart name>/values.yaml |
ننصحك باستكشاف جميع الخيارات المتاحة لتكوين مخططك بعناية قبل نشره على العنقود.
لماذا يحب المطورون Helm
يكتسب Helm شعبية متزايدة بين المطورين ومتخصصي DevOps الذين يتعين عليهم تشغيل عمليات النشر وإيقافها من حين لآخر. إليك بعض الفوائد الرئيسية لـ Helm:
-
يبسط Helm عملية النشر. فهو لا يقدم شيئًا جديدًا لتعلمه، بل يجعل عمليات نشر YAML الحالية قابلة للتكوين بسهولة من قبل المستخدم.
-
بدلاً من تغيير التكوين بشكل متكرر مثل عدد العناقيد أو المنافذ، يجعل Helm ذلك قابلاً للتكوين بسهولة. كل ما يحتاجه المستخدم هو تحديث القيم في ملف values.YAML .
-
يتيح Helm مشاركة التطبيق مع مستخدمين آخرين من خلال حزمه في المستودعات.
الخاتمة
في هذا البرنامج التعليمي، استعرضنا كيفية إعداد مدير حزم Helm من الصفر على نظام التشغيل Windows. وتطرقنا إلى مفاهيم رئيسية مختلفة يجب فهمها بوضوح للاستفادة من قدرات Helm. كما رأينا وظائف مختلفة متاحة داخل مستودعات Helm المستكشفة. يجب أن تشعر الآن بالارتياح عند التعامل مع Helm وتطبيقه في مشروع/عملية نشر Kubernetes القادمة.
لمزيد من زيادة معرفتك بـ Kubernetes ووظائفه، يمكنك إلقاء نظرة على المزيد من البرامج التعليمية من مدونتنا:
- التعرف على Kubernetes
- كيفية إنشاء عنقود Kubernetes باستخدام Kubeadm على Ubuntu 18.04
- نشر تطبيق PHP على عنقود Kubernetes باستخدام Ubuntu 18.04
حوسبة سعيدة!
التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.