آموزش Kubernetes Hands-On - Microservices را در AWS Cloud مستقر کنید

Kubernetes Hands-On - Deploy Microservices to the AWS Cloud

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: از Kubernetes برای استقرار معماری Microservice استفاده کنید. شما یک خوشه زنده Kubernetes را مستقر، مدیریت و نظارت خواهید کرد. کانتینرها را به یک خوشه Kubernetes Run Kubernetes در AWS با استفاده از EKS یا Kops مانیتور کردن یک خوشه Kubernetes زنده با استفاده از Prometheus و Grafana تجزیه و تحلیل سیاهههای سیستم با استفاده از ELK Stack (ElasticStack) مستقر کنید. Kibana و ElasticSearch هشدارها را در یک خوشه Kubernetes با اطلاع دادن به کانال‌های Slack کنترل می‌کنند. درک نحوه عملکرد درخواست‌ها و محدودیت‌ها در Kubernetes استفاده از Kubernetes Horizontal Pod Scaling خودکار پیکربندی کنترل ورودی در استقرار زنده Kubernetes درک Kubernetes StatefulSets با یکپارچه سازی سیستم DeCDu. مدیریت نمودارها و به‌روزرسانی پویای Kubernetes YAML پیش نیازها: برخی از دانش‌های قبلی Docker مفید است، اما یک مرور کلی به عنوان بخشی از دوره ارائه شده است. دانش قبلی AWS برای بخش‌های بعدی دوره مفید است. با این حال، تمام مفاهیم با جزئیات توضیح داده شده اند و این به عنوان اولین پروژه عالی در AWS عمل می کند. ما از ترمینال در طول دوره استفاده خواهیم کرد، بنابراین فرض می شود که آشنایی اولیه با عملیات ترمینال شما به یک کامپیوتر مدرن با حداقل 8 گیگابیت نیاز دارید. رم برای اجرای جلسات عملی

Kubernetes یکی از داغ‌ترین موضوعات در حال حاضر است و مهندسین با مهارت‌های Kubernetes تقاضای زیادی دارند.

این مهارت ها را با این دوره به دست آورید! این یک فرصت عالی برای کار بر روی یک پروژه واقعی Kubernetes و رسیدن به استانداردهای حرفه ای بالا در پروژه های واقعی است.

در تمام طول دوره، شما بر روی الزامات واقع بینانه کار خواهید کرد - اما نیازی نیست که کدنویس باشید یا زبان برنامه نویسی خاصی بدانید - من مجموعه ای از تصاویر Docker و شغل شما را برای شما آماده کرده ام. استفاده از Kubernetes برای اجرای این تصاویر است.

این سیستم یک معماری مبتنی بر Microservice است، و در طول مسیر، تصمیمات طراحی و مبادلاتی را که باید هنگام مدیریت این سیستم‌های پیچیده انجام دهید، بررسی خواهیم کرد. توجه داشته باشید که این دوره در مورد نحوه طراحی Microservices نیست (اگرچه ما مطمئناً در مورد آن صحبت خواهیم کرد). کار توسعه انجام شده است و باید سیستم را روی یک خوشه تولید اجرا کنیم.

همچنین با تجزیه و تحلیل عملکرد زمان اجرا خوشه متوجه خواهیم شد که توسعه دهندگان اشتباهات بدی در کد خود مرتکب شده اند!

شما می توانید بخش اول دوره را در رایانه توسعه محلی خود (PC/Mac/Laptop) انجام دهید. قسمت دوم (از فصل 13 به بعد) به سمت ابر حرکت می کند. شما از یک حساب واقعی AWS استفاده خواهید کرد، و ما به راه اندازی نظارت با ELK/Elastic Stack و مانیتور با Prometheus و Grafana ادامه می دهیم.

این دوره اکنون از EKS، سرویس AWS Elastic Kubernetes پشتیبانی می کند، اما ما همچنین نحوه استفاده از سیستم جایگزین به نام Kops را نشان می دهیم. مزایا و معایب هر کدام به تفصیل توضیح داده شده است.

من این دوره را برای طیف وسیعی از مخاطبان طراحی کرده ام - چه مهندس DevOps باشید، چه یک توسعه دهنده، یا اگر در کل این زمینه کاملاً تازه کار هستید، در طول مسیر همه چیز را توضیح خواهم داد. فقط مقداری دانش اولیه کار با رایانه و شاید کمی تجربه خط فرمان کافی باشد.

اگر می‌خواهید خودتان روی سیستم کار کنید، برای بخشی از دوره به یک حساب AWS نیاز دارید. اگر با AWS تازه کار هستید، نگران نباشید، من شما را تحت پوشش قرار داده ام - اما آمازون برای اجرای سیستم از شما هزینه می گیرد (همانطور که با همه/اکثر ارائه دهندگان ابری). انتظار نمی رود بیش از 10 دلار برای این کار پرداخت کنید (این یک تخمین بیش از حد مطمئن است)، اما از شما انتظار می رود که این هزینه را خودتان مدیریت کنید و باید خوشه Kubernetes خود را در پایان جلسه خود حذف کنید. اجازه ندهید که شما را ناامید کند، این یک سرمایه گذاری عالی است.

اگر ترجیح می‌دهید متحمل این هزینه‌ها نشوید، فقط می‌توانید ویدیوهای AWS را تماشا کنید - هنوز چیزهای زیادی یاد خواهید گرفت!

مثل همیشه، من اینجا هستم تا به سوالات پاسخ دهم و قصد دارم ظرف 48 ساعت پاسخ دهم.

موفق باشید!


سرفصل ها و درس ها

معرفی Introduction

  • مقدمه ای بر دوره Kubernetes Microservices Introduction to Kubernetes Microservices course

  • کد دوره Code for the course

  • پشتیبانی از کاربران Apple M1، M2 Support for Apple M1 ,M2 users

به Kubernetes خوش آمدید Welcome to Kubernetes

  • معرفی Kubernetes Introducing Kubernetes

  • پروژه عملی Hands-on Project

نصب Minikube برای توسعه محلی Kubernetes Installing Minikube for local Kubernetes Development

  • نکته اضافی برای کاربران لینوکس Extra note for Linux Users

  • اگر قبلا داکر را نصب کرده اید... If you already have Docker installed...

  • راه اندازی مجازی سازی Setting up Virtualization

  • (فقط Windows 10 Professional): راه اندازی Hyper-V (Windows 10 Professional Only): Setting up Hyper-V

  • نصب kubectl و minikube Installing kubectl and minikube

  • عیب یابی Minikube Troubleshooting Minikube

(اختیاری) Docker Quickstart (optional) Docker Quickstart

  • نمای کلی داکر Docker Overview

  • کانتینرهای داکر در مقابل تصاویر Docker Containers vs Images

  • قابل توجه کاربران Apple M1/M2! Attention Apple M1/M2 Users!

  • کانتینرهای در حال اجرا از DockerHub Running Containers from DockerHub

Kubernetes Pods Kubernetes Pods

  • بررسی اجمالی غلاف Pods Overview

  • نوشتن یک پاد Writing a Pod

  • اجرای یک پاد Running a Pod

خدمات در Kubernetes Services in Kubernetes

  • نکته مهم برای Docker Desktop و کاربران Driver Important note for Docker Desktop and Driver Users

  • خدمات Services

  • NodePort و ClusterIP NodePort and ClusterIP

  • انتخاب غلاف با برچسب Pod Selection with Labels

تمرین: ActiveMQ را به عنوان یک پاد و سرویس به Kubernetes مستقر کنید Exercise: Deploy ActiveMQ as a Pod and Service to Kubernetes

  • تمرین: ActiveMQ را به عنوان پاد و سرویس مستقر کنید Exercise: Deploy ActiveMQ as a Pod and Service

Kubernetes ReplicaSets Kubernetes ReplicaSets

  • ReplicaSets ReplicaSets

  • نوشتن ReplicaSet Writing a ReplicaSet

  • اعمال ReplicaSet به Kubernetes Applying a ReplicaSet to Kubernetes

استقرار Kubernetes Kubernetes Deployments

  • بررسی اجمالی استقرارها Deployments Overview

  • مدیریت Rollouts Managing Rollouts

شبکه و کشف خدمات Networking and Service Discovery

  • مروری بر شبکه در Kubernetes Networking Overview in Kubernetes

  • یک یادداشت سریع در مورد DNS pods A quick note about DNS pods

  • فضای نام - kube-system Namespaces - kube-system

  • یادداشت برای M1 Architectures Note for M1 Architectures

  • دسترسی به MySQL از یک Pod Accessing MySQL from a Pod

  • Cygwin اضافی - تعمیر ترمینال با Winpty Cygwin extra - fixing the terminal with winpty

  • اگر با MySql مشکل دارید در ویدیوی بعدی If you have a problem with MySql in the next video

  • کشف خدمات Service Discovery

  • نام های دامنه کاملاً واجد شرایط (FQDN) Fully Qualified Domain Names (FQDN)

معماری میکروسرویس Microservice Architectures

  • هشدار - مشکلات منابع احتمالی! WARNING - possible resource problems!

  • مقدمه ای بر میکروسرویس ها An Introduction to Microservices

  • مقدمه ای بر میکروسرویس ها قسمت 2 Introduction to Microservices Part 2

  • Fleetman Microservices - تنظیم صحنه Fleetman Microservices - setting the scene

  • استقرار صف Deploying the Queue

  • استقرار شبیه ساز موقعیت Deploying the Position Simulator

  • بررسی سیاهههای مربوط به غلاف Inspecting Pod Logs

  • استقرار ردیاب موقعیت Deploying the Position Tracker

  • استقرار دروازه API Deploying the API Gateway

  • استقرار برنامه وب Deploying the Webapp

ماندگاری و حجم Kubernetes Kubernetes Persistence and Volumes

  • ماندگاری Persistence

  • ارتقاء به Mongo Pod Upgrading to a Mongo Pod

  • سرویس مونگو Mongo Service

  • گسترش Minikube VM Expanding the Minikube VM

  • ولوم مانت Volume Mounts

  • حجم ها Volumes

  • PersistentVolumeClaims PersistentVolumeClaims

  • StorageClasses و Binding StorageClasses and Binding

اجرای Kubernetes در AWS Cloud Running Kubernetes on the AWS Cloud

  • هشدار Warning

  • شروع کار با AWS Getting started with AWS

  • مدیریت یک خوشه در ابر Managing a Cluster in the Cloud

  • EKS در مقابل Kops - کدام را انتخاب کنیم؟ EKS vs Kops - Which to Choose?

  • تفاوت قیمت - EKS در مقابل Kops (قیمت‌ها در اواسط 2020 درست است) Pricing Differences - EKS vs Kops (prices correct mid 2020)

  • ماجراجویی خود را انتخاب کنید! Choose Your Own Adventure!

KOPS - اجرای Kubernetes در AWS Cloud KOPS - Running Kubernetes on the AWS Cloud

  • این بخش برای Kops است! This Section is for Kops!

  • معرفی Kops - Kubernetes Operations Introducing Kops - Kubernetes Operations

  • نصب محیط Kops - به روز رسانی 2021 Installing the Kops Environment - 2021 Update

  • در حال پیکربندی اولین خوشه Configuring your first cluster

  • اجرای کلاستر Running the Cluster

EKS - اجرای Kubernetes در AWS Cloud EKS - Running Kubernetes on the AWS Cloud

  • این بخش برای EKS است This section is for EKS

  • شروع کار با EKS Getting started with EKS

  • eksctl و AWS CLI را نصب کنید Install eksctl and AWS CLI

  • اعتبارنامه AWS را پیکربندی کنید Configure the AWS credentials

  • Kubectl را نصب کنید Install kubectl

  • خوشه را شروع کنید Start the cluster

کارکردن خوشه Operating your Cluster

  • این بخش هم برای EKS و هم برای Kops است This section is for both EKS and Kops

  • هشدار برای سخنرانی بعدی - مشکلات احتمالی در تامین EBS Warning for next lecture - possible problems with EBS provisioning

  • تهیه درایوهای SSD با StorageClass Provisioning SSD drives with a StorageClass

  • هشدار - مشکلات AWS LoadBalancers Warning - problems with AWS LoadBalancers

  • یادداشت برای کاربران Kops Note for Kops users

  • یادداشتی برای کاربران مک در مورد سیلیکون اپل A note for Mac users on Apple silicon

  • استقرار بار کاری Fleetman در Kubernetes Deploying the Fleetman Workload to Kubernetes

  • تنظیم یک نام دامنه واقعی Setting up a real Domain Name

  • بازمانده از شکست گره Surviving Node Failure

  • تکثیر Pods در Kubernetes Replicating Pods in Kubernetes

حذف خوشه در Kops Deleting the Cluster in Kops

  • حذف خوشه Deleting the Cluster

  • راه اندازی مجدد کلاستر Restarting the Cluster

حذف Cluster در EKS Deleting the Cluster in EKS

  • چگونه خوشه EKS خود را حذف کنیم How to delete your EKS cluster

  • آخرین مرحله حذف خوشه One last cluster deletion step

اضافی - نحوه اجرای Kubernetes در Google Cloud Extra - how to run Kubernetes in Google Cloud

  • نحوه استقرار در Google Cloud Platform How to deploy to Google Cloud Platform

ثبت یک خوشه Kubernetes Logging a Kubernetes Cluster

  • معرفی ELK/ElasticStack Introducing the ELK / ElasticStack

  • نصب پشته در Kubernetes Installing the Stack to Kubernetes

  • کیبانا - نگاه اول Kibana - first look

  • تنظیم فیلترها و تازه کردن Setting Filters and Refreshes

  • نسخه ی نمایشی: تجزیه و تحلیل خرابی سیستم Demo: analysing a system failure

  • داشبوردهای کیبانا Kibana Dashboards

نظارت بر خوشه Kubernetes با Prometheus و Grafana Monitoring a Kubernetes Cluster with Prometheus and Grafana

  • نظارت بر یک خوشه (به روز رسانی 2020) Monitoring a Cluster (2020 update)

  • نصب kube-prometheus-stack Installing the kube-prometheus-stack

  • از "Classic UI" در ویدیوی بعدی استفاده کنید Use the "Classic UI" in the next video

  • با استفاده از رابط کاربری Prometheus Using the Prometheus UI

  • گرافانا را معرفی می کنیم Introducing Grafana

  • (اختیاری) نحوه استفاده از NodePort در یک کلاستر (optional) How to Use NodePorts on a Cluster

مدیر هشدار The Alert Manager

  • معرفی هشدارها - به روز رسانی 2020 Introducing Alerts - 2020 Update

  • آماده سازی یک کانال Slack Preparing a Slack Channel

  • پیکربندی AlertManager Configuring the AlertManager

  • عیب یابی پیکربندی alertmanager.yaml Troubleshoot the alertmanager.yaml config

  • برخورد با هشدارهای شلیک Dealing with Firing Alerts

  • رابط کاربری AlertManager و نحوه خاموش کردن هشدارها The AlertManager UI and how to Silence Alerts

  • نحوه برخورد با سگ نگهبان How to handle the Watchdog

  • با استفاده از PagerDuty Using PagerDuty

  • مطالعه موردی Case Study

  • مطالعه موردی: عیب یابی یک گره "بزهکار". Case Study: Troubleshooting a "Delinquent" node

(فقط Kops): اگر گره اصلی خراب شود چه اتفاقی می افتد؟ (Kops only): What Happens If The Master Node Crashes?

  • اگر Master Node از کار بیفتد چه اتفاقی می افتد؟ (فقط خوشه های Kops!) What happens if the Master Node crashes? (Kops clusters only!)

با Kubernetes ادامه می دهیم Going Further with Kubernetes

  • مقدمه ای بر "بخش پیشرفته" Introduction to the "Advanced Section"

  • کد/فایل های این بخش Code / files for this section

درخواست‌ها و محدودیت‌های Kubernetes Kubernetes Requests and Limits

  • درخواست های حافظه Memory requests

  • درخواست های CPU CPU Requests

  • محدودیت های حافظه و CPU Memory and CPU Limits

مشخصات متریک در Kubernetes Metrics Profiling in Kubernetes

  • فعال کردن سرور متریک Enabling the Metrics Server

  • مشاهده معیارها در داشبورد Viewing Metrics on the Dashboard

  • تنظیم برنامه های Java Spring Boot، محدودیت Heap Tuning Java Spring Boot Applications, Heap restriction

  • تنظیم درخواست های منطقی Setting reasonable Requests

مقیاس خودکار غلاف افقی Horizontal Pod Autoscaling

  • به روز رسانی: شما باید فایل yaml را در ویدیوی بعدی تغییر دهید Update: you will need to modify the yaml file in the next video

  • معرفی Replication و Autoscaling Introducing Replication and Autoscaling

  • تست مقیاس گذاری خودکار Testing Autoscaling

کاوشگرهای آمادگی و سرزندگی Readiness and Liveness Probes

  • نسخه ی نمایشی: چرا به کاوشگرهای آمادگی نیاز است Demo: why readiness probes are needed

  • استفاده از کاوشگرهای زنده و آمادگی Applying Liveness and Readiness Probes

کیفیت خدمات و اخراج Quality of Service and Eviction

  • درک زمانبندی Understanding the scheduler

  • برچسب های QoS QoS labels

  • اخراج ها Evictions

  • اولویت های غلاف Pod Priorities

Kubernetes ConfigMaps و Secrets Kubernetes ConfigMaps and Secrets

  • ایجاد یک ConfigMap Creating a ConfigMap

  • مصرف ConfigMap به عنوان متغیرهای محیطی Consuming a ConfigMap as Environment Variables

  • آیا تغییرات در ConfigMap منتشر می شود؟ Do changes to a ConfigMap get propagated?

  • نحوه مصرف متغیرهای محیطی متعدد با envFrom How to consume multiple environments variables with envFrom

  • نصب ConfigMaps به صورت Volume Mounting ConfigMaps as Volumes

  • ایجاد اسرار Creating Secrets

  • استفاده از اسرار Using Secrets

  • کجا قبلاً از ConfigMaps و Secrets استفاده کرده ایم؟ Where have we already used ConfigMaps and Secrets?

  • (اضافی) استفاده از Spring Cloud Kubernetes برای Hot Reload ConfigMaps (extra) Using Spring Cloud Kubernetes to Hot Reload ConfigMaps

کنترل کننده های ورودی Ingress Controllers

  • معرفی Ingress Introducing Ingress

  • تعریف قوانین مسیریابی Defining Routing Rules

  • اضافه کردن مسیرها Adding Routes

  • احراز هویت Authentication

  • اجرای Ingress در AWS Running Ingress on AWS

  • تست قوانین ورود Testing the Ingress Rules

  • (اضافی) راه اندازی HTTPS با خاتمه TLS در متعادل کننده بار (Extra) setting up HTTPS with TLS termination at the load balancer

سایر انواع بار کاری Other Workload Types

  • مشاغل دسته ای Batch Jobs

  • کرون جابز Cron Jobs

  • DaemonSets DaemonSets

  • نمای کلی StatefulSets StatefulSets Overview

  • StatefulSets برای تکرار پایگاه داده StatefulSets for Database Replication

  • نسخه ی نمایشی: کوچک کردن پایگاه داده Mongo Demo: Scaling out a Mongo Database

استقرار مداوم در یک خوشه Kubernetes Continuous Deployment on a Kubernetes Cluster

  • نکات مربوط به این بخش از دوره Notes on this section of the course

  • معرفی CI/CD Introducing CI/CD

  • هشدار - هنگام Forking مخازن مراقب باشید Warning - be careful when Forking repositories

  • ایجاد یک سازمان GitHub Establishing a GitHub organization

  • راه اندازی یک سیستم اصلی جنکینز Setting up a Basic Jenkins System

  • تعریف خط لوله Defining a Pipeline

  • به روز رسانی - ایجاد یک رمز دسترسی شخصی از Github Update - creating a Personal Access Token from Github

  • یک آپدیت جزئی دیگر! Another minor update!

  • اجرای خط لوله چند شاخه ای Running a Multibranch Pipeline

  • بررسی ساخت‌ها Reviewing Builds

  • یادداشت هایی در مورد سازمان های GitHub Notes on GitHub Organizations

  • خطوط لوله سازمانی Organization Pipelines

  • استقرار مداوم در یک خوشه Continuous Deployment into a Cluster

معرفی Helm Introducing Helm

  • شروع کار با Helm Getting Started with Helm

  • چگونه نمودار هلم را نصب کنم؟ How do I Install a Helm Chart

  • چگونه نمودارهای هلم را پیدا کنیم How to Find Helm Charts

  • نصب پشته مانیتورینگ با هلم Installing a Monitoring Stack with Helm

  • کار با مقادیر نمودار Working with Chart Values

  • سفارشی کردن values.yaml Customising values.yaml

  • اجتناب از خوشه های دانه های برف! Avoiding Snowflake Clusters!

  • استفاده از هلم Pull برای در دست گرفتن کنترل نمودار Using Helm Pull to Take Control of a Chart

  • تولید Yaml با "Helm Template" Generating yaml with "Helm Template"

  • چرا نمودارهای هلم خود را می نویسید؟ Why would you write your own Helm Charts?

  • نوشتن الگوهای Go برای Helm Writing Go Templates for Helm

  • عملکردها و خطوط لوله Helm Functions and Pipelines

  • کنترل جریان در قالب هلم Flow Control in a Helm Template

  • قالب های نامگذاری شده Named Templates

  • بازرسی نمودار کلاه حرفه ای Inspecting a Professional Helm Chart

خداحافظ! Goodbye!

  • خداحافظ! Goodbye!

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

آموزش Kubernetes Hands-On - Microservices را در AWS Cloud مستقر کنید
جزییات دوره
28 hours
180
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
43,680
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Richard Chesterwood Richard Chesterwood

توسعه دهنده نرم افزار در VirtualPairProgrammers

Virtual Pair Programmers Virtual Pair Programmers

Prageeth Warnak Prageeth Warnak

معمار اصلی نرم افزار