برنامه نویسی

استقرار یک پشته نظارت با Kubernetes، Helm و Ingress

Summarize this content to 400 words in Persian Lang
مشاهده و مدیریت عملکرد یک خوشه Kubernetes برای حفظ سلامت برنامه، شناسایی مشکلات و اطمینان از در دسترس بودن بالا بسیار مهم است. من شما را با راه‌اندازی یک راه‌حل نظارت جامع با استفاده از kubectl و Helm، استقرار Grafana، Loki و Prometheus در خوشه‌تان، و راه‌اندازی Ingress برای دسترسی خارجی راهنمایی می‌کنم.

ما مراحل کلیدی زیر را پوشش خواهیم داد:

استفاده از فضای نام Kubernetes برای نظارت.
نصب Helm و راه اندازی مخازن لازم.
استقرار Loki، Prometheus و Grafana با استفاده از Helm.
بکارگیری قوانین ورودی برای افشای خارجی خدمات.

پیش نیازهاقبل از شروع، مطمئن شوید که موارد زیر را دارید:

یک خوشه Kubernetes با پیکربندی kubectl.
کلاه بر روی دستگاه محلی شما نصب شده است.
دسترسی مناسب برای اعمال تنظیمات YAML و نصب نمودارها.

مرحله 1: یک فضای نام نظارتی ایجاد کنید

فضاهای نام به شما کمک می کند منابع Kubernetes خود را به طور منطقی تقسیم و سازماندهی کنید. برای جلوگیری از تضاد و جدا نگه داشتن منابع نظارتی، یک فضای نام اختصاصی برای ابزارهای نظارت ایجاد خواهیم کرد.

1. اعمال فضای نام نظارت: محتوای زیر را در a ذخیره کنید monitoring-namespace.yml فایل:

apiVersion: v1نوع: فضای نامابرداده:نام: نظارتبرچسب ها:app.kubernetes.io/name: نظارتapp.kubernetes.io/instance: نظارت

2. فضای نام را با استفاده از kubectl اعمال کنید:

kubectl application -f monitoring-namespace.yml

این دستور فضای نام جدیدی به نام مانیتورینگ در خوشه Kubernetes شما ایجاد می کند.

مرحله 2: Helm را نصب کرده و مخزن Grafana را اضافه کنیدHelm، مدیر بسته Kubernetes، استقرار برنامه های پیچیده مانند Grafana، Loki و Prometheus را آسان تر می کند. در اینجا نحوه نصب Helm و راه اندازی مخزن لازم آورده شده است.

Helm را نصب کنید (اگر قبلاً نصب نشده باشد):

sudo snap install helm –classic

این دستور Helm را با استفاده از Snap، یک سیستم مدیریت بسته برای لینوکس، نصب می کند.

مخزن نمودار Grafana Helm را اضافه کنید:

مخزن فرمان افزودن grafana https://grafana.github.io/helm-charts

به روز رسانی مخازن Helm:

به روز رسانی مخزن فرمان

این تضمین می کند که Helm جدیدترین نمودارها را از مخزن Grafana دارد.

مرحله 3: Loki، Prometheus و Grafana را با Helm مستقر کنید

اکنون که Helm نصب و پیکربندی شده است، Loki، Prometheus و Grafana را با استفاده از نمودار Grafana Helm مستقر خواهیم کرد.

1. دستور نصب Helm را اجرا کنید:

ارتقاء فرمان –نصب loki –namespace=نظارت 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.loki.persistence.enabled=true,loki. ,loki.persistence.size=100Gi –set nodeSelector.name=node.kubernetes.io/description=all_production

A: Grafana: ** این Grafana، ابزار داشبورد نظارت را در نمودار Helm فعال می‌کند.**B: Prometheus: **Prometheus برای جمع‌آوری معیارها فعال است، در حالی که حجم‌های دائمی برای Alertmanager و سرور Prometheus برای ساده‌سازی پیکربندی ذخیره‌سازی غیرفعال هستند.**C: لوکی: Loki، ابزار جمع‌آوری گزارش، با ذخیره‌سازی حجمی دائمی 100Gi با استفاده از کلاس ذخیره‌سازی gp2 فعال می‌شود.

را — نصب کنید پرچم تضمین می کند که پشته نصب شده است اگر قبلاً مستقر نشده باشد. را — ارتقاء دهید پرچم اگر پشته را از قبل نصب کرده باشد به آخرین نسخه به روز می کند.

2. تأیید نصب: پس از نصب موفقیت آمیز، وضعیت پادهای در حال اجرا در فضای نام مانیتورینگ را بررسی کنید:

kubectl دریافت pods -n مانیتورینگ

باید غلاف‌هایی برای Grafana، Prometheus، Loki و Promtail (که لاگ‌ها را به Loki ارسال می‌کند) ببینید.

مرحله 4: Ingress را برای دسترسی خارجی تنظیم کنید

برای دسترسی به Grafana، Prometheus یا Loki از خارج از خوشه، باید یک منبع Ingress را پیکربندی کنید. این اجازه می دهد تا HTTP/S خارجی به سرویس های نظارتی دسترسی داشته باشد.

*1. ایجاد یک منبع ورودی: مثال زیر را در a ذخیره کنید monitoring-ingress.yml فایل:*apiVersion: networking.k8s.io/v1نوع: ورودابرداده:نام: نظارت-ورودفضای نام: نظارتحاشیه نویسی:kubernetes.io/ingress.class: “nginx”cert-manager.io/cluster-issuer: letsencryptمشخصات:tls:- میزبان:- your-domain.comSecretName: certnameقوانین: – میزبان: your-domain.comhttp:مسیرها:- مسیر:/pathType: پیشوندباطن:خدمات:نام: loki-grafanaبندر:تعداد: 80

این پیکربندی Ingress مسیریابی را برای Grafana، Prometheus و Loki تحت نام دامنه {your-domain.com} تنظیم می کند. باید your-domain.com را با دامنه واقعی خود جایگزین کنید و DNS را برای اشاره به IP خارجی خوشه خود پیکربندی کنید.

2. از منبع Ingress استفاده کنید:

kubectl application -f monitoring-ingress.yml

پس از اعمال، کنترلر Ingress ترافیک را به سرویس های مناسب بر اساس نام میزبان هدایت می کند.

تأیید تنظیم Ingress: وضعیت منبع Ingress خود را بررسی کنید تا مطمئن شوید که به درستی پیکربندی شده است:

kubectl دریافت ingress -n نظارت

مطمئن شوید که ستون ADDRESS شما دارای یک IP خارجی برای دسترسی خارجی به خدمات است.

مرحله 5: به داشبورد مانیتورینگ دسترسی پیدا کنید

هنگامی که Ingress به درستی پیکربندی شد و DNS به خوشه شما اشاره کرد، می توانید به Grafana، Prometheus و Loki دسترسی داشته باشید.

نتیجه گیری

تنها با چند دستور، یک پشته نظارت کامل را با استفاده از Helm در خوشه Kubernetes خود با موفقیت مستقر کرده اید. با استفاده از نمودارهای Helm، استقرار برنامه های پیچیده مانند Grafana، Loki و Prometheus را ساده می کنید و در عین حال Ingress را برای دسترسی آسان یکپارچه می کنید. اکنون یک راه‌اندازی مشاهده‌پذیری قدرتمند دارید که به شما امکان می‌دهد گزارش‌ها و معیارها را در زمان واقعی نظارت کنید و به شما کمک می‌کند برنامه‌های Kubernetes خود را به طور مؤثرتری مدیریت و بهینه کنید.

این استقرار مبتنی بر Helm مقیاس پذیری را تضمین می کند و ارتقاء یا تغییرات پیکربندی را ساده می کند و مدیریت قابلیت مشاهده در یک محیط تولید را آسان تر می کند.

مشاهده و مدیریت عملکرد یک خوشه Kubernetes برای حفظ سلامت برنامه، شناسایی مشکلات و اطمینان از در دسترس بودن بالا بسیار مهم است. من شما را با راه‌اندازی یک راه‌حل نظارت جامع با استفاده از kubectl و Helm، استقرار Grafana، Loki و Prometheus در خوشه‌تان، و راه‌اندازی Ingress برای دسترسی خارجی راهنمایی می‌کنم.

ما مراحل کلیدی زیر را پوشش خواهیم داد:

  1. استفاده از فضای نام Kubernetes برای نظارت.
  2. نصب Helm و راه اندازی مخازن لازم.
  3. استقرار Loki، Prometheus و Grafana با استفاده از Helm.
  4. بکارگیری قوانین ورودی برای افشای خارجی خدمات.

پیش نیازها
قبل از شروع، مطمئن شوید که موارد زیر را دارید:

  1. یک خوشه Kubernetes با پیکربندی kubectl.
  2. کلاه بر روی دستگاه محلی شما نصب شده است.
  3. دسترسی مناسب برای اعمال تنظیمات YAML و نصب نمودارها.

مرحله 1: یک فضای نام نظارتی ایجاد کنید

فضاهای نام به شما کمک می کند منابع Kubernetes خود را به طور منطقی تقسیم و سازماندهی کنید. برای جلوگیری از تضاد و جدا نگه داشتن منابع نظارتی، یک فضای نام اختصاصی برای ابزارهای نظارت ایجاد خواهیم کرد.

1. اعمال فضای نام نظارت: محتوای زیر را در a ذخیره کنید monitoring-namespace.yml فایل:

apiVersion: v1
نوع: فضای نام
ابرداده:
نام: نظارت
برچسب ها:
app.kubernetes.io/name: نظارت
app.kubernetes.io/instance: نظارت

2. فضای نام را با استفاده از kubectl اعمال کنید:

kubectl application -f monitoring-namespace.yml

این دستور فضای نام جدیدی به نام مانیتورینگ در خوشه Kubernetes شما ایجاد می کند.

مرحله 2: Helm را نصب کرده و مخزن Grafana را اضافه کنید
Helm، مدیر بسته Kubernetes، استقرار برنامه های پیچیده مانند Grafana، Loki و Prometheus را آسان تر می کند. در اینجا نحوه نصب Helm و راه اندازی مخزن لازم آورده شده است.

  1. Helm را نصب کنید (اگر قبلاً نصب نشده باشد):

sudo snap install helm –classic

این دستور Helm را با استفاده از Snap، یک سیستم مدیریت بسته برای لینوکس، نصب می کند.

  1. مخزن نمودار Grafana Helm را اضافه کنید:

مخزن فرمان افزودن grafana 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=نظارت 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.loki.persistence.enabled=true,loki. ,loki.persistence.size=100Gi –set nodeSelector.name=node.kubernetes.io/description=all_production

A: Grafana: ** این Grafana، ابزار داشبورد نظارت را در نمودار Helm فعال می‌کند.
**B: Prometheus: **Prometheus برای جمع‌آوری معیارها فعال است، در حالی که حجم‌های دائمی برای Alertmanager و سرور Prometheus برای ساده‌سازی پیکربندی ذخیره‌سازی غیرفعال هستند.
**C: لوکی:
Loki، ابزار جمع‌آوری گزارش، با ذخیره‌سازی حجمی دائمی 100Gi با استفاده از کلاس ذخیره‌سازی gp2 فعال می‌شود.

را — نصب کنید پرچم تضمین می کند که پشته نصب شده است اگر قبلاً مستقر نشده باشد. را — ارتقاء دهید پرچم اگر پشته را از قبل نصب کرده باشد به آخرین نسخه به روز می کند.

2. تأیید نصب: پس از نصب موفقیت آمیز، وضعیت پادهای در حال اجرا در فضای نام مانیتورینگ را بررسی کنید:

kubectl دریافت pods -n مانیتورینگ

باید غلاف‌هایی برای Grafana، Prometheus، Loki و Promtail (که لاگ‌ها را به Loki ارسال می‌کند) ببینید.

مرحله 4: Ingress را برای دسترسی خارجی تنظیم کنید

برای دسترسی به Grafana، Prometheus یا Loki از خارج از خوشه، باید یک منبع Ingress را پیکربندی کنید. این اجازه می دهد تا HTTP/S خارجی به سرویس های نظارتی دسترسی داشته باشد.

*1. ایجاد یک منبع ورودی: مثال زیر را در a ذخیره کنید monitoring-ingress.yml فایل:
*

apiVersion: networking.k8s.io/v1
نوع: ورود
ابرداده:
نام: نظارت-ورود
فضای نام: نظارت
حاشیه نویسی:
kubernetes.io/ingress.class: “nginx”
cert-manager.io/cluster-issuer: letsencrypt
مشخصات:
tls:
– میزبان:

– your-domain.com
SecretName: certname
قوانین:
– میزبان: your-domain.com
http:
مسیرها:
– مسیر:/
pathType: پیشوند
باطن:
خدمات:
نام: loki-grafana
بندر:
تعداد: 80

این پیکربندی Ingress مسیریابی را برای Grafana، Prometheus و Loki تحت نام دامنه {your-domain.com} تنظیم می کند. باید your-domain.com را با دامنه واقعی خود جایگزین کنید و DNS را برای اشاره به IP خارجی خوشه خود پیکربندی کنید.

2. از منبع Ingress استفاده کنید:

kubectl application -f monitoring-ingress.yml

پس از اعمال، کنترلر Ingress ترافیک را به سرویس های مناسب بر اساس نام میزبان هدایت می کند.

  1. تأیید تنظیم Ingress: وضعیت منبع Ingress خود را بررسی کنید تا مطمئن شوید که به درستی پیکربندی شده است:

kubectl دریافت ingress -n نظارت

مطمئن شوید که ستون ADDRESS شما دارای یک IP خارجی برای دسترسی خارجی به خدمات است.

مرحله 5: به داشبورد مانیتورینگ دسترسی پیدا کنید

هنگامی که Ingress به درستی پیکربندی شد و DNS به خوشه شما اشاره کرد، می توانید به Grafana، Prometheus و Loki دسترسی داشته باشید.

نتیجه گیری

تنها با چند دستور، یک پشته نظارت کامل را با استفاده از Helm در خوشه Kubernetes خود با موفقیت مستقر کرده اید. با استفاده از نمودارهای Helm، استقرار برنامه های پیچیده مانند Grafana، Loki و Prometheus را ساده می کنید و در عین حال Ingress را برای دسترسی آسان یکپارچه می کنید. اکنون یک راه‌اندازی مشاهده‌پذیری قدرتمند دارید که به شما امکان می‌دهد گزارش‌ها و معیارها را در زمان واقعی نظارت کنید و به شما کمک می‌کند برنامه‌های Kubernetes خود را به طور مؤثرتری مدیریت و بهینه کنید.

این استقرار مبتنی بر Helm مقیاس پذیری را تضمین می کند و ارتقاء یا تغییرات پیکربندی را ساده می کند و مدیریت قابلیت مشاهده در یک محیط تولید را آسان تر می کند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا