بخش 5: برنامهریزی و ارکستراسیون
فصل 1. Scheduler در Kubernetes
- آشنایی با وظایف Scheduler
- نحوه عملکرد Scheduler برای تخصیص Podها به Nodeها
- بررسی معیارهای Scheduler برای انتخاب Node (مانند ظرفیت CPU و RAM)
- سفارشیسازی Scheduler (Custom Scheduler)
- محدودیتها و خطاهای احتمالی در Scheduler
فصل 2. نحوه برنامهریزی Podها
- فرایند برنامهریزی (Scheduling Process) در Kubernetes
- مواردی که منجر به Pending شدن Podها میشود
- حل مشکلات مربوط به Pending شدن Podها
- بررسی ارتباط Nodeها با Podها (NodeSelector)
فصل 3. Affinity و Anti-Affinity
- مفهوم Affinity و Anti-Affinity
- استفاده از Node Affinity (برای تخصیص Podها به Node خاص)
- استفاده از Pod Affinity و Anti-Affinity (برای تنظیم ارتباط بین Podها)
- تنظیم اولویت (Preferred) و اجبار (Required) در Affinity
فصل 4. کار با Taints و Tolerations
- تعریف Taints (محدودیت روی Nodeها)
- تعریف Tolerations (اجازه اجرای Podها روی Nodeهای خاص)
- سناریوهای استفاده از Taints و Tolerations برای مدیریت منابع
- حل تعارضات مربوط به Taints و Tolerations
فصل 5. مدیریت اسکیل و بهینهسازی منابع
- افزایش مقیاس خودکار (Auto Scaling):
- آشنایی با Horizontal Pod Autoscaler (HPA)
- تنظیم معیارها برای HPA (مانند CPU، RAM، یا معیارهای سفارشی)
- نحوه راهاندازی و مدیریت HPA
- بهینهسازی منابع Podها:
- آشنایی با Vertical Pod Autoscaler (VPA)
- تنظیم و استفاده از VPA برای تغییر منابع موردنیاز Podها
- Resource Quotas و LimitRanges:
- تعریف Resource Quotas (محدودیت منابع برای Namespace)
- تنظیم LimitRanges برای Podها
- بررسی تاثیر Resource Quotas بر عملکرد کلاستر
فصل 6. Priority و Preemption
- مفهوم Priority برای Podها
- نحوه تعریف و استفاده از PriorityClass
- استفاده از Preemption برای آزادسازی منابع و اجرای Podهای با اولویت بالا
- مدیریت تداخلات در استفاده از Priority و Preemption
فصل 7. استراتژیهای توزیع و ارکستراسیون
- استراتژیهای توزیع Podها بین Nodeها
- استراتژی Rolling Updates (برای بهروزرسانی بدون Downtime)
- استراتژی Canary Deployments
- استفاده از DaemonSets برای توزیع Podها روی تمام Nodeها
بخش 6: ذخیرهسازی در Kubernetes
فصل 1. آشنایی با مفهوم ذخیرهسازی در Kubernetes
- تفاوت بین ذخیرهسازی موقتی (Ephemeral Storage) و پایدار (Persistent Storage)
- نحوه مدیریت دادهها در Kubernetes
- چرایی استفاده از Persistent Volumes (PVs)
فصل 2. Volumes در Kubernetes
- تعریف Volume و نحوه استفاده از آن
- انواع Volumeهای Built-in:
- emptyDir
- hostPath
- configMap و secret
- projected
- downwardAPI
- persistentVolumeClaim
- تفاوت Volumeهای Local و Remote
- مزایا و محدودیتهای هر نوع Volume
فصل 3. Persistent Volumes (PV) و Persistent Volume Claims (PVC)
- تعریف PV و PVC
- نحوه ایجاد PV و PVC
- مراحل Bind کردن PVC به PV
- مدیریت دادههای پایدار با استفاده از PVC
- حذف PV و PVC و مفهوم Retain Policy
فصل 4. Dynamic Provisioning
- مفهوم Dynamic Provisioning
- پیکربندی Storage Class برای Provisioning پویا
- بررسی نحوه تخصیص خودکار Volumeها
فصل 5. Storage Classes در Kubernetes
- تعریف Storage Class و اهمیت آن
- نحوه ایجاد Storage Class
- بررسی تنظیمات Storage Class (مانند Reclaim Policy و Volume Binding Mode)
- استفاده از Storage Classهای مختلف برای نیازهای متفاوت
فصل 6. Volume Snapshots
- مفهوم Snapshot و کاربرد آن
- نحوه ایجاد و بازیابی Snapshot در Kubernetes
- استفاده از VolumeSnapshotClass
فصل 7. CSI (Container Storage Interface)
- مفهوم CSI و اهمیت آن
- معرفی درایورهای CSI (مانند AWS EBS، Google PD، Azure Disk)
- نصب و استفاده از درایورهای CSI
فصل 8. مدیریت دادههای برنامهها
- نحوه مدیریت دادههای پایدار در برنامههای Stateful
- استفاده از StatefulSets و ارتباط آنها با PVC
- استفاده از ReadWriteMany (RWX) برای اشتراکگذاری دادهها بین چند Pod
فصل 9. رفع مشکلات و دیباگ
- بررسی مشکلات PV و PVC
- دیباگ Dynamic Provisioning
- رفع مشکلات دسترسی و ارتباط بین Pods و Volumes
- بررسی رویدادهای مرتبط با Volume در kubectl
فصل 10. پیکربندی ذخیرهسازی برای نیازهای خاص
- ذخیرهسازی برای پایگاههای داده (مانند MySQL و PostgreSQL)
- ذخیرهسازی برای سیستمهای فایل (مانند NFS)
- ذخیرهسازی اشیاء (Object Storage) مانند MinIO و S3
فصل 11. بکاپگیری و بازیابی دادهها
- ابزارهای بکاپگیری (مانند Velero)
- مراحل بکاپگیری از PVها و PVCها
- بازیابی دادهها پس از خرابی
بخش 7: دیباگ و مانیتورینگ در Kubernetes
فصل 1. دیباگ و رفع خطاها
- ابزارهای خطایابی اصلی
- آشنایی با دستورات ضروری
kubectl - استفاده از دستورات
kubectl logsبرای بررسی لاگهای Podها - بررسی رویدادها با
kubectl describeو تحلیل مشکلات
- آشنایی با دستورات ضروری
- خطایابی Podها
- شناسایی وضعیتهای Pod (Pending، Running، CrashLoopBackOff)
- تحلیل خطاهای مربوط به Image (ImagePullBackOff)
- بررسی مشکلات مربوط به Init Containers
- خطایابی Nodeها
- بررسی وضعیت Nodeها (
kubectl get nodes) - مشکلات مربوط به ظرفیت منابع (CPU، Memory)
- تحلیل خطاهای مربوط به Kubelet و Container Runtime
- بررسی وضعیت Nodeها (
- بررسی شبکه و سرویسها
- دیباگ مشکلات ارتباطی سرویسها و Podها
- بررسی وضعیت DNS در Kubernetes (
kubectl exec nslookup) - بررسی Network Policies و محدودیتهای احتمالی
فصل 2. مانیتورینگ کلاستر Kubernetes
- ابزارهای مانیتورینگ
- آشنایی با Prometheus و نحوه نصب در Kubernetes
- بررسی دادههای گرافیکی با Grafana
- استفاده از ابزار Kubernetes Dashboard برای نظارت
- مانیتورینگ وضعیت منابع
- بررسی منابع مصرفی Podها و Nodeها (
kubectl top podsوkubectl top nodes) - تنظیم و نظارت بر Resource Requests و Resource Limits
- بررسی منابع مصرفی Podها و Nodeها (
- لاگهای سیستم
- آشنایی با Fluentd و EFK (Elasticsearch، Fluentd، Kibana)
- جمعآوری و تحلیل لاگهای کلاستر
- بررسی Metricها
- استفاده از Metrics Server برای بررسی متریکهای زمان واقعی
- تحلیل عملکرد با استفاده از HPA و VPA
- بررسی Bottleneckها در سیستم
فصل 3. تحلیل و رفع مشکلات کلاستر
- بررسی مشکلات کلاستر
- مشکلات مربوط به etcd (خرابی و از دست رفتن دادهها)
- تحلیل خطاهای Master Node (API Server، Scheduler، Controller Manager)
- شناسایی و حل مشکلات Worker Node
- تحلیل خطاهای مربوط به Container Runtime (Docker یا Containerd)
- بررسی مشکلات Kube Proxy
- استفاده از دستورات پیشرفته
- استفاده از
kubectl debugبرای ایجاد محیط دیباگ مستقیم - اجرای
kubectl execبرای دسترسی به Podها
- استفاده از
فصل 4. ابزارها و تکنیکهای پیشرفته
- استفاده از ابزارهای Third-Party
- آشنایی با Lens برای مدیریت و دیباگ کلاستر
- معرفی ابزار Loki برای مدیریت لاگها
- تعریف Alertها
- تنظیم AlertManager در Prometheus برای هشدارهای خودکار
- تعریف قوانین هشدار برای Resource Usage، Crashها و Latency
فصل 5. بهینهسازی برای دیباگ و مانیتورینگ
- ایجاد بهترین روشها برای دیباگ
- مستندسازی خطاها و روشهای رفع آنها
- تعریف روشهای استاندارد برای دیباگ تیمی
- خودکارسازی فرآیندهای مانیتورینگ
- استفاده از ابزارهایی مانند Helm برای نصب سریع ابزارهای مانیتورینگ
- تعریف Pipelineهای CI/CD با قابلیت دیباگ و مانیتورینگ اتوماتیک
بخش 8: بهروزرسانی و نگهداری کلاستر
فصل 1. بهروزرسانی کلاستر
- بررسی نسخههای Kubernetes:
- نحوه بررسی نسخه فعلی کلاستر و اجزای آن (API Server، etcd، kubelet و kube-proxy).
- انتخاب نسخه سازگار برای بهروزرسانی.
- بهروزرسانی Master Node:
- تهیه نسخه پشتیبان از etcd قبل از بهروزرسانی.
- بهروزرسانی Control Plane (API Server، Controller Manager، Scheduler).
- بررسی لاگها و صحت عملکرد Master Node پس از بهروزرسانی.
- بهروزرسانی Worker Node:
- بهروزرسانی kubelet و kube-proxy در Worker Nodeها.
- تخلیه (Drain) کردن Podها از Node قبل از بهروزرسانی.
- بازگرداندن Node به کلاستر و بررسی وضعیت آن.
- مدیریت Rollback:
- نحوه بازگشت به نسخه قبلی در صورت بروز مشکل.
فصل 2. بررسی سازگاری نسخهها
- بررسی سازگاری افزونهها (Add-ons):
- CNI Plugins مانند Flannel و Calico.
- CSI Drivers برای مدیریت Storage.
- بررسی API Deprecation:
- شناسایی و مدیریت نسخههای API که دیگر پشتیبانی نمیشوند.
- بررسی منابع Manifest برای جلوگیری از مشکلات بهروزرسانی.
فصل 3. پشتیبانگیری و بازیابی
- پشتیبانگیری از etcd:
- استفاده از دستور
etcdctlبرای تهیه Snapshot از etcd. - ذخیره Snapshot در مسیر امن.
- زمانبندی پشتیبانگیری خودکار.
- استفاده از دستور
- بازیابی دادههای کلاستر:
- بازگردانی دادههای etcd از Snapshot.
- بررسی لاگها و اطمینان از صحت دادهها پس از بازیابی.
- پشتیبانگیری از منابع Kubernetes:
- استفاده از ابزارهایی مانند Velero برای تهیه پشتیبان از منابع (Pods، Deployments، ConfigMaps، Secrets و غیره).
- بازیابی منابع از نسخه پشتیبان تهیه شده.
فصل 4. نگهداری کلاستر
- مدیریت Nodeها:
- بررسی سلامت Nodeها با دستور
kubectl get nodes. - مانیتورینگ مصرف منابع (CPU، Memory، Disk) در Nodeها.
- بررسی سلامت Nodeها با دستور
- تمیزکاری منابع کلاستر:
- شناسایی منابع غیرضروری و حذف آنها (مانند Deployments و Pods معلق).
- پاکسازی Eventهای قدیمی از کلاستر.
- مدیریت گواهینامهها (Certificates):
- بررسی تاریخ انقضای گواهینامههای کلاستر با دستور
kubeadm certs check-expiration. - تمدید گواهینامههای منقضی شده.
- بررسی تاریخ انقضای گواهینامههای کلاستر با دستور
- بررسی و بهروزرسانی Add-ons:
- بررسی وضعیت افزونههای کلاستر (مانند CoreDNS، Metrics Server).
- بهروزرسانی افزونهها به نسخههای پایدار.
فصل 5. مانیتورینگ و لاگها
- بررسی لاگهای کلاستر:
- بررسی لاگهای API Server، Scheduler، Controller Manager.
- مشاهده لاگهای Podها و Nodeها با
kubectl logs.
- استفاده از ابزارهای مانیتورینگ:
- تنظیم و استفاده از Prometheus و Grafana.
- تحلیل Metrics کلاستر و شناسایی مشکلات بالقوه.
اهداف دوره:
- یادگیری معماری Kubernetes و اجزای اصلی آن
- تسلط بر مدیریت و نگهداری کلاسترهای Kubernetes
- آمادگی کامل برای اخذ گواهینامه CKA
پیشنیازها:
- آشنایی با لینوکس و ابزارهای خط فرمان
- تجربه کاری با کانتینرها (مانند Docker)
- دانش پایه شبکه و مفاهیم کلیدی DevOps
مخاطبین دوره:
- مدیران سیستم و متخصصان DevOps
- توسعهدهندگانی که قصد استفاده از Kubernetes را دارند
- علاقهمندان به اخذ گواهینامه CKA
پرسشهای شما، بخش مهمی از دوره است:
هر سوال یا مشکلی که مطرح کنید، با دقت بررسی شده و پاسخ کامل و کاربردی برای آن ارائه میشود. علاوه بر این، سوالات و پاسخهای شما به دوره اضافه خواهند شد تا برای سایر کاربران نیز مفید باشد.
پشتیبانی دائمی و در لحظه:
تیم ما همواره آماده پاسخگویی به سوالات شماست. هدف ما این است که شما با خیالی آسوده بتوانید مهارتهای خود را به کار بگیرید و پروژههای واقعی را با اعتماد به نفس کامل انجام دهید.
آپدیت دائمی دوره:
این دوره به طور مداوم بهروزرسانی میشود تا همگام با نیازهای جدید و سوالات کاربران تکمیلتر و بهتر گردد. هر نکته جدید یا مشکل رایج، در نسخههای بعدی دوره قرار خواهد گرفت.
حرف آخر
با ما همراه باشید تا نه تنها به مشکلات شما پاسخ دهیم، بلکه در مسیر یادگیری و پیشرفت حرفهای، شما را پشتیبانی کنیم. هدف ما این است که شما به یک متخصص حرفهای و قابلاعتماد تبدیل شوید و بتوانید با اطمینان پروژههای واقعی را بپذیرید و انجام دهید.
📩 اگر سوالی دارید یا به مشکلی برخوردید، همین حالا مطرح کنید!
ما در کوتاهترین زمان ممکن پاسخ شما را ارائه خواهیم داد. 🙌[/cdb_course_lesson][/cdb_course_lessons]
خدمات شبکه فراز نتورک | پیشرو در ارائه خدمات دیتاسنتری و کلود

نقد و بررسی وجود ندارد.