ویرگول
ورودثبت نام
محمدرضا مقدسی
محمدرضا مقدسیDevops & Cloud Engineer at Greenplus
محمدرضا مقدسی
محمدرضا مقدسی
خواندن ۳ دقیقه·۸ ماه پیش

قسمت اول-راهنمای جیبی کوبرنتیز-PV و PVC به زبان خیلی خیلی ساده


در اولین پست از سری پست‌ها راهنمای جیبی کوبرنتیز: مفاهیم کلیدی به زبان ساده میخوام مفهوم PersistentVolume (PV) و PersistentVolumeClaim (PVC) توی کوبرنتیز با یک یه داستان ساده توضیح بدم.


داستان خونه و کمد جادویی

فرض کن یه شهر بزرگ به اسم کوبرنتیز داریم. توی این شهر، برنامه‌ها مثل آدما زندگی می‌کنن و هر برنامه یه خونه داره که بهش می‌گیم پاد (Pod). حالا این برنامه‌ها گاهی چیزایی دارن که باید نگه دارن، مثلاً اسباب‌بازی، کتاب، یا حتی نقاشی‌هاشون. اما یه مشکل هست: وقتی خونه‌شون (پاد) خراب می‌شه یا جابه‌جا می‌شه، همه چیزایی که دارن گم می‌شه! 😱

برای همین، توی این شهر یه انبار بزرگ و جادویی درست کردن که اسمش گذاشتن PersistentVolume و چون حوصله نداریم PV صداش می‌کنیم. این انبار یه جای امن و بزرگه که می‌تونه اسباب‌بازی‌ها و وسایل برنامه‌ها رو برای همیشه نگه داره، حتی اگه خونه‌شون (پاد) خراب بشه.

ولی یه مشکل دیگه هست! این انبار خیلی بزرگه و برنامه‌ها نمی‌تونن مستقیم برن اونجا و وسایلشون رو بذارن. برای همین، یه چیزی درست کردن به اسم PersistentVolumeClaim یا به اختصار PVC. این PVC مثل یه نامه درخواست به انبارداره. برنامه می‌گه: «جناب انباردار! من یه کمد کوچیک تو انبار می‌خوام که فلان‌قدر جا داشته باشه و فلان‌جور باشه.» اگه انبار جای مناسب داشته باشه، یه کمد بهش می‌ده و می‌گه: «این مال توئه، وسایلت رو بذار توش!»


حالا این PV و PVC چیه؟

  • PersistentVolume (PV)
    این مثل یه کمد یا انبار توی شهر کوبرنتیزه. یه جای ذخیره‌سازیه که از قبل آماده شده و می‌تونه اطلاعات رو نگه داره. مثلاً می‌تونه یه بخش از هارد دیسک سرور باشه، یا یه فضای ابری مثل گوگل درایو. مهم اینه که این کمد همیشه هست، حتی اگه برنامه‌ها جابه‌جا بشن.
  • PersistentVolumeClaim (PVC)
    این مثل درخواستیه که برنامه می‌فرسته تا یه کمد از انبار بگیره. توی این درخواست، برنامه می‌گه: «من یه کمد می‌خوام که مثلاً ۵ گیگ جا داشته باشه و سریع باشه.» اگه انبار (PV) جای مناسب داشته باشه، به برنامه یه کمد می‌ده و برنامه می‌تونه وسایلش رو توش بذاره.

مثال ساده

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

  1. اول PV درست می‌کنیم: مدیر شهر (یعنی ادمین کوبرنتیز) یه کمد توی انبار جادویی درست می‌کنه. مثلاً می‌گه: «این کمد ۱۰ گیگابایته و خیلی سریعه.» این می‌شه PV.
  2. بعد PVC درست می‌کنیم: برنامه نقاشی می‌گه: «من یه کمد می‌خوام که حداقل ۵ گیگابایت جا داشته باشه.» این درخواست می‌شه PVC. حالا سیستم کوبرنتیز می‌گرده و می‌بینه که اون کمد ۱۰ گیگابایتی PV برای این درخواست مناسبه. پس کمد رو به برنامه می‌ده.
  3. استفاده از کمد: حالا برنامه نقاشی‌هاش رو توی این کمد می‌ذاره. هر وقت خونه‌ش (پاد) خراب بشه یا جابه‌جا بشه، نقاشی‌ها توی کمد امنن و گم نمی‌شن. دفعه بعد که برنامه یه خونه جدید می‌گیره، دوباره به همون کمد وصل می‌شه و نقاشی‌ها رو می‌بینه.

یه مثال واقعی‌تر

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

  • PV: یه فضای ۱۰۰ گیگابایتی توی یه سرور یا فضای ابری (مثل Amazon S3) که از قبل آماده شده.
  • PVC: وبسایت می‌گه: «من ۲۰ گیگابایت جا می‌خوام برای ذخیره عکس‌ها.» این درخواست PVCه.
  • کوبرنتیز یه تیکه از اون ۱۰۰ گیگابایت PV رو به وبسایت می‌ده. حالا وبسایت می‌تونه عکس‌ها رو اونجا ذخیره کنه و حتی اگه سرورش خاموش بشه، عکس‌ها گم نمی‌شن.

تفاوت PV و PVC به زبان ساده

  • PV مثل یه کمد آماده‌ست که جای ذخیره داره.
  • PVC مثل یه نامه‌ست که می‌گه: «من فلان‌قدر جا می‌خوام.»

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


خب داستان PV و PVC این بخشش اینجا تموم شد. امیدوارم دوستش داشته باشین.

k8skubernetespvc
۲
۰
محمدرضا مقدسی
محمدرضا مقدسی
Devops & Cloud Engineer at Greenplus
شاید از این پست‌ها خوشتان بیاید