کتاب Road to Kubernetes (مسیر به سوی کوبرنتیس) یک راهنمای جامع برای یادگیری استقرار و مدیریت برنامهها، از روشهای دستی و سنتی تا استفاده از ابزارهای مدرن است. این کتاب با ساخت برنامههای وب ساده و استقرار آنها به صورت دستی آغاز میشود و سپس به تدریج به مفاهیمی مانند خودکارسازی با گیتهاب اکشنز و انسیبل، کانتینرسازی با داکر و در نهایت ارکستراسیون کانتینرها با Docker Compose، Docker Swarm و HashiCorp Nomad میپردازد.
هدف نهایی کتاب Road to Kubernetes، آشنا کردن خواننده با کوبرنتیس، یکی از قدرتمندترین ابزارهای ارکستراسیون کانتینر، و نشان دادن چگونگی استفاده از آن برای مقیاسپذیری و مدیریت بهینه برنامهها در محیطهای تولیدی است.
در ادامه مقدمهای از کتاب Road to Kubernetes را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Road to Kubernetes:
با «مسیر به سوی کوبرنتیس»، کارمان را با ساختن برنامههای وب ساده به زبانهای پایتون و Node.js آغاز میکنیم. این برنامهها در طول کل مسیر همراه ما خواهند بود تا بتوانیم با تمام ابزارها و تکنیکهای مختلف برای استقرار آنها آشنا شویم. از آنجا، استفاده از شلهای امن (SSH) و سیستمهای مدرن کنترل نسخه مثل گیت را با محیطهای مدیریتشده، مخازن مدیریتشده و استقرارهای مدیریتشده توسط خودمان شروع میکنیم.
پس از اینکه روش استقرار به صورت خود-مدیریتشده را درک کردیم، به سراغ خودکارسازی با گیتهاب، گیتهاب اکشنز و حتی انسیبل (Ansible) میرویم. گیتهاب یک سرویس محبوب برای میزبانی کد و مخازن گیت است که توسط یک شخص ثالث مدیریت میشود و به ما امکان اجرای گردشکارهای کد یکباره به نام گیتهاب اکشنز را میدهد.
این گردشکارها محیطهای محاسباتی کوتاهمدتی هستند که برای ساخت، آزمایش و استقرار کد ما مفیدند و به ما کمک میکنند تا یکپارچهسازی و تحویل مداوم (CI/CD) برنامههایمان را انجام دهیم. انسیبل به ما کمک میکند تا محیطهای استقرارمان (مثلاً ماشینهای مجازی) را با اعلام اینکه چه نرمافزاری برای اجرای برنامههایمان نیاز داریم، به صورت خودکار پیکربندی کنیم.
در حالی که انسیبل در پیکربندی محیطهای ما پس از ایجاد، عالی عمل میکند، ما به شیوهای برای پیشپیکربندی محیطهایمان روی آوردیم که آنها را به محیطهای اجرایی قابل حمل و مدیریتپذیر به نام “کانتینر” تبدیل میکند. کانتینرها و فرایند کانتینرسازی توسط داکر (Docker) پیشگام شدند و اغلب به عنوان “کانتینرهای داکر” شناخته میشوند.
این کانتینرها اساساً خودشان برنامههایی هستند که شامل یک سیستمعامل کوچک برای اجرای کد ما میشوند – آن را مانند یک سیستمعامل کوچک لینوکس تصور کنید که برنامه پایتون یا Node.js ما را اجرا میکند و میتواند به راحتی از یک سیستم به سیستم دیگر بدون نیاز به هیچ پیکربندی اضافی منتقل شود.
پس از یادگیری نحوه ساخت و اجرای کانتینرها، یاد گرفتیم که چگونه استقرار انواع مختلف کانتینرها را مدیریت کنیم؛ زیرا برنامهها به ندرت به تنهایی وجود دارند – برنامههای وب اغلب برای اجرا به پایگاه داده نیاز دارند. اجرای و مدیریت بیش از یک کانتینر در یک زمان، “ارکستراسیون کانتینر” نامیده میشود و دقیقاً کاری است که Docker Compose، Docker Swarm، HashiCorp Nomad و البته کوبرنتیس انجام میدهند. در حالی که هر ابزار کانتینرها را به شیوهای متفاوت مدیریت میکند، ما به تعدادی از روشهایی که این ابزارها با هم تلاقی دارند و زمان و مکان استفاده از آنها را بررسی خواهیم کرد.
کوبرنتیس یکی از پرکاربردترین ابزارهای ارکستراسیون کانتینر است و از بسیاری جهات به لطف اکوسیستم شخص ثالث خود، و همچنین پشتیبانی مدیریتشده توسط بسیاری از ارائهدهندگان خدمات ابری، از جایگزینهای دیگر بهتر است. در برخی موارد، شرکتها خدماتی را برای اجرا و مدیریت کانتینرهای شما ارائه میدهند که فناوری زیربنایی آن در واقع فقط کوبرنتیس است.
اگرچه استقرار روی کوبرنتیس ممکن است پیچیده به نظر برسد، هدف این کتاب این است که با تمرکز بر فناوریها و تکنیکهای استقرار مختلف موجود، این پیچیدگی را در هم بشکند تا بتوانید بهترین گزینه را برای خود و پروژههایتان مشخص کنید. اغلب اوقات، ممکن است متوجه شوید که کوبرنتیس بهترین گزینه است.
چه کسی باید کتاب Road to Kubernetes را بخواند؟
اگر مطمئن نیستید که کوبرنتیس برای شما یا پروژهتان مناسب است، این کتاب برای شماست. ایدهآل است که شما دانش پایهای در نوشتن کد پایتون یا جاوا اسکریپت داشته باشید تا بتوانید با مثالهای عملی این کتاب شروع کنید.
اگر مطمئن نیستید که کانتینرها یا کانتینرهای داکر برای برنامههای شما مناسب هستند، این کتاب نیز برای شماست. کانتینرها یک عنصر اساسی در کوبرنتیس هستند و به شما امکان میدهند برنامههای قابل حملی ایجاد کنید که میتوانند روی هر کامپیوتر، در فضای ابری، سرورهای محلی، رزبری پای، یا ترکیبی از همه اینها اجرا شوند.
کانتینرها میتوانند به مقیاسپذیری برنامههای شما کمک کنند. کوبرنتیس یکی از ابزارهایی است که به اطمینان از امکانپذیر بودن این مقیاس کمک میکند، اما تنها ابزار نیست. ما همچنین در مورد Docker Compose، Docker Swarm و HashiCorp Nomad برای اجرای کانتینرها یاد میگیریم.
نحوه سازماندهی کتاب Road to Kubernetes: یک نقشه راه
نام این کتاب (مسیر به سوی کوبرنتیس) به این معنی است که شما در شرف شروع یک سفر هستید، و این کار با یک هدف انجام شده است. بسته به پیشزمینه خود، میتوانید تقریباً از هر بخشی از این سفر شروع کنید. در حالی که هر فصل کتاب Road to Kubernetes بر اساس فصل قبلی ساخته شده است، هدف این است که به شما اجازه دهد تا با رشد پروژه یا کنجکاویتان، این کتاب را پیش ببرید.
فصل ۱ مبانی کاری را که در این کتاب انجام خواهیم داد، پایهریزی میکند. این فصل از کتاب Road to Kubernetes، برای خوانندگان فنی و غیرفنی به طور یکسان است تا به درک وضعیت استقرار مدرن و کارهایی که میتوانید در مورد آن انجام دهید، کمک کند.
فصل ۲ کتاب Road to Kubernetes جایی است که ما نمونه برنامههای وب پایتون و جاوا اسکریپت را از طریق Node.js ایجاد میکنیم. این برنامهها به عنوان جایگزینی برای تقریباً هر نوع برنامهای که قصد ساخت آن را دارید، عمل میکنند. دو محیط اجرایی مختلف، پایتون و Node.js، به ما کمک میکنند تا چالشهایی را که هنگام استقرار انواع مختلف نرمافزار با آنها روبرو میشویم، درک کنیم؛ این چالشها تقریباً یکسان هستند اما به اندازه کافی متفاوتند تا مشکلات زیادی ایجاد کنند.
فصل ۳ اولین گام در استقرار برنامههاست. این فصل از کتاب Road to Kubernetes، تماماً در مورد تلاشهای دستی است که برای استقرار کد روی یک سرور با استفاده از فناوریهای مدرن مانند کنترل نسخه از طریق گیت و فناوریهای جاافتاده مانند شلهای امن و فایروالها انجام خواهید داد. ماهیت دستی این فصل برای بسیاری از توسعهدهندگان یک رسم گذار است، زیرا این روش اغلب سریعترین راه برای استقرار برنامه شماست.
فصل ۴ کتاب Road to Kubernetes یک استقرار دستی را با استفاده از گیتهاب و گیتهاب اکشنز به یک استقرار خودکار تبدیل میکند تا به نمایندگی از ما دستورات مختلفی را با استفاده از یک گردش کار محاسباتی یکباره اجرا کند. این گردش کار محاسباتی به ما امکان میدهد از نرمافزار شخص ثالث انسیبل برای خودکارسازی نحوه پیکربندی محیطهای استقرارمان به جای انجام دستی آنها استفاده کنیم.
فصل ۵ کتاب Road to Kubernetes جایی است که ما یادگیری در مورد بستهبندی برنامههایمان در کانتینرها را شروع میکنیم. کانتینرها به ما کمک میکنند تا محیطهای برنامههایمان را از قبل پیکربندی کنیم تا بتوانیم آنها را به راحتی با پیکربندیهای اضافی بسیار کمی جابجا کنیم.
در حالی که ممکن است این کار در ابتدا پیچیدهتر به نظر برسد، برنامههای کانتینری میتوانند در هر جایی که یک محیط زمان اجرای کانتینر وجود دارد اجرا شوند، بدون توجه به اینکه برنامه از پایتون، Node.js، روبی، جاوا و غیره استفاده میکند.
محیطهای زمان اجرای کانتینر به این معنی است که سیستمهای استقرار ما برای کار نیازی به نصب محیطهای زمان اجرای برنامه ندارند – به این صورت که میتوانیم به جای نصب پایتون، Node.js، روبی، جاوا و غیره، فقط به یک کانتینر و یک محیط زمان اجرای کانتینر اکتفا کنیم.
فصل ۶ کتاب Road to Kubernetes جایی است که ما از خودکارسازی برای ساخت و ارسال کانتینرهایمان به مکانی برای ذخیره کانتینرها به نام Docker Hub استفاده میکنیم. از اینجا، اولین راه ما برای مدیریت چند-کانتینری، به نام ارکستراسیون کانتینر، با ابزاری به نام Docker Compose را یاد خواهیم گرفت.
فصل ۷ جایی است که ما اولین کانتینرهایمان را روی یک سرور تولیدی مستقر میکنیم، که از ما میخواهد سرور را پیکربندی کرده و ایمیجهای کانتینر خود را از طریق Docker Compose اجرا کنیم، که همه اینها توسط گیتهاب اکشنز هماهنگ میشوند.
فصل ۸ جایی است که ما کانتینرهایمان را روی کوبرنتیس مستقر میکنیم. در این فصل از کتاب Road to Kubernetes، ما یاد میگیریم که چگونه یک خوشه کوبرنتیس مدیریتشده را در مجموعهای از ماشینهای مجازی آمادهسازی کنیم. این خوشه از ماشینها، همراه با کوبرنتیس، به ما توانایی مقیاسدهی و مدیریت کانتینرها را میدهد، بر خلاف هر ابزاری که تا این مرحله استفاده کردهایم.
کوبرنتیس مدیریتشده، ویژگیهای تولیدی بسیار مورد نیاز مانند آدرس IP ثابت، متعادلکنندههای بار و حجمهای پایدار را فعال میکند. ما همچنین یاد میگیریم که چگونه مانیفستها را طراحی کنیم تا در مورد اینکه کانتینرها روی کوبرنتیس چه کاری باید انجام دهند و چگونه، هدفمند باشیم.
فصل ۹ کتاب Road to Kubernetes جایی است که ما کانتینرها را روی دو جایگزین کوبرنتیس به نامهای Docker Swarm و HashiCorp Nomad مستقر میکنیم. هر دو این ابزارها مانند کوبرنتیس، کانتینرها را هماهنگ میکنند، اما رویکرد و ویژگیهایشان متفاوت است. Docker Swarm یک توسعه طبیعی از Docker Compose است، در حالی که HashiCorp Nomad یک رویکرد منحصر به فرد برای مدیریت کانتینرها دارد که به خوبی در اکوسیستم ابزارهای HashiCorp مانند Terraform و Vault جای میگیرد.
همانطور که مشاهده میکنید، هر فصل کتاب Road to Kubernetes بر اساس مفاهیم معرفیشده در فصول قبلی ساخته شده و در نهایت با دو فصل در مورد نحوه مدیریت کانتینرها با ابزارهای مدرن ارکستراسیون کانتینر به پایان میرسد. بلوک ساختمانی اصلی کوبرنتیس یک کانتینر است و بنابراین کانتینرها نیز یک مفهوم اساسی برای این کتاب هستند.
چند فصل اول کتاب Road to Kubernetes به شما کمک میکنند تا نیاز به کانتینرها را به صورت مفهومی و عملی درک کنید، در حالی که بقیه کتاب به شما کمک میکند تا کانتینرها را در استقرار بهتر درک کرده و از آنها بهره ببرید.
سرفصلهای کتاب Road to Kubernetes:
- Road to Kubernetes
- brief contents
- contents
- preface
- acknowledgments
- about this book
- about the author
- about the cover illustration
- 1 Kubernetes and the path to modern deployment
- 2 Creating the Python and JavaScript web apps
- 3 Manual deployment with virtual machines
- 4 Deploying with GitHub Actions
- 5 Containerizing applications
- 6 Containers in action
- 7 Deploying containerized applications
- 8 Managed Kubernetes Deployment
- 9 Alternative orchestration tools
- appendix A Installing Python on macOS and Windows
- appendix B Installing Node.js on macOS and Windows
- appendix C Setting up SSH keys for password-less server entry
- appendix D Installing and using ngrok
- index
جهت دانلود کتاب Road to Kubernetes میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.