لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
کامل آموزش Kubernetes توسط School of Devops®
Complete Kubernetes Tutorial by School of Devops®
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
تسلط بر ارکستراسیون کانتینر با Kubernetes یک مرحله در یک زمان. برای آزمون CKA آماده شوید نیاز به سیستم هماهنگ سازی کانتینر و ویژگی های کلیدی Kubernetes را نصب و پیکربندی کنید. انواع مختلف بارهای کاری با Daemonset ها، Statefulsets، Crons و Jobs درک نحوه عملکرد ذخیره سازی مداوم با PVs، PVCs، Storageclass و ارائه دهندگان دینامیک Setup Auto Scaling with Horizontal Pod Autoscaler Create RBAC Policies، Roles/Cluster Roles and Bindings ، ساختن تصاویر با Dockerfiles و غیره. نحو اولیه YAML دستورات پایه لینوکس
درست مانند اینکه چگونه کانتینرهای حمل و نقل در دنیای واقعی انقلابی در نحوه بسته بندی، حمل و نقل کالاها در صنعت جهان ایجاد کردند، Docker به همراه اکوسیستم کانتینر باز در حال تغییر دادن تحویل نرم افزار با استانداردسازی است. Docker راهی برای اجرای فرآیندهای ایزوله ارائه می دهد و همچنین به فرد اجازه می دهد تا یک برنامه را همراه با محیط زمان اجرا با استفاده از فایل های اولیه مانند dockerfiles بسته بندی کند. با این حال، وقتی نوبت به اجرای داکر در محیطی مانند تولید میرسد، با بارهای کاری کانتینری که بیش از یک گره را در بر میگیرد، به COE ( موتور ارکستراسیون کانتینر) نیاز دارید. COE ها خوشه بندی را ارائه می دهند و گره های شما را به یک سوپر کامپیوتر تبدیل می کنند، تصمیم گیری هوشمندانه ای برای زمان بندی کانتینرها می گیرند، کانتینرهایی را که روی گره های مختلف اجرا می شوند با راه اندازی شبکه چند میزبان متصل می کنند و بسیاری از ویژگی های جالب دیگر مانند تحمل خطا، عدم استقرار زمان خرابی و غیره را ارائه می دهند. .
Kubernetes استاندارد طلایی در جهان ارکستراسیون کانتینر است. در ابتدا توسط گوگل بر اساس تجربه آنها در ساخت و مدیریت کانتینرها در مقیاس (در مقیاس گوگل) ایجاد شد. با این حال، اکنون توسط بنیاد محاسبات بومی ابری (CNCF)، یک نهاد باز هدایت میشود که گواهینامه رسمی را نیز ارائه میکند، یعنی «مدیر مجاز Kubernetes». Kubernetes دارای ویژگیهای شگفتانگیز، بسیار قابل اعتماد و موتور ارکستراسیون کانتینر بسیار پیچیده است. میتواند به شما امکان دهد زیرساختهایتان را به یک Container به عنوان سرویس (پلتفرم) تبدیل کنید، برخی از ویژگیهای شگفتانگیز مانند استقرار زمان کاهش صفر، تحمل خطا، مقیاسگذاری خودکار، ادغامهای Cloud و Storage را که پیادهسازی آنها بسیار دشوار بود، به ارمغان بیاورد. و با سیستم واقعاً باز و قفل رایگان اکو آن را به تودهها میآورد.
با پیچیدگی Kubernetes، پیچیدگی نیز به وجود می آید. با وجود اینکه اکنون بیش از ۲ سال است که از Kubernetes استفاده میکنم، تقریباً هر ماه، چیز جدیدی در مورد kubernetes پیدا میکنم، چیز بسیار جالبی، خواه ادغامهای ابری باشد، یا RBAC تازه معرفیشده، خواه تأمین فضای ذخیرهسازی پویا یا مجموعههای حالت دار، زمانی که شروع به کاوش در آن کنید، دنیای شگفت انگیزی است. با این حال، هنگامی که در دنیای پیچیده Kubernetes حرکت می کنید، قطعاً به یک راهنما نیاز خواهید داشت، و این دوره دقیقاً در خدمت آن است. به گونهای ایجاد شده است که شما شروع به یادگیری کوبرنیتها از ابتدا، یک گام کوچک در هر زمان، ویژگی به ویژگی کنید.
این دوره با دانش من در زمینه ساخت و مدیریت زیرساختها، تجربه کمک به شرکتها در سفر توسعهدهی و بیش از 300 دوره آموزشی شرکتی، تجربهای کامل را برای شما به ارمغان میآورد. این یک برنامه به خوبی تحقیق شده است و من انواع مختلفی از برنامهها را با جریانهای مختلف امتحان کردهام، بازخورد دریافت کردهام و بارها تکرار کردهام. این یکی از دلایلی است که ما بیش از 4 ماه طول کشید تا حتی دوره را در اولین شکل آن راه اندازی کنیم. ما همچنین شروع به ترکیب چند تکنیک جدید و مفید از جمله تخته شیشه، نقشه ذهنی برای توضیح بهتر مفاهیم و آسانتر کردن کارها کردهایم. من و تیمم میخواهیم این برنامه را به بهترین برنامه در جهان تبدیل کنیم و دائماً برای آن کار میکنیم.
در اینجا چیزی است که این دوره یک مرحله در یک زمان پوشش می دهد،
مقدمه ای بر Kubernetes و مفاهیم کلیدی
تنظیم محیط یادگیری
غلاف
کنترلکنندههای تکرار و مجموعههای تکرار
استقرار
خدمات
ConfigMaps و Secrets
ذخیره سازی دائمی
نسخه بعدی ما شامل بسیاری از موضوعات اضافی از جمله،
خواهد بود
استراتژی های انتشار
Autoscaler Pod Horizontal
مدیر بسته Helm
RBAC
کنترل کننده های ورودی
CI/CD با Kubernetes
هنگامی که اکنون برای این دوره ثبت نام می کنید، تضمین می کنید که این به روز رسانی ها را دریافت خواهید کرد، که قول ما به شماست! ما برای شما بهترین ها را در هنگام یادگیری Kubernetes آرزو می کنیم!
سرفصل ها و درس ها
درباره دوره
About Course
مربی خود را بشناسید - گوراو شاه کیست؟
Know your Instructor - Who is Gourav Shah ?
درباره دوره
About Course
دارایی های دوره
Course Assets
راهنمای آزمایشگاه
Lab Guide
اتاق چت Gitter برای دوره
Gitter Chat Room for the Course
اسلایدهای Kubernetes
Kubernetes Slides
دارایی های دوره
Course Assets
مقدمه ای بر Kubernetes
Introduction to Kubernetes
نیاز به موتور ارکستراسیون کانتینری
The need for a Container Orchestration Engine
نبردهای COE، کدام یک را انتخاب کنید
Battles of COEs, which one to choose
ویژگی های کلیدی COE
Key Features of a COE
چه چیزی Kubernetes را به انتخاب بالفعل COE تبدیل می کند
What makes Kubernetes the de facto COE choice
نکات منفی استفاده از Kubernetes
Negatives of using Kubernetes
مبانی Kubernetes
Basics of Kubernetes
ورزش
Exercise
مقدمه ای بر Kubernetes
Introduction to Kubernetes
مسیر اتوماسیون با Kubernetes
Path to Automation with Kubernetes
بخش مقدمه - مسیر اتوماسیون با Kubernetes
Section Intro - Path to Automation with Kubernetes
فضاهای نام
Namespaces
غلاف
Pods
Replication Controller، Replica Sets و Deployments
Replication Controller, Replica Sets and Deployments
کشف خدمات و تعادل بار
Service Discovery and Load Balancing
استفاده از Kubernetes primitives در Application Stack
Applying kubernetes primitives to your Application Stack
Configmaps و , Storage, Network, RBAC و غیره
Configmaps and , Storage, Network, RBAC etc.
Daemonsets، Statefulsets، Crons و Jobs
Daemonsets, Statefulsets, Crons and Jobs
معماری Kubernetes رو به پایان است
Kubernetes Architecture Run Down
درجه تولید ساختمان بالا خوشه Kubernetes موجود
Building production grade Hight Available Kubernetes Cluster
مسیر اتوماسیون با Kubernetes
Path to Automation with Kubernetes
ورزش
Exercise
مسیر اتوماسیون با Kubernetes
Path to Automation with Kubernetes
داکر کافی برای یک تمرینکننده Kubernetes است
Just Enough Docker for a Kubernetes Practitioner
این بخش برای چه کسانی است؟
Who is this section for ?
راه اندازی و اعتبارسنجی محیط داکر
Setting up and validating docker environment
در حال اجرا اولین ظرف شما
Running your first container
ساخت کانتینرها با گزینه های -idt ادامه پیدا می کند
Making containers persist with -idt options
LAB: ایجاد و عرضه یک Deployment
LAB: Create and rollout a Deployment
به روز رسانی و بازگشت
Update and Rollback
بازگشت به عقب
Rollbacks
آزمایشگاه: مقیاس، رونمایی و بازگشت
Lab : Scale, Rollout and Rollback
MINI PROJECT: پشته برنامه instavote را با Kubernetes مستقر کنید
MINI PROJECT : Deploy instavote app stack with Kubernetes
راه حل بخش اول - استقرار یک برنامه کارگر
Solution part I - Deploying a worker App
راه حل بخش دوم - استقرار سرویس DB
Solution part II - Deploying DB service
راه حل های بخش III - نتایج برنامه
Solutions part III - Results App
استقرار و به روز رسانی برنامه ها
Application Deployments and Updates
ورزش
Exercise
استقرار و به روز رسانی برنامه ها
Application Deployments and Updates
مدیریت تنظیمات برنامه با ConfigMaps و Secrets
Managing Application Configurations with ConfigMaps and Secrets
مقدمه بخش - نقشه های پیکربندی و اسرار
Section intro - Coonfigmaps and Secrets
ایجاد نقشه پیکربندی برای گزینه های برنامه رای
Creating Config Map for Vote app Options
LAB: تزریق متغیرهای env با کانفیگ مپ
LAB: Injecting env variables with configmaps
تنظیم تنظیمات محیطی خاص
Setting up Environment Specific Configs
LAB: ارائه تنظیمات خاص محیط
LAB: Providing environment Specific Configs
افزودن تنظیمات از فایل ها
Adding Configs from Files
LAB: فایل پیکربندی به عنوان ConfigMap
LAB: Configuration file as ConfigMap
ایجاد اسرار برای رمزگذاری اعتبار پایگاه داده
Creating Secrets to Encrypt Database Credentials
تنظیم متغیرهای محیط با استفاده از Secrets
Setting Environment vars using Secrets
LAB: استفاده از Secrets برای رمزگذاری داده های حساس
LAB: Using Secrets to encrypt sensitive data
مدیریت تنظیمات برنامه
Managing Application Configurations
ورزش
Exercise
مدیریت تنظیمات برنامه با ConfigMaps و Secrets
Managing Application Configurations with ConfigMaps and Secrets
داده های پایدار و تامین حجم پویا
Persisting data and dynamic volumes provisioning
بخش مقدماتی - حجم های پایدار
Section Intro- Persistent Volumes
راه اندازی RBAC برای NFS Provisioner
Setting up RBAC for NFS Provisioner
راه اندازی ارائه دهنده NFS با Statefulset
Setting up NFS provisioner with Statefulset
LAB: راه اندازی NFS با استفاده از StatefuleSets
LAB: Setting up NFS using StatefuleSets
ایجاد کلاس ذخیره سازی برای NFS
Creating storage class for NFS
ادعای حجم پایدار و نصب آن
Claiming a persistent volume and mounting it
تهیه پویا حجم های پایدار
Dynamically provisioning of persistent volumes
LAB: ایجاد و نصب PersistentVolumeClaim
LAB: Creating and mounting PersistentVolumeClaim
حجم های ماندگار
Persistent Volumes
ورزش
Exercise
داده های پایدار و تامین حجم پویا
Persisting data and dynamic volumes provisioning
ایجاد استراتژی های انتشار - آبی/سبز، قناری
Creating Release Strategies - Blue/Green, Canary
بخش مقدمه - استراتژی های انتشار
Section Intro- Release Strategies
تعریف Recreate به عنوان یک استراتژی انتشار
Defining Recreate as a Release Strategy
LAB: با استفاده از Recreate Strategy همراه با خرابی منتشر می شود
LAB: Releases with downtime using Recreate Strategy
انتشارات قناری
Canary Releases
آزمایشگاه: انتشار نسخه قناری
LAB: Rolling out a Canary Release
استقرار سبز آبی
Blue Green Deployments
آزمایشگاه: استقرار یک نسخه سبز-آبی
LAB: Deploying a Blue-Green Release
مکث و اصلاح عرضهها
Pausing and fixing rollouts
LAB: توقف و از سرگیری انتشار
LAB: Pause and Resume a Release
ورزش
Exercise
ایجاد استراتژی های انتشار - آبی/سبز، قناری
Creating Release Strategies - Blue/Green, Canary
مقیاس بندی پویا برنامه ها با Horizontal Pod Autoscaler
Dynamically scaling apps with Horizontal Pod Autoscaler
بخش معرفی HPA
Section Intro HPA
راه اندازی مانیتورینگ کد با Metrics Server
Setting up code monitoring with Metrics Server
LAB: سرور Metrics را برای تغذیه معیارهای اصلی به HPA مستقر کنید
LAB: Deploy Metrics Server for feeding in core metrics to HPA
تعریف درخواست منابع و محدودیت ها
Defining Resource Requests and Limits
LAB: تعریف درخواست منابع و محدودیت ها
LAB: Defining Resource Requests and Limits
ایجاد یک Autoscaler Pod Horizontal
Creating a Horizontal Pod Autoscaler
LAB: یک HorizontalPodAutoscaler ایجاد کنید
LAB: Create a HorizontalPodAutoscaler
تست بار نوشتن تعریف شغل
Writing load test Job definition
محاصره با بارترین کارها
Laying a siege with loadtest jobs
مقیاس خودکار در عمل با HPA
Autoscaling in action with HPA
LAB: تست بار در حال اجرا به عنوان یک کار kubernetes
LAB: Running load test as a kubernetes Job
ورزش
Exercise
مقیاس بندی پویا برنامه ها با Horizontal Pod Autoscaler
Dynamically scaling apps with Horizontal Pod Autoscaler
مسیریابی برنامه با کنترلرهای ورودی
Application routing with Ingress Controllers
بخش مقدمه ورود
Section Intro Ingress
Ingress Controllers و Ingress
Ingress Controllers and Ingress
انتخاب Traefik به عنوان کنترل کننده ورودی و DaemonSet به عنوان یک نوع استقرار
Choosing Traefik as a ingress controller and DaemonSet as a deployment type
ایجاد DaemonSet برای Traefik
Creating DaemonSet for Traefik
آزمایشگاه: یک کنترل کننده ورودی ایجاد کنید
LAB: Create a Ingress Controller
نوشتن تعریف Ingress برای برنامه رأی با مسیریابی مبتنی بر نام
Writing Ingress definition for vote app with named based routing
تست ورود و دسترسی به برنامه
Testing ingress and accessing the application
LAB: افزودن مسیریابی مبتنی بر نام
LAB: Adding Named Based Routing
حاشیه نویسی و راه اندازی مجوز اولیه برای برنامه رای
Annotations and setting up basic auth for vote app
LAB: استفاده از Annotations برای فعال کردن HTTP Auth
LAB: Using Annotations to enable HTTP Auth
ورزش
Exercise
مسیریابی برنامه با کنترلرهای ورودی
Application routing with Ingress Controllers
راه اندازی فایروال با سیاست های شبکه
Setting up firewall with Network Policies
ایجاد خط مشی شبکه پیش فرض برای فضای نام instavote
Creating default network policy for instavote namespace
افشای برنامههای روبهروی عمومی و اجازه دادن به ارتباط بین فضای نام
Exposing public facing apps and allowing inter namespace communication
LAB: ایجاد دیوار آتش با سیاست های شبکه
LAB: Creating firewall with Network Policies
راه اندازی فایروال با سیاست های شبکه
Setting up firewall with Network Policies
راه اندازی خوشه تولید در دسترس بالا با Kubespray
High Available Production Cluster setup with Kubespray
از برنامه نویس تا تولید با خوشه kubernetes High Available
From dev to production with High Available kubernetes Cluster
مقدمه ای بر کوبسپری
Introduction to Kubespray
طراحی HA
HA Design
آماده سازی گره ها برای راه اندازی Kubernetes
Preparing Nodes to setup Kubernetes
گره کنترلی Ansible و تنظیم موجودی
Ansible control node and inventory setup
اجرای کتابهای بازی Kubespray برای پیکربندی etcd، master و node
Running ansible kubespray playbooks to configure etcd, master and nodes
افزودن یک گره جدید به خوشه با kubespray
Adding a new node to cluster with kubespray
فعال کردن ویژگیهای اضافی kubernetes با Kubespray
Enabling additional kubernetes features with with Kubespray
درک راه اندازی HA، خدمات نگاشت به گره ها
Understanding HA setup, mapping services to nodes
استفاده از podAffinity و podAntiAffinity برای اطمینان از مکان یابی برنامه های کاربردی
Using podAffinity and podAntiAffinity to ensure co locating applications
LAB: تعریف وابستگی بین برنامه ها با PodAffinity
LAB: Defining affinity between applications with PodAffinity
استفاده از لکهها و تحملها برای غیرقابل برنامهریزی کردن گرهها یا اجرای تنها یک برنامه خاص
Using taints and tolerations to make nodes unschdulable or run only specific app
LAB: استفاده از Taints و Tolerations
LAB: Using Taints and Tolerations
ورزش
Exercise
برنامهریزی پیشرفته پاد
Advanced Pod Scheduling
استفاده از نمودار HELM و Tiller برای استقرار خودکار برنامه Stacks
Using HELM Charts and Tiller to auto deploy application Stacks
مقدمه ای بر HELM
Introduction to HELM
راه اندازی سکان با تیلر و راه اندازی پرومتئوس
Setting up helm with tiller and launching prometheus
مروری سریع بر نمودارهای فرمان
Quick overview of helm Charts
راه اندازی وردپرس با مقادیر سفارشی
Launching wordpress with custom values
راه اندازی پرومتئوس با کلاس ذخیره سازی سفارشی و قوانین ورودی
Setting up prometheus with custom storageclass and ingress rules
استقرار گرانا و ادغام آن با پرومتئوس
Deploying grafana and integrating it with prometheus
نمایش نظرات