دوره Certified Kubernetes Application Developer (CKAD) به طور خاص برای توسعه‌دهندگانی طراحی شده است که می‌خواهند مهارت‌های خود را در زمینه طراحی، ساخت، و مدیریت برنامه‌های کاربردی در Kubernetes بهبود بخشند. این دوره شامل مفاهیم کلیدی، ابزارها و روش‌های موردنیاز برای کار با Kubernetes و توسعه برنامه‌های قابل اعتماد و مقیاس‌پذیر است.


بخش 1. مبانی Kubernetes

 

فصل 1. معرفی Kubernetes و معماری آن

  • تاریخچه Kubernetes و منشأ آن (Google و CNCF)
  • مفهوم orchestration در مدیریت کانتینرها
  • مزایا و کاربردهای Kubernetes در دنیای Cloud-Native

فصل 2. درک نقش و عملکرد Master Node و Worker Nodes

  • تفاوت میان Master Node و Worker Node
  • وظایف Master Node در مدیریت کلاستر
  • وظایف Worker Node در اجرای Pods
  • بررسی فرآیند هماهنگی میان این نودها

فصل 3. آشنایی با اجزای اصلی Kubernetes

  • API Server
    • نقش API Server به عنوان دروازه اصلی ارتباط کاربران با کلاستر
    • تعامل API Server با سایر اجزای کلاستر
  • etcd
    • معرفی پایگاه داده توزیع شده etcd
    • ذخیره‌سازی وضعیت کلی کلاستر در etcd
  • Controller Manager
    • مدیریت کنترلرها برای اجرای منابع Kubernetes
    • انواع کنترلرها: ReplicaSet Controller، Node Controller، Endpoint Controller
  • Scheduler
    • وظیفه Scheduler در تخصیص منابع به Pods
    • معیارهای انتخاب نود مناسب برای اجرای یک Pod
  • Kubelet
    • مسئول اجرای کانتینرها روی Worker Node
    • بررسی سلامت Pods و گزارش‌دهی به Master Node
  • Kube-proxy
    • مدیریت شبکه داخلی میان Pods و Nodes
    • نقش در forwarding و load balancing ترافیک

فصل 4. آشنایی با مفهوم Namespaces و مدیریت آن‌ها

  • تعریف Namespace در Kubernetes
  • مزایای استفاده از Namespaces برای جداسازی منابع
  • دستورات kubectl برای مدیریت Namespaces:
    • ایجاد (kubectl create namespace)
    • حذف (kubectl delete namespace)
    • مشاهده (kubectl get namespaces)
  • استفاده از Contexts برای مدیریت Namespaces

بخش 2. طراحی و پیاده‌سازی برنامه‌های کاربردی

 

فصل 1. ایجاد و مدیریت Pods

  • تعریف مفهوم Pod به عنوان کوچک‌ترین واحد قابل مدیریت در Kubernetes.
  • ایجاد یک Pod با استفاده از فایل YAML.
  • بررسی وضعیت یک Pod با استفاده از دستورات kubectl get pods و kubectl describe pod.
  • مدیریت Pods: حذف، به‌روزرسانی و بررسی وضعیت.

فصل 2. کار با Multi-Container Pods

  • معرفی Pods چند کانتینری و مزایای آن‌ها.
  • پیاده‌سازی الگوهای طراحی مانند:
    • Sidecar Pattern (کانتینر کمکی برای logging، monitoring، و غیره).
    • Ambassador Pattern (کانتینر برای پروکسی و ارتباطات خارجی).
    • Adapter Pattern (کانتینر برای تبدیل داده‌ها یا فرمت‌ها).
  • تعریف و ایجاد Multi-Container Pods با YAML.

فصل 3. استفاده از Init Containers

  • مفهوم و مزایای Init Containers.
  • استفاده از Init Containers برای آماده‌سازی محیط قبل از اجرای کانتینر اصلی.
  • پیاده‌سازی Init Containers در فایل‌های YAML و مثال‌های کاربردی.

فصل 4. کار با ReplicaSets و Deployments

  • مفهوم ReplicaSets و اهمیت آن در مقیاس‌پذیری و در دسترس بودن.
  • پیاده‌سازی Deployments برای مدیریت بهینه نسخه‌ها و مقیاس‌پذیری.
  • ایجاد و مدیریت Deployments با فایل YAML.
  • به‌روزرسانی تعداد Replicas با استفاده از kubectl scale.

فصل 5. به‌روزرسانی و Rollback برنامه‌ها

  • اصول Rolling Updates برای به‌روزرسانی بدون قطعی برنامه‌ها.
  • انجام Rollback به نسخه قبلی با استفاده از kubectl rollout undo.
  • بررسی تاریخچه Deployment‌ها با استفاده از kubectl rollout history.

فصل 6. تعریف و مدیریت Jobs و Cron Jobs

  • معرفی Jobs برای اجرای وظایف یک‌باره و مدیریت تکرار آن‌ها.
  • ایجاد و مدیریت Jobs با استفاده از فایل YAML.
  • معرفی Cron Jobs برای زمان‌بندی وظایف.
  • تعریف Cron Jobs با مثال‌های کاربردی در YAML.

فصل 7. استفاده از ConfigMaps و Secrets

  • تعریف ConfigMaps و کاربرد آن در جداسازی پیکربندی از کد برنامه.
  • ایجاد و استفاده از ConfigMaps برای ذخیره پیکربندی‌های غیرحساس.
  • تعریف Secrets برای مدیریت اطلاعات حساس مانند رمزعبور و کلیدها.
  • اتصال ConfigMaps و Secrets به کانتینرها به عنوان:
    • متغیرهای محیطی.
    • فایل‌های Mount شده.

بخش 3. مدیریت Networking و Services

 

فصل 1. مفاهیم پایه شبکه در Kubernetes

  • درک اصول شبکه در Kubernetes
  • Cluster Networking Model:
    • نحوه ارتباط بین Pods
    • استفاده از CNI (Container Network Interface)
  • درک Pod-to-Pod Communication
    • IP یکتا برای هر Pod
  • نحوه تخصیص IP در Kubernetes
  • مفاهیم Kube-proxy و نقش آن در شبکه

فصل 2. معرفی و پیکربندی انواع Services

  • ClusterIP Service:
    • معرفی و کاربرد
    • نحوه ایجاد و مدیریت یک ClusterIP Service
    • مثال عملی با YAML
  • NodePort Service:
    • نحوه عملکرد و کاربرد آن
    • محدودیت‌های NodePort
  • LoadBalancer Service:
    • معرفی Load Balancer و موارد استفاده
    • استفاده از سرویس‌های ابری (Cloud Providers) برای Load Balancer
  • External Name Service:
    • معرفی و استفاده برای DNS خارجی
  • نحوه انتخاب و مدیریت Service Selectors
  • درک Headless Services و کاربردهای آن

فصل 3. مدیریت Ingress

  • Ingress Controller:
    • معرفی و نحوه راه‌اندازی
    • تفاوت بین Load Balancer و Ingress
  • استفاده از Ingress Resources:
    • تعریف و پیکربندی
    • مدیریت درخواست‌های HTTP/HTTPS
  • استفاده از TLS برای امنیت بیشتر
  • مثال عملی: پیکربندی یک مسیر HTTP به چند Backend

فصل 4. DNS داخلی در Kubernetes

  • نقش CoreDNS در Kubernetes
  • درک DNS داخلی و نحوه دسترسی به سرویس‌ها
  • استفاده از FQDN (Fully Qualified Domain Name) برای Pods و Services
  • دیباگ و رفع مشکلات DNS در Kubernetes

فصل 5. مدیریت Traffic Routing

  • نحوه مدیریت ترافیک بین Pods و سرویس‌ها
  • استفاده از Session Affinity
  • استفاده از Service Annotations برای کنترل رفتار ترافیک
  • مدیریت ترافیک بین نسخه‌های مختلف برنامه‌ها با استفاده از Canary Deployments

فصل 6. Network Policies در Kubernetes

  • تعریف و کاربرد Network Policies
  • محدود سازی ترافیک ورودی و خروجی Pods
  • مثال: ایجاد یک Network Policy برای محدود سازی دسترسی به یک Pod
  • ابزارهای دیباگ و بررسی Network Policies

فصل 7. ابزارها و دستورات برای مدیریت شبکه

  • استفاده از kubectl port-forward برای دسترسی به Pods از خارج از Cluster
  • دیباگ مشکلات شبکه با دستورات:
    • kubectl get services
    • kubectl describe services
    • kubectl get endpoints
  • استفاده از ابزارهای خارجی مانند K9s و Lens

بخش 4. حجم‌ها و ذخیره‌سازی داده‌ها

 

فصل 1. مفاهیم پایه‌ای Volume در Kubernetes

  • معرفی مفهوم Volume
  • چرا و چگونه Volume‌ها در Kubernetes استفاده می‌شوند؟
  • تفاوت بین Volumeهای موقت و دائمی
  • نقش Volume در مدیریت داده‌های Stateful و Stateless

فصل 2. انواع Volume‌ها و کاربردهای آنها

  • EmptyDir:
    • حجم موقتی برای ذخیره داده در طول عمر یک Pod
    • کاربردها و محدودیت‌ها
  • HostPath:
    • دسترسی مستقیم به فایل‌ها و پوشه‌های موجود در Host Node
    • ریسک‌ها و چالش‌های امنیتی
  • ConfigMap و Secret به‌عنوان Volume:
    • استفاده از ConfigMap و Secret به‌عنوان منابع پیکربندی و داده‌های حساس
  • PersistentVolume (PV):
    • تعریف و کاربرد Persistent Volume
    • نحوه استفاده در محیط‌های Cloud و On-Premises
  • PersistentVolumeClaim (PVC):
    • نحوه درخواست و استفاده از فضای ذخیره‌سازی
    • اتصال PVC به Podها

فصل 3. مدیریت ذخیره‌سازی پویا

  • معرفی مفهوم Storage Class
  • نقش Storage Class در مدیریت ذخیره‌سازی پویا
  • انواع Storage Class در ارائه‌دهندگان Cloud (مانند AWS EBS، GCP PD، Azure Disk)
  • تعریف و تنظیم Storage Class در فایل YAML

فصل 4. StatefulSets و مدیریت داده‌های پایدار

  • معرفی StatefulSets و تفاوت آن با Deployments
  • کاربرد StatefulSets برای برنامه‌های پایدار
  • ایجاد Volume برای هر Replica در StatefulSets
  • استفاده از PersistentVolume برای StatefulSets

فصل 5. Lifecycle مدیریت Volume‌ها

  • مدیریت ایجاد و حذف Volume‌ها
  • بررسی گزینه‌های Retain، Delete، و Recycle برای PV
  • نحوه اطمینان از عدم از دست رفتن داده‌ها هنگام حذف Pod یا Node

فصل 6. Volume Mounts و SubPath

  • تعریف Volume Mounts
  • استفاده از SubPath برای محدود کردن دسترسی به بخشی از Volume
  • سناریوهای استفاده از SubPath در پروژه‌ها

فصل 7. Volumeهای شبکه‌ای

  • معرفی Volumeهای شبکه‌ای مانند NFS و Ceph
  • تنظیم و پیکربندی NFS Volume در Kubernetes
  • استفاده از Volumeهای شبکه‌ای در محیط‌های Multi-Node

فصل 8. استفاده از CSI (Container Storage Interface)

  • معرفی استاندارد CSI
  • نحوه کار CSI و مزایای آن
  • پیکربندی CSI در محیط‌های Kubernetes

فصل 9. نکات پیشرفته در مدیریت ذخیره‌سازی

  • اعمال Resource Requests و Limits برای ذخیره‌سازی
  • Debugging و عیب‌یابی مشکلات ذخیره‌سازی
  • استفاده از ابزارهای مانیتورینگ برای حجم‌ها (مانند Prometheus)
بخش 1. مبانی Kubernetes
بخش 2. طراحی و پیاده‌سازی برنامه‌های کاربردی
بخش 3. مدیریت Networking و Services
بخش 4. حجم‌ها و ذخیره‌سازی داده‌ها
پاسخ به سوالات فنی کاربران
مشاهده بیشتر

نظرات

متوسط امتیازات

0
بدون امتیاز 0 رای
قیمت اصلی: ۲,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۲۰۰,۰۰۰ تومان.
0 نقد و بررسی

جزئیات امتیازات

5 ستاره
0
4 ستاره
0
3 ستاره
0
2 ستاره
0
1 ستاره
0

دیدگاهها

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

.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه ارسال کنند.

لطفا برای ارسال یا مشاهده تیکت به حساب خود وارد شوید