در این مقاله با نصب kubernetes که به آن K8S نیز میگویند آشنا خواهید شد. ابزاری که میتوان آن را از جمله مهمترین و قدرتمندترین فناوریهای کاربردی در Devops و مدیریت کانتینر Container معرفی کرد.
در دنیای فناوری اطلاعات، کانتینرها از شهرت بالایی برخورد دارند. به همین خاطر برای یک مهندس IT فعال در این بازار کار، داشتن اطلاعات کافی و کاربردی از ابزار kubernetes بسیار مهم و تاثیرگذار خواهد بود.
تسلط به نحوه نصب ابزار کوبرنتیز و استقرار نرمافزارها در محیط Manage، بازار کار برای یک مهندس دوآپس را بینالمللی خواهد کرد. همراه ما باشید. چرا که موضوع این مقاله آموزشی وبسایت پچیم pachim.sh، به نحوه نصب یکی از پیشرفتهترین تکنولوژیها به هدف مدیریت کانتینرها و اجرای برنامهها بر روی کلاسترها اختصاص دارد.
درباره نحوه نصب kubernetes و آشنایی با مفهوم و کاربرد ابزار کوبرنتیز
میزبانی از فناوری کوبرنتیز به عنوان یک ابزار متن باز که نسخه پیشرفته Borg است، به بنیاد محاسبات بومی ابری ( CNCF ) اختصاص دارد. دو سال قبل یعنی در سال ۲۰۲۱، از جمله مهمترین و کاربردیترین ابزارها در حوزه DevOps موضوع آشنایی با مفهوم و نحوه نصب kubernetes معرفی شد.
به همین خاطر داشتن آگاهی و برخورداری از مهارت نصب و راهاندازی kubernetes، بسیار کاربردی و از جمله مهارتهای بروز در دنیای IT محسوب میشود.
حتی بازار کار برای یک مهندس دواپس مسلط به کاربری و استقرار ابزار کوبرنتیز، محدود به کشور ایران نخواهد بود. او میتواند در خارج از کشور نیز پروژه بگیرد و مشغول به کار شود.
آشنایی با کاربرد استفاده از ابزار کوبرنتیز
متوجه شدید که ماهیت کوبرنتیز از یک ساختار اپن سورس open source برخوردار است. به همین دلیل با استفاده از فناوری kubernetes میتوان نسبت به کانتینر شدن اپلیکیشنها، ایجاد، مقیاسپذیری، استقرار و خودکارسازی برنامههای مختلف مربوط به کانتینر را به راحتی مدیریت کرد.
شاید برای شما جالب باشد که بدانید طراح و متولی فناوریکوبرنتیز، شرکت بزرگ Google است. امروزه در شرکت گوگل به هدف مدیریت در اپلیکیشنهای کانتینری Google lab در مدلهای ابری، فیزیکی و مجازی، از تکنولوژی کوبرنتیز استفاده میکند.
قبلا در شرکت گوگل مدیریت پردازشهای دستهای و اجرای این فرایندها، به واسطه کاربری از سیستمهای دیگر انجام میشد. البته این روزها شرکتهای معروف دیگری نیز مانند IBM و Microsoft و غیره نیز روی به استفاده از فناوری kubernetes آوردهاند.
آشنایی با روش نصب ابزار Kubernetes بر روی Google Cloud
ریشه کلمه Kubernetes از نام کاپیتان بوده و یونانی است. لوگو آن نیز نماد ناخدای کشتی است. کوبرنتیز پیادهسازی جدیدی از یک دهه تجربه شرکت بزرگ گوگل در اجرای نرمافزارهای سمت سرور در مقیاس بسیار بالا است. این ابزار کاربردی به صورت متن باز در اختیار شرکت گوگل قرار دارد. کوبرنتیز یکی از مدرنترین برنامههای موجود برای اجرای برنامهها و مدیریت کانتینرها بر روی کلاسترهای مختلف است.
در سال ۲۰۰۳ شرکت Google برای مدیریت نرمافزارهای خود در یک دیتا سنتر یا دیتا سنترهای مختلف در سرتاسر دنیا، به تعریف یک پروژه بزرگ و خیلی پیچیده اقدام نمود. این پروژه در اصل عملیات مدیریت کلاسترها را بر عهده داشت. گوگل به وسیله این تکنولوژی که با زبان ++C توسعه پیدا کرده است، قادر است میلیونها تسک قابل اجرا بر روی تعداد زیادی از ماشینهای مختلف را مدیریت کند. نام این پروژه بسیار بزرگ Borg است. گوگل سالیانه سال از این تکنولوژی به هدف مدیریت نرمافزارهای خود مانند Gmail، Google Maps و حتی موتور جستجوی خود استفاده کرد.
اما در نهایت در سال ۲۰۱۴ گوگل نسخه Open Source پروژه توسعه یافته Borg را با نام kubernetes منتشر کرد. در ادامه با متن باز شدن یا اپن سورس شدن این پروژه و نصب kubernetes، شرکتهای دیگر توانستند پروژههای خود را مانند گوگل در ابعاد خیلی بیشتر مدیریت کنند. شرکتهایی مانند داکر، آی بی ام، مایکروسافت و غیره.
آموزش نصب ابزار kubernetes بر روی سرویس ابری Google :
سرویس ابری گوگل یا همان Google Cloud platform محلی است برای نصب kubernetes. در ابتدای آموزش با کوبرنتیز انجین بر روی گوگل کلود آشنا میشویم. سپس با شروع deploy کردن بر روی یک اپلیکیشن ساده بر روی کلاستر کوبرنتیز، برنامه را اجرا میکنیم. با توجه به تصویر بالا، ابتدا باید به سرور ابری گوگل متصل شوید. برای این کار باید به آدرس وبسایت ( console.cloud.google.com ) مراجعه شود.
ابتدا باید یک اکانت تستی برای خود تهیه کنید. با ورود به این وب سایت داشبوردهای متفاوتی در اختیار شما قرار میگیرد. علاوه بر آن شرایط استفاده از امکانات زیادی در این محیط وجود دارد. در منوی ستونی سمت چپ به دنبال منو kubernetes Engine باشید. چرا که با این منو کار داریم. بر روی این منو کلیک کنید و در ادامه امکانات متفاوت آن را مشاهده خواهید کرد. در ابتدای آموزش نصب و استفاده از کوبرنتیز، بر روی گزینه اول یعنی کلاستر Cluster کلیک کنید. با توجه به تصویر زیر، شما به صفحه کلاستر به هدف ساختن یک کلاستر جدید هدایت خواهید شد.
در این صفحه به هدف ساختن یک اکانت کلاستر جدید، باید بر روی گزینه Creat Cluster کلیک کنید. به صفحه جدیدی هدایت خواهید شد. در اینجا میتوانید نام کلاستر و دیگر تنظیمات را مشخص کنید. در انتهای اعمال مشخصات و تغییرات، مانند تصویر زیر بر روی گزینه CREATE در پایین صفحه سمت چپ کلیک کنید.
پس از کلیک بر روی گزینه ساخت کلاستر جدید حالا به صفحه جدید منتقل میشوید. ساخت کلاستر جدید حدودا تا ۳ دقیقه زمان میخواهد. در ادامه مطابق شکل زیر کلاس ساخته میشود و این اتفاق با وجود تیک سبز رنگ در کنار نام کلاستر مشخص خواهد شد.
در ادامه باید بر روی گزینه Connect که جلوی نام کلاستر جدید وجود دارد کلیک کنید. پنجره جدید Pop up برای شما باز خواهد شد. در این پنجره نوار سیاه رنگی وجود دارد که بر روی آن کامنتی مشخصی است. با استفاده از آن میتوانید به کلاستر بر روی گوگل Cloud متصل شوید. برای این کار میتوانید این کامنت را کپی کرده و بر روی کلود ماشین آن را معرفی نمایید. یا حتی در زیر نوار سیاه رنگ بر روی شاسی run in Cloud shell کلیک کنید. در ادامه کامنت را کپی کرده و مطابق عکس زیر بر روی activate cloud shell کلیک کنید.
با کلید بر این گزینه پس از چند ثانیه provision خواهد شد. پس از آن میتوانید به ترمینال سرویس ابری گوگل دسترسی داشته باشید. مانند تصویر زیر.
با توجه به تصویر بالا مشاهده میکنید که کنسول برای شما باز میشود. در ادامه و در آخرین خط، کامنتی که کپی کردهاید را paste کرده و اینتر کنید. مطابق شکل زیر.
در ادامه پس از اینتر کردن، به عنوان مثال در انتهای خط عبارت kubectl get nodes را وارد کرده و دوباره اینتر کنید. پس از آن نودهای شما در قالب یک کلاستر قابل مشاهده خواهد بود. بقیه تنظیمات توسط سرویس ابری گوگل انجام خواهد شد. در این قسمت هر نوع دستوری را میتوانید وارد کنید و خروجی و اطلاعات دریافت نمایید. در ادامه کار به سراغ Virtual Machine خواهیم رفت. برای این کار ابتدا Terminal را اجرا کنید. میتوانید دستور کامنت کلاستر را در اینجا paste کنید. مانند تصویر زیر.
با این کار در راستای نصب kubernetes میتوانید توسط لوکال ماشین به سرور گوگل متصل شوید و کامنتها را همین جا اجرا کنید. طبق تصویر بالا شما به لوکال ماشین خود وارد شدهاید. همان Linux Ubuntu که بر روی سیستم خود نصب دارید. در ادامه اینتر را فشار دهید. مشاهده خواهید کرد که به سرویس ابری گوگل متصل خواهید شد. پس از آن در آخرین خط عبارت kubectl get nodes را وارد کنید و اینتر را بزنید. در ادامه مطابق شکل زیر کلاسترها بر روی لوکال ماشین معرفی میشوند.
به مرحله آخر نصب kubernetes رسیدیم. در اینجا دوباره به کنسول برمیگردیم. از پایین صفحه ادیتور را به بالا گسترش دهید. با وارد کردن عبارت clear صفحه را خالی کنید. حالا زمان آن است که باهم یک اپلیکیشن خیلی ساده را بر روی سرویس ابری گوگل Deploy کرده و آن را صدا بزنیم. در ادامه دستور Deploy کردن اپلیکیشن را در صفحه ادیتور paste کنید. همان دستوری که قبلا از kubectl دستور deployment را در لوکال ماشین برای یک اپلیکیشن Deploy کردید. حالا میخواهیم این سرویس را بر روی Google cloud platform پیادهسازی کنیم بر روی کلاستر کوبرنتیز. اپلیکیشن ما اینجا با نام Hello Server مشخص است به تصویر زیر توجه کنید.
در ادامه پس از فشردن کلید اینتر، اپلیکیشن با نام Hello Server میتواند Deploy شود. پس از آن، نوبت به exposé سرویس میرسد. با این کار هم از طریق لوکال سرور و یا از طریق یک اکسترنال لینک، به سرویس خود دسترسی خواهید داشت. در قسمت ادیتور و در آخرین خط باید کامنت دوم را paste کرده و در ادامه اینتر کنید تا سرویس exposé. شود. مطابق شکل زیر.
پس از آن در خط آخر عبارت kubectl get pods را وارد کنید و اینتر بزنید. با این کار مشاهده خواهید کرد status در حالت Running قرار دارد و در اصل pods شما آماده اجرا است. توجه کنید که status در حالت Running قرار بگیرد خیلی مهم است. در ادامه برای اینکه بخواهید به اطلاعات سرویس دسترسی داشته باشید، در آخرین خط عبارت kubectl get service بعلاوه این اپلیکیشن را وارد کرده و اینتر را انتخاب کنید. مطابق شکل زیر.
پس از آن در صفحه ادیتور External IP را کپی کنید و در مرورگر خود، آی پی انتخابی را paste نمایید. مطابق شکل زیر اپلیکیشن به درستی بر روی کلاستر کوبرنتیز cluster kubernetes دپلی شد و سرویس شما running خواهد بود.
و در آخر
هدف ما از ارائه آموزش نصب kubernetes آشنایی شما کاربران دستیار دواپس با سرویس ابری گوگل بود. متوجه شدید که میتوانید به راحتی یک اپلیکیشن خیلی ساده را بر روی سرویس ابری kubernetes eng Engine پیادهسازی و ایجاد نمایید. در نهایت خواهد توانست با توجه به این مقاله آموزشی، اپلیکیشن را بر روی آن Deploy کنید.