
آموزش کوبرنتیس Kubernetes برای برنامه نویسان: مباحث اصلی
آموزش کوبرنتیس Kubernetes برای برنامه نویسان: مباحث اصلی یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی مباحث مقدماتی کوبرنتیس Kubernetes برای برنامه نویسان است که با نام اصلی Kubernetes for Developers: Core Concepts از شرکت Pluralsight منتشر شده است.
کوبرنتیس (Kubernetes) چیست؟
به بیان ساده کوبرنتیس یک ابزار مستقل از پلتفرم و همچنین open-source برای خودکارسازی کردن روال های مختلفی از قبیل deployment و همچنین scale کردن و مدیریت کردن cloud service ها می باشد. کوبرنتیس به شما این امکان را میدهد تا بتوانید اپلیکیشن های containerize شده خود را به سادگی مدیریت کنید. از همین جهت کوبرنتیس برای اپلیکیشن هایی که نیاز دارند به صورت افقی و یا horizontal مورد مقیاس شدن و یا scale شدن قرار می گیرند بسیار مناسب است.

این نوع از اپلیکیشن ها، ممکن است شامل وب اپلیکیشن ها و یا حتی اپلیکیشن های big data یا infrastructure service ها باشند. عملکرد کوبرنتیس با مخفی کردن و یا abstract کردن وظایف کسل کننده از برنامهنویسان اتفاق میافتد. به عبارت دیگر برنامه نویسان دیگر نیازمند اجرا کردن وظایفی از قبیل اجرا کردن مدیریت کردن و scale کردن cloud service ها نخواهد بود.
مزیت های استفاده کردن از کوبرنتیس
افزایش چابکی و یا agility و همچنین اعتماد پذیری و یا reliability در برنامه: با استفاده از کوبرنتیس شما می توانید، اپلیکیشن های جدید خود را به سادگی و با سرعت بسیار بالایی deploy و همچنین بر اساس نیازمندیهای خود scale کنید. این موضوع بدون درگیرشدن شدن با زیرساخت و یا infrastructure زیرین اتفاق میافتد.
کاهش هزینه های عملیاتی و یا operational cost: با استفاده از روال خودکارسازی که در اختیار شما قرار می دهد می توانید روال deployment و یا deployment process خود را خودکار سازی کنید این موضوع کمک می کند تا زمان صرف شده برای انجام وظایف دستی از راه اندازی کردن و پیکربندی کردن ابزار ها به مراتب کاهش پیدا کند.

ساده تر شدن مدیریت: با استفاده از کوبرنتیس شما می توانید در قالب یک داشبورد کاملاً ساده تمامی جنبه های مختلف کلاستر خود را به صورت real-time مورد مانیتور کردن قرار بدهید.
ساخت Deployment و اجرای بهروزرسانی بدون Downtime
در Kubernetes، تعریف یک Pod بهتنهایی تمام نیازهای اجرای یک اپلیکیشن را برطرف نمیکند؛ باید روشی برای مدیریت نمونههای برنامه و انتشار نسخههای جدید نیز در نظر گرفت. این آموزش پس از معرفی مفاهیم پایه و اجرای محلی Kubernetes، ساخت `Deployment` را بررسی میکند. با آشنایی با این منبع میتوانید نحوه تعریف وضعیت مورد انتظار برنامه را در قالب تنظیمات Kubernetes درک کنید و ارتباط آن را با Podها بسنجید. همچنین مباحث پایه `YAML` به شما کمک میکنند فایلهای پیکربندی مربوط به منابع را بخوانید و تغییر دهید، بدون اینکه ساختار آنها برایتان مبهم باقی بماند.
یکی از موضوعات کاربردی آموزش، بررسی عملی `Zero Downtime Deployment` است. در زمان انتشار نسخه جدید، هدف این است که فرایند جایگزینی نمونههای برنامه تا حد امکان بدون قطع دسترسی کاربران انجام شود؛ هرچند نتیجه نهایی به پیکربندی و وضعیت اپلیکیشن نیز وابسته است. درسهای مربوط به سلامت Podها و ساخت Deployment زمینه لازم برای فهم این فرایند را فراهم میکنند. این مباحث برای برنامهنویسانی اهمیت دارد که اپلیکیشنهای Containerized توسعه میدهند و میخواهند بدانند کد و تنظیمات برنامه چگونه در محیط Kubernetes اجرا میشوند و هنگام انتشار نسخه جدید چه منابعی درگیر هستند.
مدیریت ارتباطات و دادههای پایدار با Service و Volume
ارتباط پایدار با نمونههای در حال اجرای برنامه و نگهداری دادهها از نیازهای اصلی اپلیکیشنهای مستقرشده در Kubernetes هستند. این آموزش ساخت `Service` با `kubectl` و کار عملی با سرویسها را پوشش میدهد تا بتوانید نقش این منبع را در دسترسی به برنامه بهتر بشناسید. از آنجا که Podها ممکن است جایگزین شوند، وابسته کردن ارتباطات برنامه به یک نمونه مشخص میتواند مشکلساز باشد. شناخت Service کمک میکند شیوه تعریف دسترسی به workloadها را در ساختار Kubernetes درک کنید و ارتباط میان منابع اجرایی و مسیر دسترسی به آنها را بهتر بررسی کنید.
در بخش ذخیرهسازی، کار عملی با `Volume`ها و معرفی `StorageClass`ها مطرح میشود. این مفاهیم برای سناریوهایی اهمیت دارند که دادهها نباید صرفاً به عمر یک Pod وابسته باشند و برنامه به فضای ذخیرهسازی نیاز دارد. آموزش همچنین ایجاد `ConfigMap`ها و `Secret`ها را بررسی میکند تا تفاوت میان تنظیمات معمول برنامه و اطلاعاتی که باید با ملاحظات امنیتی بیشتری نگهداری شوند، روشن شود. با ترکیب این منابع در مثالهای آموزش، برنامهنویسان میتوانند ارتباط میان اجرای اپلیکیشن، تنظیمات محیط و نیازهای ذخیرهسازی را بهتر بفهمند و فایلهای پیکربندی مناسبتری برای workloadهای خود آماده کنند.
سرفصل مطالب آموزش ویدیویی کوبرنتیس Kubernetes برای برنامه نویسان: مباحث اصلی
فصل اول: مقدمه و بررسی این دوره آموزشی- مقدمه
- بررسی اجمالی Kubernetes
- بررسی ماهیت کلی Kubernetes
- کاربردها و موارد استفاده از Kubernetes
- اجرا کردن Kubernetes به صورت Local
- شروع به کار با kubectl
- بررسی UI Dashboard مربوط به Kubernetes
- جمع بندی
- مقدمه
- مفاهیم اساسی کار کردن با Pod ها
- ایجاد کردن یک Pod
- کار با kubectl و Pod ها
- بررسی مباحث اساسی YAML
- تعریف کردن یک Pod با استفاده از YAML
- کار کردن با kubectl و YAML
- بررسی سلامت Pod ها
- بررسی سلامت Pod ها به صورت عملی
- جمع بندی
- مقدمه
- مفاهیم اساسی Deployment ها
- ایجاد کردن یک Deployment
- کار کردن با kubectl و Deployments
- گزینه های کار کردن با Kubectl
- بررسی Zero Downtime Deployment ها به صورت عملی
- جمع بندی
- مقدمه
- مفاهیم اساسی سرویس ها
- انواع سرویس ها
- ایجاد کردن یک سرویس با kubectl
- ایجاد کردن یک سرویس با YAML
- کار کردن با kubectl و سرویس ها
- کار کردن با سرویس ها و kubectl به صورت عملی
- جمع بندی
- مقدمه
- مفاهیم اصلی Storage
- بررسی Volume ها
- بررسی Volume ها به صورت عملی
- کار کردن با PersistentVolume ها و PersistentVolumeClaim ها
- بررسی PersistentVolume ها و PersistentVolumeClaim ها در YAML
- بررسی StorageClass ها
- بررسی PersistentVolume ها به صورت عملی
- جمع بندی
- مقدمه
- مفاهیم اصاسی ConfigMap ها
- ایجاد کردن یک ConfigMap
- استفاده کردن از یک ConfigMap
- بررسی ConfigMap ها به صورت عملی
- مفاهیم اساسی ConfigMap ها
- ایجاد کردن یک Secret
- استفاده کردن از یک Secret
- کار کردن با Secret ها به صورت عملی
- جمع بندی
- مقدمه
- بررسی اپلیکیشن مورد نظر
- بررسی فایل های YAML
- اجرا کردن یک اپلیکیشن
- تکنیک های رفع خطا
- بررسی تکنیک های رفع خطا به صورت عملی
- جمع بندی
- جمع بندی دوره آموزشی







