
آموزش کوبرنتیس Kubernetes برای برنامه نویسان: انتقال از Docker Compose به Kubernetes
آموزش کوبرنتیس Kubernetes برای برنامه نویسان: انتقال از Docker Compose به Kubernetes یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش کوبرنتیس Kubernetes برای برنامه نویسان: استفاده کردن از Docker Compose به جای Kubernetes است که با نام اصلی Kubernetes for Developers - Moving From Docker Compose to Kubernetes از شرکت Pluralsight منتشر شده است.
ابزار Docker Compose چیست؟
ابزار docker compose کمک می کند تا بتوانیم اپلیکشن های موجود خود را در قالب چندین container با حداقل هماهنگ سازی انجام شده توسط برنامه نویس اجرا کنیم. با استفاده از این ابزار شما در قالب یک فایل YAML می توانید سرویس های موجود در برنامه را پیکربندی و تعریف کنید و سپس با دستوراتی بسیار ساده که در docker compose ارائه شده اند، می توانید این سرویس ها را ایجاد کرده و آنها را start کنید. استفاده کردن از docker compose در production و staging و development و testingو حتی workflow های CI به سادگی انجام پذیر است. البته توصیه می شود که از این ابزار بیشتر در محیط های development استفاده کنیم. start کردن و stop کردن و rebuild کردن سرویس ها و همچنین بررسی کردن شرایط هر کدام از آنها، جز مواردی هستند که با docker compose به سادگی انجام می پذیرد. بررسی کردن log های مربوط به سرویس های در حال اجرا نیز توسط docker compose انجام می شود. با استفاده از docker compose می توانیم چندین environment ایزوله شده بر روی یک میزبان و یا host تک را ایجاد کنیم.

حفظ کردن داده های موجود در volume ها در زمان ایجاد شدن هر کدام از container ها نیز به سادگی انجام پذیر است. با استفاده ازdocker compose می توانیم فقط container هایی که دستخوش تغییرات شده اند را دوباره ایجاد کنیم. استفاده کردن از متغیرها و یا جابجا شدن بین environment های مختلف نیز به سادگی با استفاده از docker compose امکان پذیر می شود. با تمامی این مزیتها docker compose کمبودهایی را نیز دارد که همین موضوع ما را به سمت استفاده کردن از کوبرنتیس سوق میدهد.
کوبرنتیس چیست؟
پلتفرم کوبرنتیس به صورت portable و extensible و open source ایجاد شده است. نقش اصلی آن مدیریت کردن اپلیکیشن های ایجاد شده با استفاده از container ها می باشد. با استفاده از کوبرنتیس می توانیم با پیکربندی های مختلف و خودکارسازی های ارائه شده توسط آن یک سیستم نرمافزاری را در قالب container های مختلف مدیریت کنیم. کوبرنتیس یک اکوسیستم کاملاً وسیع و سریعاً در حال رشد دارد. نقش اصلی کوبرنتیس هماهنگ کردن و یا originate کردن تعداد بیشماری است از container های موجود در یک سیستم نرم افزاری می باشد. البته علاوه بر این موارد، کوبرنتیس قابلیت های دیگری را از قبیل مانیتور کردن سلامتی container ها، از دسترس خارج کردن container های دچار مشکل شده و جایگزین کردن آن ها با container های جدید و بسیاری موارد دیگر را انجام می دهد. تمامی این قابلیت ها کمک می کند تا نیاز به دخالت انسانی در مدیریت کردن اپلیکیشن هایی که در قالب چندین container ایجاد شده اند به حداقل برسد.
تبدیل سرویسهای Docker Compose به منابع Kubernetes با Docker Stack و Kompose
اگر برنامهای را با Docker Compose اجرا میکنید، انتقال آن به Kubernetes نیازمند درک تفاوت میان ساختار تعریف سرویسها و منابعی است که Kubernetes برای مدیریت برنامه به کار میبرد. آموزش Kubernetes for Developers - Moving From Docker Compose to Kubernetes با مقایسه این دو ابزار شروع میشود و سپس به نگاشت سرویسهای Docker Compose به منابع Kubernetes میپردازد. این مقایسه کمک میکند هنگام مهاجرت، تفاوت میان تعریف سرویسها در Compose و مدل مدیریت منابع در Kubernetes را تشخیص دهید. در نتیجه، میتوانید پیش از تبدیل پیکربندیها، ساختار برنامه موجود و اجزای موردنیاز برای اجرای آن در محیط جدید را بررسی کنید.

یکی از مسیرهای آموزش، استفاده از Docker Stack برای انتقال از Docker Compose به Kubernetes است. در این بخش، فعالسازی Docker Stack، بررسی دستورات آن و اجرای عملی این دستورات مطرح میشود. سپس ابزار Kompose معرفی میشود و با نصب آن و اجرای دستور Convert، فرایند تبدیل پیکربندیها را دنبال میکنید. بررسی فایل YAML تولیدشده اهمیت دارد، زیرا خروجی تبدیل باید با منابع مورد انتظار Kubernetes مطابقت داشته باشد. آشنایی با این ابزارها به شما امکان میدهد روشهای مختلف مهاجرت را ارزیابی کنید و متناسب با ساختار فایلهای Compose، مسیر مناسبتری برای انتقال برنامه انتخاب کنید.
انتخاب روش مهاجرت به Kubernetes با Kompose یا Skaffold
تبدیل پیکربندیهای موجود تنها بخشی از فرایند انتقال برنامه به Kubernetes است؛ شناخت ابزارهای مهاجرت و نقش هرکدام نیز اهمیت دارد. در این آموزش، Kompose بهعنوان ابزاری برای تبدیل فایلهای Docker Compose به منابع قابل استفاده در Kubernetes بررسی میشود. مشاهده فایل YAML تولیدشده پس از اجرای Convert کمک میکند ارتباط میان تنظیمات اولیه و خروجی تبدیل را بهتر درک کنید. به این ترتیب، میتوانید پیکربندیهای ایجادشده را بررسی کنید و تشخیص دهید چه بخشهایی از تعریف سرویسها در قالب منابع جدید بازتاب پیدا کردهاند و چه مواردی به بازبینی نیاز دارند.
مسیر دیگر آموزش به استفاده از Skaffold برای انتقال از Docker Compose به Kubernetes اختصاص دارد و در کنار Docker Stack و Kompose قرار میگیرد. Skaffold بیشتر بر تسهیل چرخه توسعه و استقرار برنامههای Kubernetes تمرکز دارد؛ بنابراین شناخت نقش آن در کنار ابزارهای تبدیل، دید دقیقتری از مراحل مهاجرت و توسعه پس از آن ایجاد میکند. فصل پایانی نیز موارد آموزشدادهشده را در کنار یکدیگر قرار میدهد تا ارتباط میان ابزارها روشن شود. این مقایسه برای توسعهدهندگانی کاربرد دارد که میخواهند از محیط Compose به گردش کاری مبتنی بر Kubernetes برسند و میان تبدیل پیکربندی و مدیریت فرایند توسعه تمایز قائل شوند.
سرفصل مطالب آموزش ویدئویی کوبرنتیس Kubernetes برای برنامه نویسان: انتقال از Docker Compose به Kubernetes
فصل اول: مقدمه دوره آموزشی- مقدمه
- مقدمه
- مخاطبین این دوره آموزشی و پیش نیاز ها و نمونه کد ها
- مقدمه
- بررسی اجمالی Docker Compose
- بررسی اجمالی کوبرنتیس
- نگاشت کردن سرویس ها در Docker Compose در Resource ها در کوبرنتیس
- جمع بندی
- مقدمه
- فعال کردن Docker Stack
- بررسی دستورات Docker Stack
- آموزش عملی: کار کردن با دستورات Docker Stack
- جمع بندی
- مقدمه
- بررسی اجمالی ابزار Kompose
- نصب کردن ابزار Kompose
- بررسی دستور Convert در Kompose
- آموزش عملی: کار کردن با دستور Convert در Kompose
- بررسی فایل YAML تولید شده
- جمع بندی
- مقدمه
- بررسی اجمالی ابزار Skaffold
- نصب کردن ابزار Skaffold
- بررسی دستورهای Skaffold
- کار کردن عملی با دستور Init در Skaffold
- کار کردن عملی با دستور Dev در Skaffold
- جمع بندی
- مقدمه
- استفاده کردن از ابزار Docker Stack
- تبدیل کردن با ابزار Kompose
- کار کردن با ابزار Skaffold
- جمع بندی







