تعد مراقبة أداء مجموعة Kubernetes وإدارته أمرًا ضروريًا للحفاظ على سلامة التطبيق، وتحديد المشكلات، وضمان التوفر العالي. سأرشدك خلال إعداد حل مراقبة شامل باستخدام kubectl وHelm، ونشر Grafana، وLoki، وPrometheus في مجموعتك، وإعداد Ingress للوصول الخارجي.
سنغطي الخطوات الرئيسية التالية:
المتطلبات الأساسية
قبل أن تبدأ، تأكد من حصولك على ما يلي:
الخطوة 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 وإعداد المستودع اللازم.
Sudo snap install helm - كلاسيكي
يقوم هذا الأمر بتثبيت Helm باستخدام Snap، وهو نظام إدارة الحزم لنظام التشغيل Linux.
إضافة جرافانا هيلم ريبو https://grafana.github.io/helm-charts
تحديث الريبو الرئيسي
يضمن هذا حصول 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
بمجرد التطبيق، ستقوم وحدة التحكم في الدخول بتوجيه حركة المرور إلى الخدمات المناسبة بناءً على اسم المضيف.
kubectl الحصول على مراقبة الدخول
تأكد من أن عمود ADDRESS الخاص بك يحتوي على عنوان IP خارجي حتى يمكن الوصول إلى الخدمات خارجيًا.
الخطوة 5: الوصول إلى لوحة مراقبة المراقبة
بمجرد تكوين Ingress بشكل صحيح ويشير DNS إلى مجموعتك، يمكنك الوصول إلى Grafana وPrometheus وLoki.
خاتمة
باستخدام عدد قليل من الأوامر، نجحت في نشر حزمة مراقبة كاملة باستخدام Helm في مجموعة Kubernetes الخاصة بك. من خلال الاستفادة من مخططات Helm، يمكنك تبسيط نشر التطبيقات المعقدة مثل Grafana وLoki وPrometheus مع دمج Ingress أيضًا لسهولة الوصول إليها. لديك الآن إعداد قوي لقابلية المراقبة يسمح لك بمراقبة السجلات والمقاييس في الوقت الفعلي، مما يساعدك على إدارة تطبيقات Kubernetes وتحسينها بشكل أكثر فعالية.
يضمن هذا النشر المستند إلى Helm قابلية التوسع وتبسيط الترقيات أو تغييرات التكوين، مما يسهل إدارة إمكانية المراقبة في بيئة الإنتاج.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3