"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > نشر مكدس المراقبة مع Kubernetes وHelm وIngress

نشر مكدس المراقبة مع Kubernetes وHelm وIngress

تم النشر بتاريخ 2024-11-08
تصفح:140

Deploying a Monitoring Stack with Kubernetes, Helm, and Ingress

تعد مراقبة أداء مجموعة Kubernetes وإدارته أمرًا ضروريًا للحفاظ على سلامة التطبيق، وتحديد المشكلات، وضمان التوفر العالي. سأرشدك خلال إعداد حل مراقبة شامل باستخدام kubectl وHelm، ونشر Grafana، وLoki، وPrometheus في مجموعتك، وإعداد Ingress للوصول الخارجي.

سنغطي الخطوات الرئيسية التالية:

  1. تطبيق مساحة اسم Kubernetes للمراقبة.
  2. تثبيت هيلم وإعداد المستودعات اللازمة.
  3. نشر Loki وPrometheus وGrafana باستخدام Helm.
  4. تطبيق قواعد الدخول لعرض الخدمات خارجيا.

المتطلبات الأساسية
قبل أن تبدأ، تأكد من حصولك على ما يلي:

  1. مجموعة Kubernetes مع تكوين kubectl.
  2. تم تثبيت Helm على جهازك المحلي.
  3. الوصول المناسب لتطبيق تكوينات YAML وتثبيت المخططات.

الخطوة 1: إنشاء مساحة اسم للمراقبة

تساعدك مساحات الأسماء على تقسيم موارد Kubernetes وتنظيمها بشكل منطقي. لتجنب التعارضات والحفاظ على موارد المراقبة منفصلة، ​​سنقوم بإنشاء مساحة اسم مخصصة لأدوات المراقبة.

1. تطبيق مساحة اسم المراقبة: احفظ المحتوى التالي في ملف monitoring-namespace.yml:

إصدار API: الإصدار 1
النوع: مساحة الاسم
البيانات الوصفية:
الاسم: المراقبة
التسميات:
app.kubernetes.io/name: المراقبة
app.kubernetes.io/instance: المراقبة

2. قم بتطبيق مساحة الاسم باستخدام kubectl:

تطبيق kubectl -f مراقبة namespace.yml

يقوم هذا الأمر بإنشاء مساحة اسم جديدة تسمى المراقبة في مجموعة Kubernetes الخاصة بك.

الخطوة 2: تثبيت Helm وإضافة مستودع Grafana
يعمل Helm، مدير الحزم Kubernetes، على تسهيل نشر التطبيقات المعقدة مثل Grafana وLoki وPrometheus. إليك كيفية تثبيت Helm وإعداد المستودع اللازم.

  1. تثبيت Helm (إذا لم يكن مثبتًا بالفعل):

Sudo snap install helm - كلاسيكي

يقوم هذا الأمر بتثبيت Helm باستخدام Snap، وهو نظام إدارة الحزم لنظام التشغيل Linux.

  1. أضف مستودع مخططات Grafana Helm:

إضافة جرافانا هيلم ريبو https://grafana.github.io/helm-charts

  1. تحديث مستودعات Helm:

تحديث الريبو الرئيسي

يضمن هذا حصول Helm على أحدث المخططات من مستودع Grafana.

الخطوة 3: نشر Loki وPrometheus وGrafana باستخدام Helm

الآن بعد تثبيت Helm وتكوينه، سنقوم بنشر Loki وPrometheus وGrafana باستخدام مخطط Grafana Helm.

1. قم بتشغيل أمر تثبيت Helm:

ترقية القيادة --تثبيت loki --namespace=monitoring grafana/loki-stack \
--set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false,loki.persistence.enabled=true,loki.persistence.storageClassName=gp2 ,loki.persistence.size=100Gi --setNodeSelector.name=node.kubernetes.io/description=all_production

ج: Grafana: **يعمل هذا على تمكين Grafana، أداة لوحة التحكم للمراقبة، ضمن مخطط Helm.
**ب: Prometheus: **تم تمكين Prometheus لجمع المقاييس، بينما يتم تعطيل وحدات التخزين المستمرة لـ Alertmanager وخادم Prometheus لتبسيط تكوين التخزين.
**C: Loki:
تم تمكين Loki، أداة تجميع السجلات، من خلال تخزين ثابت بحجم 100Gi باستخدام فئة التخزين gp2.

تضمن العلامة --install تثبيت المكدس إذا لم يتم نشره مسبقًا. تقوم علامة --upgrade بتحديث المكدس إلى الإصدار الأحدث إذا كان مثبتًا بالفعل.

2. التحقق من التثبيت: بعد التثبيت الناجح، تحقق من حالة القرون التي تعمل في مساحة اسم المراقبة:

احصل على pods -n مراقبة

من المفترض أن تشاهد كبسولات Grafana وPrometheus وLoki وPromtail (التي تشحن السجلات إلى Loki).

الخطوة 4: إعداد الدخول للوصول الخارجي

للوصول إلى Grafana أو Prometheus أو Loki من خارج مجموعتك، تحتاج إلى تكوين مورد Ingress. وهذا يسمح بالوصول الخارجي عبر HTTP/S إلى خدمات المراقبة.

*1. إنشاء مورد دخول: احفظ المثال التالي في ملف monitoring-ingress.yml:
*

إصدار واجهة برمجة التطبيقات: Network.k8s.io/v1
النوع: دخول
البيانات الوصفية:
الاسم: مراقبة الدخول
مساحة الاسم: المراقبة
الشروح:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: Letsencrypt
المواصفات:
تلس:
- المضيفين:

- your-domain.com
الاسم السري: اسم الشهادة
قواعد:
- المضيف: your-domain.com
http:
المسارات:
- طريق: /
نوع المسار: بادئة
الخلفية:
خدمة:
الاسم: لوكي جرافانا
ميناء:
الرقم : 80

يقوم تكوين Ingress هذا بإعداد التوجيه لـ Grafana وPrometheus وLoki تحت اسم المجال {your-domain.com}. ستحتاج إلى استبدال your-domain.com بنطاقك الفعلي وتهيئة DNS للإشارة إلى عنوان IP الخارجي لمجموعتك.

2. تطبيق مورد الدخول:

تطبيق kubectl -f مراقبة-ingress.yml

بمجرد التطبيق، ستقوم وحدة التحكم في الدخول بتوجيه حركة المرور إلى الخدمات المناسبة بناءً على اسم المضيف.

  1. التحقق من إعداد الدخول: تحقق من حالة مورد الدخول الخاص بك للتأكد من تكوينه بشكل صحيح:

kubectl الحصول على مراقبة الدخول

تأكد من أن عمود ADDRESS الخاص بك يحتوي على عنوان IP خارجي حتى يمكن الوصول إلى الخدمات خارجيًا.

الخطوة 5: الوصول إلى لوحة مراقبة المراقبة

بمجرد تكوين Ingress بشكل صحيح ويشير DNS إلى مجموعتك، يمكنك الوصول إلى Grafana وPrometheus وLoki.

خاتمة

باستخدام عدد قليل من الأوامر، نجحت في نشر حزمة مراقبة كاملة باستخدام Helm في مجموعة Kubernetes الخاصة بك. من خلال الاستفادة من مخططات Helm، يمكنك تبسيط نشر التطبيقات المعقدة مثل Grafana وLoki وPrometheus مع دمج Ingress أيضًا لسهولة الوصول إليها. لديك الآن إعداد قوي لقابلية المراقبة يسمح لك بمراقبة السجلات والمقاييس في الوقت الفعلي، مما يساعدك على إدارة تطبيقات Kubernetes وتحسينها بشكل أكثر فعالية.

يضمن هذا النشر المستند إلى Helm قابلية التوسع وتبسيط الترقيات أو تغييرات التكوين، مما يسهل إدارة إمكانية المراقبة في بيئة الإنتاج.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/seewhy/deploying-a-monitoring-stack-with-kubernetes-helm-and-ingress-cp5?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3