90%تخفیف

بخش 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
پاسخ به سوالات فنی کاربران
مشاهده بیشتر
نظرات
.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه ارسال کنند.
لطفا برای ارسال یا مشاهده تیکت به حساب خود وارد شوید
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.