سرور و شبکه

Kubernetes pod چیست و بررسی نقش POD در Kubernetes

Kubernetes pod چیست

اگر در دنیای کانتینرها و کوبرنتیز کار می‌کنید، احتمالاً با مشکلاتی مانند پیچیدگی مدیریت کانتینرها و مقیاس‌گذاری اپلیکیشن‌ها روبرو شده‌اید. اینجا جایی است که POD می‌تواند به شما کمک کند. پاد، مدیریت کانتینرها را ساده‌تر و عملکرد اپلیکیشن‌ها بهینه می‌کند. اما چرا POD  تا این اندازه مهم است؟ در این مقاله فالنیک به این سوال جواب می‌دهیم و می‌گوییم POD چیست، چه کاربردهایی دارد، انواع مختلف آن کدام‌اند و چرا استفاده از آن به شما کمک می‌کند، مدیریت بهتری داشته باشید. همچنین، خواهیم دید که چطور خدمات مجازی‌سازی شبکه می‌توانند در کنار PODها مدیریت منابع شبکه را بهینه کنند. پس با ما همراه باشید تا جواب سوال‌هایتان را پیدا کنید.

مجازی سازی شبکه، راه حل کاهش هزینه‌ها
مجازی سازی شبکه، راه حل کاهش هزینه‌ها
با مجازی سازی شبکه می‌توانید از تمام پتانسیل تجهیزات خود استفاده کرده و هزینه‌های توسعه شبکه را کاهش دهید. در این راه متخصصان فالنیک با بیش از سه دهه تجربه، کنار شما هستند. برای ثبت سفارش یا دریافت مشاوره کلیک کنید.

آشنایی با مفهوم کانتینر

قبل از اینکه بگوییم Kubernetes pod چیست؟ باید با مفاهیم کانتینر و کوبرنتیز آشنا شوید تا راحت‌تر بتوانید مفهوم پاد در کوبرنیتز را درک کنید. کانتینر به طور ساده، مانند یک جعبه یا باکس است که می‌تواند یک برنامه یا اپلیکیشن را همراه با تمام نیازمندی‌ها و تنظیماتش، مانند کتابخانه‌ها، فایل‌ها و محیط‌های مورد نیاز، در خود نگه دارد. این جعبه به طور مستقل از سیستم‌عامل‌های دیگر اجرا می‌شود و می‌توانید آن را در هر جایی، از لپ‌تاپ شخصی گرفته تا سرورهای ابری، بدون مشکل اجرا کنید. این کار باعث می‌شود که برنامه‌ها همیشه در محیط یکسانی اجرا شوند و دیگر نیازی به نگرانی در مورد تنظیمات مختلف سیستم‌ها نباشد.

بیشتر بدانید: کانتینر چیست

آشنایی با پلتفرم کوبرنتیز

کوبرنتیز نیز یک سیستم مدیریت خودکار برای کانتینرهاست. به عبارت ساده‌تر، کوبرنتیز به شما کمک می‌کند تا کانتینرهای مختلف را که ممکن است در نقاط مختلف شبکه یا سرورها پراکنده باشند، به‌طور منظم و بدون دردسر مدیریت کنید. این سیستم نه‌تنها به شما کمک می‌کند که کانتینرها را راه‌اندازی کنید، بلکه می‌تواند به‌طور خودکار تعداد کانتینرها را براساس نیازها افزایش یا کاهش دهد، به مشکلات رسیدگی کند و به این ترتیب مدیریت اپلیکیشن‌ها را ساده‌تر کند. برای آشنایی بیشتر با کوبرنتیز مطالعه مقاله کوبرنتیس چیست را پیشنهاد می‌کنیم.

پاد کوبرنتیز
پادها (Pods) در کوبرنتیز واحدهای کوچکی هستند که می‌توانند یک یا چند کانتینر را در خود جای دهند.

Kubernetes pod چیست؟

پادها (Pods) در کوبرنتیز واحدهای کوچکی هستند که می‌توانند یک یا چند کانتینر را در خود جای دهند. به طور ساده، یک POD به مجموعه‌ای از کانتینرها گفته می‌شود که منابع مشترک دارند و در یک محیط مشترک اجرا می‌شوند. این قابلیت به شما کمک می‌کند،کانتینرهای وابسته به هم را در کنار هم قرار دهید و به‌راحتی مدیریت کنید.

این کانتینرها می‌توانند شامل کانتینرهای برنامه کاربردی اصلی و کانتینرهای کمکی مانند کانتینرهای مدیریت لاگ‌ها یا مانیتورینگ باشند.

پادها ماهیتاً موقتی (ephemeral) هستند؛ یعنی هر زمان که یک پاد یا نودی که پاد روی آن اجرا می‌شود دچار مشکل یا خرابی شود، کوبرنتیس به‌طور خودکار نسخه جدیدی از همان پاد را در نود دیگری از کلاستر راه‌اندازی می‌کند تا عملیات جاری به‌طور مستمر ادامه پیدا کند. کوبرنتیس با این ویژگی برنامه‌ها و سرویس‌ها را به‌صورت خودکار و بدون وقفه مدیریت می‌کند.

علاوه بر این، پادها محیط‌هایی را برای اجرای کانتینرها فراهم می‌کنند. این محیط‌ها شامل ذخیره‌سازی دائمی (Persistent Storage)  هستند که به پادها این امکان را می‌دهد که داده‌ها و فایل‌ها را در سطح کلاستر ذخیره و به اشتراک بگذارند. همچنین پادها می‌توانند داده‌های پیکربندی مورد نیاز برای اجرای برنامه‌ها را از منابع مختلف مثل ConfigMaps و Secrets دریافت کنند.

یک مثال از دنیای واقعی برای درک مفهوم پاد کوبرنتیز

فرض کنید یک وب اپلیکیشن خیلی ساده دارید که از دو بخش زیر تشکیل شده‌است:

  1. یک بخش فرانت‌اند: ظاهر سایت رو نشان می‌دهد و کاربر با آن تعامل دارد.
  2. یک بخش بک‌اند: اطلاعات سایت را پردازش می‌کند و به فرانت‌اند می‌فرستد.

حالا می‌خواهیم این وب اپلیکیشن را روی Kubernetes اجرا کنیم. برای این کار، می‌توانیم از POD استفاده کنیم.

ابتدا یک POD تعریف می‌کنیم که شامل دو تا کانتینر باشد:

  • یک کانتینر برای بخش فرانت‌اند که کد فرانت‌اند وب اپلیکیشن داخل آن قرار دارد.
  • یک کانتینر برای بخش بک‌اند که کد بک‌اند وب اپلیکیشن داخل آن است.

این دو کانتینر داخل یک POD با هم در ارتباط هستند و می‌توانند به‌راحتی اطلاعات را بین خود رد و بدل کنند. در واقع، POD  مانند خانه‌ای برای این دو کانتینر است که آنها را کنار هم نگه می‌دارد و امکان ارتباطشان را فراهم می‌کند.

شاید بپرسید چرا باید از POD استفاده کنیم؟ چرا نمی‌توانیم هر کانتینر رو جداگانه اجرا کنیم؟

POD به ما کمک می‌کند تا برنامه‌های کاربردی پیچیده را که از چندین بخش تشکیل شده‌اند، به راحتی مدیریت کنیم. وقتی کانتینرها داخل یک POD هستند،Kubernetes  می‌تواند آنها را به عنوان یک واحد در نظر بگیرد و به راحتی مدیریتشان کند.

pod چیست
در این تصویر می‌توانید به‌راحتی جایگاه پاد در سرویس کوبرنتیز، نود، کانتینرها و عملکرد کوبرنتیز رو ببینید.

نحوه استفاده از POD در کوبرنتیز

همانطور که گفتیم، PODها واحدهای اجرایی پایه‌ای در کوبرنتیز هستند که اغلب به‌طور مستقیم ساخته نمی‌شوند، بلکه از طریق Workload Resources مانندDeployment  یا StatefulSet  مدیریت می‌شوند. این روش نه تنها مقیاس‌پذیری و پایداری بهتری دارد، بلکه باعث می‌شود مدیریت  PODها آسان‌تر شود. در ادامه می‌خواهیم نحوه ایجاد و مدیریت یکPOD  را توضیح دهیم:

ایجاد یک POD ساده

به عنوان مثال، یک POD که شامل یک کانتینر nginx با نسخه 1.14.2 است را می‌توانیم به صورت زیر در فرمت YAML تعریف کنیم:

apiVersion: v1
kind: Pod
:metadata
  name: nginx
:spec
  :containers
name: nginx-
    image: nginx:1.14.2
    :ports
    containerPort: 80-

برای ایجاد این POD در کوبرنتیز، نیز کافی است دستور زیر را اجرا کنیم:

kubectl apply -f https://k8s.io/examples/pods/simple-pod.yaml

این دستور، فایل simple-pod.yaml را خوانده و POD مورد نظر را در کلاستر ایجاد می‌کند.

مدیریت  PODها با استفاده از Workload Resources

سوالی که پیش می‌آید این است که چرا PODها مستقیماً ایجاد نمی‌شوند؟

در اکثر موارد، به جای ایجاد مستقیم  PODها، از Workload Resources مانند Deployment یا Job استفاده می‌شود. این روش مزایای زیادی دارد:

  • مدیریت بهتر مقیاس‌پذیری: برای اجرای چندین نمونه از یک برنامه، به‌جای ایجاد دستی چندین  POD، بهتر است از Deployment استفاده کنید. این کار باعث می‌شود  PODها به صورت خودکار مقیاس‌پذیر شوند.
  • خودترمیمی(Auto-Healing) : اگر یک POD به هر دلیلی دچار مشکل شود، کوبرنتیز به طور خودکار آن را جایگزین می‌کند.
  • ذخیره وضعیت (Stateful Applications): اگر به ذخیره وضعیت در PODها نیاز دارید، باید از StatefulSet استفاده کنید که برای اپلیکیشن‌هایی که نیاز به حفظ داده دارند، مناسب‌تر است.

 ارتباط بین  PODها و مقیاس‌پذیری

در کوبرنتیز، هر POD یک نمونه از اپلیکیشن را اجرا می‌کند. اگر بخواهید اپلیکیشن خود را در مقیاس بزرگ‌تر اجرا کنید، باید چندین POD  ایجاد کنید. این کار از طریق Replication انجام می‌شود، که با Deployment مدیریت می‌شود.

منابع اشتراکی در PODها

PODها به صورت خودکار دو نوع منبع اشتراکی را برای کانتینرهای درون خود ایجاد می‌کنند:

شبکه مشترک: تمام کانتینرهای داخل یک POD آدرس IP مشترکی دارند و می‌توانند از طریق localhost با یکدیگر ارتباط برقرار کنند.

فضای ذخیره‌سازی مشترک: کانتینرهای یک POD می‌توانند از Volumes برای اشتراک‌گذاری داده‌ها استفاده کنند.

راهنمای کامل POD در کوبرنتیز
به جای ایجاد مستقیم  PODها، از Workload Resources مانند Deployment یا Job استفاده می‌شود.

پاد در کوبرنتیز چطور کار می‌کند؟

پاد در کوبرنتیز یک گروه از کانتینرهاست که روی یک Node اجرا می‌شود. پادها به‌طور خودکار توسط کنترلرها مدیریت می‌شوند و در صورت خرابی، جایگزین می‌شوند. همچنین پادها از Volumes  برای ذخیره داده و از شبکه داخلی کوبرنتیز برای ارتباط استفاده می‌کنند.

به زبان ساده فرض کنید PODها مانند خانه‌ای برای کانتینرهای داخل Kubernetes هستند. هر خانه (POD) می‌تواند یک یا چند اتاق (کانتینر) داشته باشد. این اتاق‌ها (کانتینرها) با هم یکسری موارد مانند آب و برق (منابع) و راهرو (شبکه) را به اشتراک می‌گذارند. در ادامه هر مرحله از روش کار پاد را توضیح می‌دهیم:

پادها چطور اجرا و مدیریت می‌شوند؟

تمام کانتینرهای داخل پاد رویNode  اجرا می‌شوند و منابع مشترکی مثل فضایذخیره‌سازیو شبکه دارند. مثلاً فرض کنید یک برنامه وب دارید که شامل یک سرور (Nginx) و یک سیستم پردازش داده است. می‌توانید این دو را داخل یک پاد قرار دهید تا با همدیگر به‌خوبی کار کنند.

پادها توسط کوبرنتیز زمان‌بندی و روی یک Node مشخص اجرا می‌شوند. اگر مشکلی برای پاد پیش بیاید، کنترلرهای کوبرنتیز آن را شناسایی کرده و پادی جدید ایجاد می‌کنند. پادها همچنین می‌توانند شامل کانتینرهای Init باشند که قبل از اجرای برنامه اصلی اجرا شده و محیط را آماده می‌کنند.

وضعیت‌های مختلف پاد

هر پاد می‌تواند یکی از وضعیت‌های زیر را داشته باشد:

  • Pending: در حال آماده‌سازی، اما هنوز اجرا نشده است.
  • Running:  در حال اجرا است.
  • Succeeded: اجرای آن با موفقیت به پایان رسیده است.
  • Failed: اجرای آن با مشکل مواجه شده است.
  • Unknown: وضعیت نامشخص است (به‌دلیل مشکلات ارتباطی).

کنترلرهای کوبرنتیز؛ مدیریت خودکار پادها

پادها نمی‌توانند خودشان را حذف یا جایگزین کنند، بنابراین کوبرنتیز از کنترلرها برای این کار استفاده می‌کند. کنترلرها به‌صورت خودکار وضعیت پادها را بررسی کرده و پادهای خراب را جایگزین می‌کنند. چند نوع کنترلر مهم در کوبرنتیز عبارتند از:

  • Job Controller: اجرای یک کار مشخص (مثل پردازش یک فایل)
  • Deployment: مدیریت برنامه‌های بدون وضعیت (مثل یک سرور وب)
  • StatefulSet: مدیریت برنامه‌هایی که نیاز به ذخیره داده دارند (مثل یک پایگاه داده)

ذخیره‌سازی داده‌ها در پاد

پادها داده‌های خود را درVolumes  ذخیره می‌کنند. این داده‌ها ممکن است:

  • موقتی(Ephemeral) : بعد از حذف پاد از بین بروند.
  • دائمی(Persistent): حتی پس از حذف پاد، باقی بمانند.

به عنوان مثال، اگر یک پایگاه داده را روی کوبرنتیز اجرا کنید، داده‌های آن باید در یک فضای ذخیره‌سازی دائمی قرار بگیرند تا با حذف پاد از بین نروند.

شبکه در پادها

هر پاد یک آدرس IP مخصوص دارد. کانتینرهای داخل پاد می‌توانند مستقیماً با هم ارتباط برقرار کنند، اما برای ارتباط با پادهای دیگر باید از شبکه داخلی کوبرنتیز استفاده کنند.به عنوان مثال:

  • دو کانتینر داخل یک پاد (مثلاً یک سرور و یک دیتابیس) می‌توانند مستقیماً با هم ارتباط داشته باشند.
  • اما اگر دو پاد جدا از هم باشند، باید از آدرس‌های IP برای ارتباط استفاده کنند.
Kubernetes pod چیست؛ معماری پاد در کوبرنتیز
معماری پاد در کوبرنتیز شامل یک یا چند کانتینر است که منابع مشترک مانند شبکه و ذخیره‌سازی را با هم به اشتراک می‌گذارند و در یک نود اجرا می‌شوند.

بررسی قالب‌های پاد (Pod Templates) در کوبرنتیز

قالب پاد (Pod Template) در کوبرنتیز یک الگوی از پیش تعریف‌شده برای ایجاد پادهاست. این قالب‌ها مشخص می‌کنند پادها چطور اجرا شوند، چه کانتینرهایی داشته باشند، چه تنظیماتی روی آن‌ها اعمال شود و چه متغیرهای محیطی (Environment Variables) تنظیم شوند.

قالب‌های پاد اغلب داخل منابع کاری (Workload Resources) مانند Deployment، Job و DaemonSet قرار دارند و توسط کنترلرها برای ساخت و مدیریت پادها استفاده می‌شوند.

چطور یک قالب پاد کار می‌کند؟

کنترلرها از قالب‌های پاد برای ایجاد و مدیریت پادها استفاده می‌کنند. قالب پاد بخشی از وضعیت مطلوب (Desired State) برنامه شما در کوبرنتیز است. وقتی شما یک پاد را ایجاد یا به‌روزرسانی می‌کنید، کوبرنتیز از این قالب برای ساخت نسخه جدید آن استفاده می‌کند.

در مثال زیر یک Job تعریف شده که شامل یک قالب پاد است. این پاد یک کانتینر دارد که پیامی را چاپ کرده و برای 3600 ثانیه متوقف می‌شود:

apiVersion: batch/v1
kind: Job
:metadata
name: hello
:spec
:template
# قالب پاد از اینجا شروع می‌شود
:spec
:containers
name: hello-
image: busybox:1.28
command: [‘sh’, ‘-c’, ‘echo “Hello, Kubernetes!” && sleep 3600’]restartPolicy: OnFailure
# قالب پاد در اینجا پایان می‌یابد

در اینجا:

  • spec.template  قالب پاد را تعریف می‌کند.
  • این پاد شامل یک کانتینر به نام hello است.
  • کانتینر از تصویر busybox:1.28 استفاده می‌کند.
  • دستور echo “Hello, Kubernetes!” && sleep 3600 را اجرا می‌کند.
  • اگر اجرای پاد شکست بخورد، سیاست راه‌اندازی مجدد (restartPolicy) روی «OnFailure» تنظیم شده و پاد دوباره اجرا می‌شود.

تغییر در قالب پاد چه تأثیری دارد؟

وقتی قالب یک پاد را تغییر می‌دهید، پادهای موجود تغییر نمی‌کنند. بلکه کنترلر پادهای جدیدی براساس قالب جدید ایجاد می‌کند و در صورت نیاز پادهای قدیمی را حذف می‌کند. مثلا در StatefulSet، اگر قالب پاد را تغییر دهید، کوبرنتیز به‌تدریج پادهای جدید را جایگزین پادهای قدیمی می‌کند تا همه پادها با تنظیمات جدید همگام شوند.

نقش قالب پاد در مدیریت خودکار پادها

  • Deployment: برای مدیریت برنامه‌های بدون وضعیت (Stateless) مانند سرورهای وب.
  • StatefulSet: برای برنامه‌های با وضعیت (Stateful) مثل پایگاه داده.
  • Job: برای انجام وظایف موقتی و خاص مثل پردازش یک فایل یا ارسال ایمیل.
  • DaemonSet: برای اجرای پادهای سیستمی روی همه Nodeها مثل ابزارهای نظارتی
پیشنهاد مطالعه

انواع پاد در کوبرنتیز

در کوبرنتیز، پادها به دو دسته کلی تقسیم می‌شوند:

 پادهای تک‌کانتینری   (Single-Container Pods)

  • در این مدل، هر پاد فقط یک کانتینر را اجرا می‌کند.
  • این کانتینر شامل تمام وابستگی‌ها و منابع مورد نیاز برای اجرای برنامه است.
  • ساده‌ترین و رایج‌ترین نوع پاد است و برای برنامه‌هایی مناسب است که نیازی به کانتینرهای وابسته ندارند.

مثال، اجرای یک وب‌سرور Nginx به عنوان یک پاد مستقل:

apiVersion: v1
kind: Pod
:metadata
name: nginx-pod
:spec
:containers
name: nginx image: nginx:latest ports: containerPort: 80

 پادهای چندکانتینری  (Multi-Container Pods)

در این مدل، یک پاد چندین کانتینر را در یک سرور اجرا می‌کند.

این کانتینرها با یکدیگر وابستگی دارند و باید منابعی مانند فایل‌ها، داده‌ها یا فضای ذخیره‌سازی را به اشتراک بگذارند.

به کمک این روش، می‌توانید معماری‌هایی مانند الگوی Sidecar را پیاده‌سازی کنید.

مثال، یک پاد که شامل یک سرور Nginx و یک کانتینر جانبی (Sidecar) برای ثبت لاگ‌هاست:

apiVersion: v1
kind: Pod
:metadata
  name: nginx-with-logger
:spec
  :containers
  name: nginx-
    image: nginx:latest
  :ports
    containerPort: 80-
  name: log-collector-
    image: busybox:latest
    command: [‘sh’, ‘-c’, ‘while true; do echo “Logging data”; sleep 5; done’]

پادهای تکرارشونده  (Replicated Pods)

  • پادهای تکرارشونده (Replicated Pods) خودشان یک نوع مستقل از پاد نیستند، بلکه چندین پاد یکسان هستند که توسط یک کنترلر مدیریت می‌شوند.
  • چندین پاد یک برنامه را اجرا می‌کنند تا قابلیت مقیاس‌پذیری (Scalability) و افزونگی (Redundancy) فراهم شود.
  • این پادها اغلب توسط یک کنترلر مانند Deployment یا StatefulSet مدیریت می‌شوند.
  • در صورت خرابی یک پاد، کنترلر پاد جدیدی برای جایگزینی آن ایجاد می‌کند.

مثال، اجرای چندین پاد از یک برنامه Nginx با استفاده از Deployment:

apiVersion: apps/v1
kind: Deployment
:metadata
  name: nginx-deployment
:spec
  replicas: 3
  :selector
    :matchLabels
      app: nginx
  :template
    :metadata
      :labels
        app: nginx
    :spec
      :containers
      name: nginx-
        image: nginx:latest
        :ports
        containerPort: 80-

مزایای استفاده از POD در کوبرنتیز

پاد کوبرنتیز درحالی‌که مدیریت و اجرای کانتینرها را آسان‌تر، مقیاس‌پذیرتر و انعطاف‌پذیرتر می‌کند، ارتباط بین کانتینرها و پادها را نیز بهبود می‌بخشد. مزایای پاد در کوبرنتیز عبارتند از:

  1. ارتباط آسان بین کانتینرها

وقتی یک پاد شامل چندین کانتینر باشد، این کانتینرها در یک فضای شبکه مشترک قرار دارند و می‌توانند از طریق localhost با هم ارتباط برقرار کنند. این کارباعث می‌شود که ارتباط بین کانتینرها ساده و سریع‌تر باشد.

2. ارتباط آسان بین پادها

پادها می‌توانند از طریق IP اختصاصی خودشان یا منابع مشترک با دیگر پادها ارتباط برقرار کنند. این ویژگی به هماهنگی بین سرویس‌های مختلف در یک کلاستر کمک می‌کند.

3. پشتیبانی از کانتینرها (init مقدماتی)

پادها می‌توانند کانتینرهای اولیه (init containers) را قبل از کانتینرهای اصلی اجرا کنند. این قابلیت برای آماده‌سازی محیط اجرا (مثل بارگیری تنظیمات یا ایجاد فایل‌های ضروری) بسیار مفید است.

3. مقیاس‌پذیری آسان

پادها به‌صورت خودکار قابل مقیاس‌گذاری هستند. یعنی براساس افزایش یا کاهش درخواست‌ها، پادهای تکراری (Replica Pods) ایجاد یا حذف می‌شوند. این موضوع باعث می‌شود که منابع سیستم بهینه مصرف شوند و عملکرد بهتری داشته باشیم.

نقش پاد در واحدهای کاری کوبرنتیز
پاد کوبرنتیز به‌عنوان کوچک‌ترین واحد اجرایی، نقشی اصلی در مدیریت و امکان استقرار و اجرای اپلیکیشن‌ها را دارد.

دستورات پایه‌ای kubectl برای مدیریت پادها

بعد از این که با مفاهیم پایه‌ای پادها آشنا شدیم، در این قسمت می‌خواهیم به یکی از ابزارهای اصلی مدیریت پادها یعنی kubectl نگاهی بندازیم. با دستورات پایه‌ای kubectl می‌توانید پادها را در کلاستر کوبرنتیز ایجاد، مشاهده و حذف کنید. این دستورات از جمله مهم‌ترین ابزارهایی هستند که مدیران و کاربران کوبرنتیز برای تعامل با منابع کلاستر استفاده می‌کنند.

سه دستوری که در ادامه معرفی می‌کنیم سه دستور رایج و کاربردی برای مدیریت پادها هستند:

دستور kubectl get

این دستور اطلاعات مربوط به یک یا چند منبع (resource) را به صورت جدول نمایش می‌دهد و می‌توانید از آن برای گرفتن اطلاعات در مورد PODها، Deploymentها، سرویس‌ها و غیره استفاده کنید.  همچنین می‌توانید اطلاعات را با استفاده از label selectorها فیلتر کنید و آنها را فقط از فضای نام فعلی یا از همه فضاهای نام در کلاستر نمایش دهید. دستور kubectl api-resources لیستی از همه منابع پشتیبانی‌شده که می‌توانید اطلاعاتشان را با get ببینید، نشون می‌دهد.

دستور kubectl create

این دستور برای ایجاد منابع، از جمله PODها، کاربرد دارد.  شما یک فایل YAML یا JSON که مشخصات POD را داخل آن تعریف کرده‌اید، به این دستور می‌دهید؛ سپس با استفاده از این دستور و ارجاع به فایل مذکور، می‌توانید POD مورد نظر را ایجاد کنید.

دستور kubectl delete

این دستور به منظور حذف منابع مختلف در Kubernetes، از جمله PODها، مورد استفاده قرار می‌گیرد. هنگام حذف یک POD، ابتدا یک بازه زمانی تحت عنوان grace period (به طور پیش فرض ۳۰ ثانیه) به آن اختصاص داده می‌شود تا فرآیندهای در حال انجام خود را به اتمام برساند. پس از اتمام این بازه زمانی، در صورتی که POD همچنان در حال اجرا باشد، به اجبار (forcefully) حذف خواهد شد. لازم به ذکر است که مقدار grace period  قابل تغییر بوده و از طریق flag –grace-period  قابل تنظیم است.

آنچه در پاسخ به سوال «Kubernetes pod چیست؟» گفتیم

در این مقاله فالنیک گفتیم که pod  چیست و چرا به‌عنوان یکی از اجزای کلیدی پاد کوبرنتیز شناخته می‌شود. ابتدا به تعریف و کاربردهای پاد پرداختیم و توضیح دادیم که چگونه پادها بستر اصلی اجرای کانتینرها در کوبرنتیز را فراهم می‌کنند. سپس مزایای استفاده از پادها، از جمله انعطاف‌پذیری، مقیاس‌پذیری و مدیریت آسان منابع را شرح دادیم.

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

راه اندازی سرویس های لینوکس در فالنیک (ایران اچ پی)
راه اندازی سرویس های لینوکس در فالنیک (ایران اچ پی)
خدمات نصب و راه اندازی سرویس‌های لینوکس در فالنیک شامل امن کردن سرورهای لینوکسی و ویندوزی، ارتباط امن و خصوصی شبکه داخلی بر بستر اینترنت، اسکریپت نویسی و... است. برای اطلاعات بیشتر کلیک کنید.
5/5 - (4 امتیاز)

فاطمه کمالی

از سال ۹۸، کارمو تو دنیای بازاریابی محتوایی شروع و نویسندگی رو تو حوزه‌های مختلفی مثل تکنولوژی،کارآفرینی، پزشکی و ... تجربه کردم. امروز، به‌عنوان تکنیکال رایتر سرور و شبکه و عضو تحریریه فالنیک، تلاش می‌کنم پیچیدگی‌ها این حوزه رو ساده کنم و محتواهایی بنویسم که نه تنها اطلاعات میدن، بلکه تصمیم‌گیری رو آسون‌تر میکنن. اگر دنبال محتوایی هستید که راه‌حل بسازه، نه سوال تازه، همراهم باشید!

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

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

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

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