پرووید
منو

آموزش کار با Kubernetes

زبان: انگلیسیزیرنویس: انگلیسیسطح: متوسطمدت زمان: 1:27:11تعداد ویدئوها: 30فایل های پروژه: موجود
این آموزش بخشی از پکیج 10 آموزش پرطرفدار برای مهندسان و متخصصان فنی است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش کار با Kubernetes با عنوان اصلی Learning Kubernetes یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. در این آموزش با مفاهیم Kubernetes، کانتینرها و اکوسیستم Cloud-Native آشنا می شوید و یاد می گیرید چگونه یک محیط Kubernetes راه اندازی کنید. همچنین نحوه استقرار و مدیریت برنامه ها، بررسی وضعیت و Logهای آن ها، مدیریت منابع و آشنایی با معماری و مباحث پیشرفته Kubernetes را فرا خواهید گرفت.

Kubernetes چیست و چه کاربردی دارد؟

Kubernetes یک پلتفرم متن باز برای مدیریت و هماهنگ سازی کانتینرها (Container Orchestration) است که به کمک آن می توان برنامه های کانتینری را در محیط های مختلف مستقر، اجرا و مدیریت کرد. زمانی که یک نرم افزار از چندین سرویس و کانتینر تشکیل شده باشد، مدیریت دستی آن ها می تواند پیچیده شود. Kubernetes با فراهم کردن امکاناتی برای مدیریت استقرار، منابع و وضعیت سرویس ها، به ساده تر شدن این فرایند کمک می کند.

برای درک بهتر Kubernetes، ابتدا باید با مفهوم Container و رویکرد Cloud-Native آشنا شوید. کانتینرها محیطی مستقل برای اجرای برنامه ها و وابستگی های آن ها فراهم می کنند و معماری Cloud-Native نیز بر طراحی و توسعه نرم افزارهایی تمرکز دارد که برای اجرا در محیط های ابری و توزیع شده ساخته شده اند. در این بخش با ارتباط این مفاهیم و نقش Kubernetes در اکوسیستم مدرن توسعه نرم افزار آشنا می شوید.

نصب Docker و راه اندازی Kubernetes با minikube

برای شروع کار با Kubernetes به یک محیط اجرایی نیاز دارید تا بتوانید مفاهیم مختلف را به صورت عملی آزمایش کنید. در این آموزش ابتدا با نصب Docker روی سیستم عامل های Windows، Linux و macOS آشنا می شوید. Docker امکان ساخت و اجرای کانتینرها را فراهم می کند و یکی از ابزارهای مهم در مسیر یادگیری و استفاده از فناوری های مبتنی بر کانتینر محسوب می شود.

نصب Docker روی Linux - نمونه ای از بخش راه‌اندازی و آشنایی با محیط کار در آموزش کار با Kubernetes
نمونه ای از بخش «راه‌اندازی و آشنایی با محیط کار» در آموزش کار با Kubernetes

در ادامه نحوه نصب minikube روی هر سه سیستم عامل را یاد می گیرید. minikube ابزاری برای اجرای یک Kubernetes Cluster محلی است که به توسعه دهندگان اجازه می دهد بدون نیاز به یک زیرساخت چندسروری، با امکانات Kubernetes کار کنند. پس از نصب، یک Cluster راه اندازی می کنید و با محیط آن آشنا می شوید تا برای استقرار اولین برنامه خود آماده شوید.

استقرار برنامه در Kubernetes با YAML

یکی از مراحل مهم کار با Kubernetes، تعریف منابع و تنظیمات مورد نیاز برنامه ها است. در Kubernetes از فایل های YAML برای توصیف وضعیت مطلوب منابع استفاده می شود. این فایل ها مشخص می کنند چه منابعی باید ایجاد شوند و برنامه ها با چه تنظیماتی اجرا شوند. به همین دلیل، آشنایی با ساختار YAML و نحوه خواندن و نوشتن این فایل ها برای کار با Kubernetes اهمیت زیادی دارد.

در این بخش یاد می گیرید چگونه یک Namespace ایجاد کنید و برنامه خود را در Kubernetes مستقر نمایید. همچنین با بررسی Event Logها، وضعیت سلامت Podها را کنترل می کنید و از ابزار BusyBox برای اطمینان از عملکرد صحیح برنامه کمک می گیرید. مشاهده Logهای برنامه نیز بخش دیگری از این فرایند است که به شما امکان می دهد وضعیت اجرای برنامه و مشکلات احتمالی آن را بهتر بررسی کنید.

مدیریت منابع و انتشار برنامه در Kubernetes

پس از آشنایی با استقرار یک برنامه ساده، می توانید سراغ سناریوهایی بروید که نیازمند تنظیمات بیشتری هستند. یکی از این موارد، در دسترس قرار دادن برنامه از طریق اینترنت است. Kubernetes با استفاده از Serviceهایی مانند LoadBalancer امکان هدایت ترافیک ورودی به برنامه های مستقرشده را فراهم می کند. این قابلیت در شرایطی اهمیت دارد که بخواهید کاربران خارج از محیط داخلی Cluster نیز به برنامه دسترسی داشته باشند.

موضوع مهم دیگر، مدیریت منابع مصرفی کانتینرها است. در Kubernetes می توانید برای Podها مقادیر Resource Requests و Resource Limits تعیین کنید تا نیازمندی ها و محدودیت های مصرف منابع مشخص شوند. در ادامه با نحوه حذف Objectهای ایجادشده در Kubernetes و متوقف کردن Cluster نیز آشنا می شوید. این مباحث به شما کمک می کنند چرخه ایجاد، مدیریت و پاک سازی منابع را بهتر درک کنید.

معماری Kubernetes چگونه کار می کند؟

برای استفاده مؤثر از Kubernetes، شناخت معماری داخلی آن اهمیت زیادی دارد. یک Kubernetes Cluster از بخش های مختلفی تشکیل شده است که هرکدام وظایف مشخصی در مدیریت و اجرای برنامه ها بر عهده دارند. در مرکز این معماری، Control Plane قرار دارد که مسئول مدیریت وضعیت کلی Cluster و هماهنگی عملیات مختلف آن است. درک نقش این بخش به شما کمک می کند بدانید Kubernetes چگونه وضعیت منابع را کنترل و مدیریت می کند.

Control Plane در Kubernetes - نمونه ای از بخش معماری Kubernetes در آموزش کار با Kubernetes
نمونه ای از بخش «معماری Kubernetes» در آموزش کار با Kubernetes

در کنار Control Plane، Worker Nodeها قرار دارند که وظیفه اجرای Workloadها و کانتینرهای برنامه را بر عهده دارند. این Nodeها با Control Plane در ارتباط هستند و در کنار یکدیگر امکان اجرای برنامه ها را در محیط Kubernetes فراهم می کنند. در این بخش با وظایف Control Plane و Worker Nodeها و نحوه همکاری آن ها آشنا می شوید تا دید روشن تری نسبت به ساختار و عملکرد یک Kubernetes Cluster به دست آورید.

مدیریت Podها، برنامه های Stateful و امنیت Kubernetes

پس از یادگیری مباحث پایه و معماری Kubernetes، آشنایی با موضوعات پیشرفته تر به شما کمک می کند برنامه های پیچیده تری را در این محیط مدیریت کنید. Pod یکی از اصلی ترین واحدهای اجرایی در Kubernetes است و روش های مختلفی برای مدیریت آن وجود دارد. در این بخش با شیوه های مدیریت Podها آشنا می شوید و یاد می گیرید چگونه Workloadهای مختلف را متناسب با نیاز برنامه خود اجرا و کنترل کنید.

برخی برنامه ها برخلاف سرویس های Stateless، به حفظ وضعیت و داده های خود در طول زمان نیاز دارند. به این دسته از برنامه ها Stateful Workload گفته می شود و اجرای آن ها در Kubernetes به ملاحظات خاصی نیاز دارد. علاوه بر این، امنیت یکی از موضوعات مهم در مدیریت Clusterهای Kubernetes است. در این بخش با مباحث امنیتی Kubernetes نیز آشنا می شوید تا درک بهتری از ملاحظات لازم برای اجرای برنامه ها در یک محیط کانتینری داشته باشید.

این آموزش Kubernetes برای چه کسانی مناسب است؟

این آموزش برای برنامه نویسان، توسعه دهندگان Backend، مهندسان نرم افزار و افرادی مناسب است که می خواهند با Kubernetes و کاربرد آن در مدیریت برنامه های کانتینری آشنا شوند. اگر با Docker آشنایی دارید و قصد دارید از اجرای مستقل کانتینرها به سمت مدیریت و هماهنگ سازی آن ها در یک Cluster حرکت کنید، مباحث این دوره می توانند مسیر یادگیری شما را شکل دهند. همچنین افرادی که به حوزه Cloud-Native و زیرساخت های مدرن نرم افزاری علاقه مند هستند، می توانند از موضوعات مطرح شده در این آموزش استفاده کنند.

در طول این آموزش از راه اندازی محیط محلی با Docker و minikube شروع می کنید و به تدریج با استقرار برنامه ها، مدیریت منابع، بررسی Logها و معماری Kubernetes آشنا می شوید. سپس موضوعاتی مانند مدیریت Podها، اجرای Stateful Workloadها و امنیت را بررسی می کنید. بنابراین این دوره می تواند برای افرادی که می خواهند دانش عملی خود را درباره Kubernetes توسعه دهند و با مفاهیم مورد نیاز برای کار در محیط های کانتینری آشنا شوند، انتخاب مناسبی باشد.

سرفصل مطالب آموزش ویدئویی کار با Kubernetes

فصل اول: مقدمه

  • آغاز سفر یادگیری Kubernetes
  • پیش‌نیازهای مورد نیاز

فصل دوم: Kubernetes و اکوسیستم Cloud-Native

  • Kubernetes چیست؟
  • کانتینرها چه هستند؟
  • Cloud-Native چیست؟

فصل سوم: راه‌اندازی و آشنایی با محیط کار

  • نصب Docker روی Windows
  • نصب Docker روی Linux
  • نصب Docker روی macOS
  • نصب minikube روی Windows
  • نصب minikube روی Linux
  • نصب minikube روی macOS
  • راه‌اندازی و بررسی یک Kubernetes Cluster با minikube

فصل چهارم: استقرار برنامه

  • خواندن و نوشتن فایل‌های YAML
  • ایجاد یک Namespace
  • استقرار یک برنامه
  • بررسی سلامت یک Pod از طریق Event Logها
  • بررسی عملکرد برنامه با استفاده از BusyBox
  • مشاهده Logهای برنامه
  • تمرین
  • راه‌حل تمرین

فصل پنجم: استقرار برنامه‌های پیچیده

  • در دسترس قرار دادن برنامه در اینترنت با استفاده از LoadBalancer
  • تعریف Resource Requests و Resource Limits برای Pod
  • حذف Objectهای Kubernetes و متوقف کردن Cluster

فصل ششم: معماری Kubernetes

  • Control Plane در Kubernetes
  • Worker Nodeها در Kubernetes
  • نحوه همکاری Control Plane و Nodeها

فصل هفتم: مباحث پیشرفته

  • روش‌های مختلف مدیریت Podها در Kubernetes
  • اجرای Workloadهای Stateful
  • امنیت در Kubernetes

فصل هشتم: جمع بندی

  • گام‌های بعدی در مسیر یادگیری Kubernetes
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.