برنامه نویسی

راهنمای کامل Kubernetes (K8s) – انجمن DEV

Summarize this content to 400 words in Persian Lang

مفاهیم اصلی

Kubernetes چیست؟

Kubernetes را به عنوان یک خلبان خودکار پیشرفته برای برنامه های کاربردی خود در نظر بگیرید.

یک پلت فرم ارکستراسیون کانتینر که استقرار و مدیریت برنامه را خودکار می کند
ایجاد شده توسط Google، اکنون توسط بنیاد محاسبات بومی ابری (CNCF) نگهداری می شود
K8s = K + 8 حرف + s (نام مخفف)

مزایای کلیدی

اینها مهمترین مزایایی است که K8s را قدرتمند می کند:

ارکستراسیون کانتینری

مثل رهبر ارکستری که ارکستری از کانتینرها را هدایت می کند
به طور خودکار مکان و زمان اجرای کانتینرها در چندین ماشین را مدیریت می کند

خود درمانی

به طور خودکار ظروف شکست خورده را شناسایی و جایگزین می کند
مانند داشتن یک تیم تعمیر و نگهداری که 24/7 کار می کند

مقیاس بندی افقی

بر اساس تقاضا، کپی های برنامه را اضافه/حذف می کند
مانند باز کردن خطوط تسویه‌حساب بیشتر وقتی فروشگاه شلوغ می‌شود

تعادل بار

ترافیک ورودی را در چندین کانتینر توزیع می کند
مانند یک کنترل کننده ترافیک که ماشین ها را به خطوط مختلف هدایت می کند

رونمایی خودکار/بازگشت

به روز رسانی ایمن برنامه ها با زمان خاموشی صفر
اگر مشکلی پیش آمد می‌تواند تغییرات را واگرد کند
مانند داشتن دکمه “لغو” برای استقرار

مدیریت مخفی

به طور ایمن اطلاعات حساس (رمزهای عبور، کلیدها) را مدیریت می کند
اسرار را جدا از کد برنامه حفظ می کند

اجزای معماری

گره اصلی (صفحه کنترل)

مغز خوشه Kubernetes:

سرور API

درب جلو برای تمام عملیات Kubernetes
تمام دستورات و ارتباطات از اینجا انجام می شود
مثل ایست بازرسی در فرودگاه

etcd

پایگاه داده Cluster که تمام تنظیمات را ذخیره می کند
مانند بانک حافظه خوشه
وضعیت خوشه را پیگیری می کند

برنامه ریز

تصمیم می گیرد که کدام گره کدام کانتینر را اجرا کند
مانند یک مدیر منابع انسانی که کار را به کارمندان محول می کند
منابع، محدودیت ها و سیاست ها را در نظر می گیرد

مدیر کنترلر

اطمینان حاصل می کند که حالت مورد نظر با وضعیت واقعی مطابقت دارد
خرابی گره ها، مقیاس بندی و به روز رسانی ها را مدیریت می کند
مانند یک سرپرست که مطمئن می شود همه چیز به درستی اجرا می شود

اجزای گره کارگر

اسب های کار خوشه Kubernetes:

Kubelet

عامل اصلی در حال اجرا بر روی هر گره
از سالم بودن و کارکرد ظروف اطمینان حاصل می کند
مانند یک رهبر تیم که بر کارگران نظارت می کند

زمان اجرا کانتینر

نرم افزاری که کانتینرها را اجرا می کند (Docker/containerd)
چرخه عمر کانتینر را کنترل می کند
کارگر واقعی که وظایف فیزیکی را انجام می دهد

پروکسی باشید

قوانین شبکه را روی گره ها مدیریت می کند
ارتباط pod-to-pod را فعال می کند
مانند یک سرویس پستی برای خوشه شما

اشیاء و منابع اساسی

غلاف

کوچکترین واحد قابل استقرار در Kubernetes:

حاوی یک یا چند ظرف است
منابع ذخیره سازی و شبکه را به اشتراک می گذارد
زودگذر (موقت) ذاتاً

ReplicaSets

در دسترس بودن زیاد برنامه ها را تضمین می کند:

تعداد مشخصی از کپی های غلاف را حفظ می کند
به طور خودکار غلاف های خراب را جایگزین می کند
دسته هایی که به سمت بالا/پایین می روند

استقرارها

انتشار برنامه ها را مدیریت می کند:

نحوه به‌روزرسانی‌ها را کنترل می‌کند
در صورت نیاز برگشت را فعال می کند
چرخه عمر کامل برنامه را مدیریت می کند

خدمات

شبکه پایدار را فراهم می کند:

انواع:

ClusterIP

فقط دسترسی خوشه داخلی
نوع سرویس پیش فرض

NodePort

سرویس را در IP هر گره نشان می دهد
قابل دسترسی از خارج خوشه

LoadBalancer

خدمات را به صورت خارجی در معرض دید قرار می دهد
از متعادل کننده بار ارائه دهنده ابر استفاده می کند

نام خارجی

خدمات نقشه به نام DNS خارجی
برای دسترسی به خدمات خارجی استفاده می شود

حجم ها

تداوم داده ها را کنترل می کند:

ذخیره سازی دائمی برای غلاف ها فراهم می کند
Survives کانتینر راه اندازی مجدد می شود
می توان بین ظروف به اشتراک گذاشت

ConfigMaps و Secrets

پیکربندی و داده های حساس را مدیریت می کند:

پیکربندی را از کد جدا می کند
به طور ایمن اطلاعات حساس را کنترل می کند
می توان بدون بازسازی ظروف به روز رسانی کرد

مفاهیم پیشرفته

StatefulSets

برای برنامه های کاربردی:

هویت شبکه پایدار را ارائه می دهد
استقرار / مقیاس بندی منظم را حفظ می کند
ایده آل برای پایگاه داده ها و برنامه های حالت دار

DaemonSets

پادها را روی هر گره اجرا می کند:

یک غلاف در هر گره
ایده آل برای نظارت / ورود به سیستم
به طور خودکار گره های جدید را کنترل می کند

جابز و کرون جابز

اجرای وظایف را کنترل می کند:

شغل: کارهای یکبار مصرف
CronJobs: وظایف برنامه ریزی شده
ایده آل برای پردازش دسته ای

ورود

دسترسی خارجی را مدیریت می کند:

مسیریابی HTTP/HTTPS
خاتمه SSL/TLS
مسیریابی مبتنی بر URL

فضای نام

جداسازی منابع را فراهم می کند:

خوشه های مجازی درون خوشه
منابع را بر اساس تیم/پروژه جدا می کند
دسترسی و سهمیه منابع را کنترل می کند

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

مدیریت منابع

همیشه محدودیت منابع را تعیین کنید
نظارت بر استفاده از منابع
از مقیاس افقی استفاده کنید

امنیت

از RBAC (کنترل دسترسی مبتنی بر نقش) استفاده کنید
به طور منظم اسرار را بچرخانید
تصاویر را به روز نگه دارید

در دسترس بودن بالا

از چند کپی استفاده کنید
اجرای بودجه های اختلال پاد
در سراسر مناطق مستقر شود

نظارت

اجرای ثبت جامع
هشدار را تنظیم کنید
نظارت بر سلامت خوشه

مفاهیم اصلی

Kubernetes چیست؟

Kubernetes را به عنوان یک خلبان خودکار پیشرفته برای برنامه های کاربردی خود در نظر بگیرید.

  • یک پلت فرم ارکستراسیون کانتینر که استقرار و مدیریت برنامه را خودکار می کند
  • ایجاد شده توسط Google، اکنون توسط بنیاد محاسبات بومی ابری (CNCF) نگهداری می شود
  • K8s = K + 8 حرف + s (نام مخفف)

مزایای کلیدی

اینها مهمترین مزایایی است که K8s را قدرتمند می کند:

ارکستراسیون کانتینری

  • مثل رهبر ارکستری که ارکستری از کانتینرها را هدایت می کند
  • به طور خودکار مکان و زمان اجرای کانتینرها در چندین ماشین را مدیریت می کند

خود درمانی

  • به طور خودکار ظروف شکست خورده را شناسایی و جایگزین می کند
  • مانند داشتن یک تیم تعمیر و نگهداری که 24/7 کار می کند

مقیاس بندی افقی

  • بر اساس تقاضا، کپی های برنامه را اضافه/حذف می کند
  • مانند باز کردن خطوط تسویه‌حساب بیشتر وقتی فروشگاه شلوغ می‌شود

تعادل بار

  • ترافیک ورودی را در چندین کانتینر توزیع می کند
  • مانند یک کنترل کننده ترافیک که ماشین ها را به خطوط مختلف هدایت می کند

رونمایی خودکار/بازگشت

  • به روز رسانی ایمن برنامه ها با زمان خاموشی صفر
  • اگر مشکلی پیش آمد می‌تواند تغییرات را واگرد کند
  • مانند داشتن دکمه “لغو” برای استقرار

مدیریت مخفی

  • به طور ایمن اطلاعات حساس (رمزهای عبور، کلیدها) را مدیریت می کند
  • اسرار را جدا از کد برنامه حفظ می کند

اجزای معماری

گره اصلی (صفحه کنترل)

مغز خوشه Kubernetes:

سرور API

  • درب جلو برای تمام عملیات Kubernetes
  • تمام دستورات و ارتباطات از اینجا انجام می شود
  • مثل ایست بازرسی در فرودگاه

etcd

  • پایگاه داده Cluster که تمام تنظیمات را ذخیره می کند
  • مانند بانک حافظه خوشه
  • وضعیت خوشه را پیگیری می کند

برنامه ریز

  • تصمیم می گیرد که کدام گره کدام کانتینر را اجرا کند
  • مانند یک مدیر منابع انسانی که کار را به کارمندان محول می کند
  • منابع، محدودیت ها و سیاست ها را در نظر می گیرد

مدیر کنترلر

  • اطمینان حاصل می کند که حالت مورد نظر با وضعیت واقعی مطابقت دارد
  • خرابی گره ها، مقیاس بندی و به روز رسانی ها را مدیریت می کند
  • مانند یک سرپرست که مطمئن می شود همه چیز به درستی اجرا می شود

اجزای گره کارگر

اسب های کار خوشه Kubernetes:

Kubelet

  • عامل اصلی در حال اجرا بر روی هر گره
  • از سالم بودن و کارکرد ظروف اطمینان حاصل می کند
  • مانند یک رهبر تیم که بر کارگران نظارت می کند

زمان اجرا کانتینر

  • نرم افزاری که کانتینرها را اجرا می کند (Docker/containerd)
  • چرخه عمر کانتینر را کنترل می کند
  • کارگر واقعی که وظایف فیزیکی را انجام می دهد

پروکسی باشید

  • قوانین شبکه را روی گره ها مدیریت می کند
  • ارتباط pod-to-pod را فعال می کند
  • مانند یک سرویس پستی برای خوشه شما

اشیاء و منابع اساسی

غلاف

کوچکترین واحد قابل استقرار در Kubernetes:

  • حاوی یک یا چند ظرف است
  • منابع ذخیره سازی و شبکه را به اشتراک می گذارد
  • زودگذر (موقت) ذاتاً

ReplicaSets

در دسترس بودن زیاد برنامه ها را تضمین می کند:

  • تعداد مشخصی از کپی های غلاف را حفظ می کند
  • به طور خودکار غلاف های خراب را جایگزین می کند
  • دسته هایی که به سمت بالا/پایین می روند

استقرارها

انتشار برنامه ها را مدیریت می کند:

  • نحوه به‌روزرسانی‌ها را کنترل می‌کند
  • در صورت نیاز برگشت را فعال می کند
  • چرخه عمر کامل برنامه را مدیریت می کند

خدمات

شبکه پایدار را فراهم می کند:

انواع:

  1. ClusterIP

    • فقط دسترسی خوشه داخلی
    • نوع سرویس پیش فرض
  2. NodePort

    • سرویس را در IP هر گره نشان می دهد
    • قابل دسترسی از خارج خوشه
  3. LoadBalancer

    • خدمات را به صورت خارجی در معرض دید قرار می دهد
    • از متعادل کننده بار ارائه دهنده ابر استفاده می کند
  4. نام خارجی

    • خدمات نقشه به نام DNS خارجی
    • برای دسترسی به خدمات خارجی استفاده می شود

حجم ها

تداوم داده ها را کنترل می کند:

  • ذخیره سازی دائمی برای غلاف ها فراهم می کند
  • Survives کانتینر راه اندازی مجدد می شود
  • می توان بین ظروف به اشتراک گذاشت

ConfigMaps و Secrets

پیکربندی و داده های حساس را مدیریت می کند:

  • پیکربندی را از کد جدا می کند
  • به طور ایمن اطلاعات حساس را کنترل می کند
  • می توان بدون بازسازی ظروف به روز رسانی کرد

مفاهیم پیشرفته

StatefulSets

برای برنامه های کاربردی:

  • هویت شبکه پایدار را ارائه می دهد
  • استقرار / مقیاس بندی منظم را حفظ می کند
  • ایده آل برای پایگاه داده ها و برنامه های حالت دار

DaemonSets

پادها را روی هر گره اجرا می کند:

  • یک غلاف در هر گره
  • ایده آل برای نظارت / ورود به سیستم
  • به طور خودکار گره های جدید را کنترل می کند

جابز و کرون جابز

اجرای وظایف را کنترل می کند:

  • شغل: کارهای یکبار مصرف
  • CronJobs: وظایف برنامه ریزی شده
  • ایده آل برای پردازش دسته ای

ورود

دسترسی خارجی را مدیریت می کند:

  • مسیریابی HTTP/HTTPS
  • خاتمه SSL/TLS
  • مسیریابی مبتنی بر URL

فضای نام

جداسازی منابع را فراهم می کند:

  • خوشه های مجازی درون خوشه
  • منابع را بر اساس تیم/پروژه جدا می کند
  • دسترسی و سهمیه منابع را کنترل می کند

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

  1. مدیریت منابع

    • همیشه محدودیت منابع را تعیین کنید
    • نظارت بر استفاده از منابع
    • از مقیاس افقی استفاده کنید
  2. امنیت

    • از RBAC (کنترل دسترسی مبتنی بر نقش) استفاده کنید
    • به طور منظم اسرار را بچرخانید
    • تصاویر را به روز نگه دارید
  3. در دسترس بودن بالا

    • از چند کپی استفاده کنید
    • اجرای بودجه های اختلال پاد
    • در سراسر مناطق مستقر شود
  4. نظارت

    • اجرای ثبت جامع
    • هشدار را تنظیم کنید
    • نظارت بر سلامت خوشه

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

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

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

دکمه بازگشت به بالا