DevOps Expert
3.37K subscribers
170 photos
3 videos
8 files
276 links
✔️ کانال آموزش دوآپس به فارسی

Contact:
@BobyCloud
@H_TESLA_S
@Majid_Aghamohamad
加入频道
✔️ پادهای سازماندهی شده Kubernetes

با استفاده از label های کوبرنتیز، میتونیم مشکل سازمندهی پادها رو حل کنیم و زندگی رو برای خودمون و دیگران، راحت‌تر کنیم.
#Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍1
✔️نکته مهم Logging در Kubernetes

🔶 در Kubernetes، لاگ‌هایی که در standard output پادها قابل مشاهده هستند به ۲ صورت:
۱. روزانه
۲.زمانی که حجم فایل لاگ به ۱۰ مگابایت میرسد
پاک میشوند.

برای اینکه لاگ‌ کانتینرها و پادها در کوبرنتیز رو از دست ندید به فکر سیستم لاگینگ مرکزی باشید.

#کوبرنتیز #Kubernetes #k8s #k3s #نکته #logging #log #pod
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
DevOps Expert
To make a pod’s logs available even after the pod is deleted, you need to set up centralized, cluster-wide logging, which stores all the logs into a central store. #کوبرنتیز #Kubernetes #k8s #k3s #نکته #logging #log #pod 〰️〰️〰️〰️〰️〰️ © @DevOpsEx
✔️ نحوه کارکرد Replication Controll در Kubernetes

ریسورس Replication Controller در کوبرنتیز ابزاری قدرتمند برای مدیریت پادها روی نودهای مختلف است. برای مثال اگر یک نود از کلاستر از بین برود، RC پادهای جدید را روی نودهای جدید مستقر خواهد کرد.
در این شکل نحوه کارکرد RC در کوبرنتیز را مشاهده میکنیم.

#کوبرنتیز #Kubernetes #k8s #k3s #نکته #logging #log #pod #RC #ReplicationController
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
در کوبرنتیز هنگام عملیات Port Forwarding برای Expose کردن Service ها باید نام انتخاب کنیم. (در داکر اینطور نیست)
جالب‌ است که بدانیم در هنگام عملیات Port Forwarding در کوبرنتیز، می‌توانیم نام‌های اختصاصی برای Port پادهای کوبرنتیز انتخاب کنیم و سرویس کوبرنتیز را به پورت‌هایی بر اساس نام (نه پورت نامبر) به پادها متصل کنیم و فایل yaml تر و تمیزتری داشته باشیم. :)

در تصویر، پورت ۸۰ سرویس کوبرنتیز درخواست‌ها را به پورت http کانتینر forward میکند و پورت ۴۴۳ سرویس به پورت https کانتینر.
#کوبرنتیز #Kubernetes #k8s #k3s #نکته #pod #services
〰️〰️〰️〰️〰️〰️〰️
© @DevOpsEx
DevOps Expert
در کوبرنتیز هنگام عملیات Port Forwarding برای Expose کردن Service ها باید نام انتخاب کنیم. (در داکر اینطور نیست) جالب‌ است که بدانیم در هنگام عملیات Port Forwarding در کوبرنتیز، می‌توانیم نام‌های اختصاصی برای Port پادهای کوبرنتیز انتخاب کنیم و سرویس کوبرنتیز…
ممکنه از خودتون بپرسین کدوم آدم عاقلی پورت‌هارو اسم گذاری میکنه وقتی همه جاها از port number استفاده میشه؟ :)

سناریو: ممکنه شما هزاران پاد کوبرنتیز داشته باشید که روی پورت ۸۰ سرویس دهی می‌کنند، پادها دچار تغییراتی میشوند و سرویس جدیدی روی پورت ۸۰۸۰ اجرا میشود و سرویس قبلی روی پورت ۸۰ از کار می‌افتد، حالا اگر از نام گذاری پورت‌ها استفاده کرده باشید در لایه انتزاع pod های کوبرنتیز لازم هست pod spec را تغییر بدید، اما اگر از روش نام گذاری پورت‌ها استفاده نکرده باشید مجبور هستید علاوه بر آن service spec های کوبرنتیز را نیز برای این تطابق با این تغییر، تغییر دهید.
حذف تغییرات غیرضروری = زندگی راحت‌تر :)

#کوبرنتیز #Kubernetes #k8s #k3s #نکته #pod #services
〰️〰️〰️〰️〰️〰️〰️
© @DevOpsEx
Kubernetes Learning Path | Version 2.0.pdf
2.6 MB
مسیر یادگیری کوبرنتیز از دید مایکروسافت.

در عرض 50 روز، مباحث مهم و بیسیک کوبرنیتز رو با استفاده از کورس های مایکروسافت یاد بگیرید!

اطلاعات بیشتر در ریپازیتوری زیر:
https://github.com/microsoft/kubernetes-learning-path

#kubernetes #docker #Microsoft #github #گیت_هاب #داکر #کوبرنتیز

〰️〰️〰️〰️〰️〰️〰️
© @DevOpsEx
DevOps Expert
#Docker #داکر #DevOps #Kubernetes #کوبرنتیز #Dockershim #Containerd #CRI #کانتینر_داکر 〰️〰️〰️〰️〰️ ©️ @DevOpsEx
🔴 منسوخ شدن داکر در کوبرنتیز

🔶 اخیرا ایژویی تحت عنوان حذف داکر از کوبرنتیز منتشر شده و باعث شده متخصصین این حوزه رو مقداری نگران کنه.
👉 Link: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#deprecation

🔷 اما نیازی به نگرانی نیست، حذف داکر از کوبرنتیز تصمیمی هست که توسط تیم توسعه کوبرنتیز گرفته شده و به دلیل مشکلاتی هست که dockershim ایجاد میکرد و تصمیم به بهبود کوبرنتیز دارند. پیشنهاد میکنم این مقاله رو مطالعه کنید:
👉 Link: https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/

درنهایت به عنوان یک برنامه نویس احتمالا دغدغه‌ای بابت Container Runtime Interface کوبرنتیز نخواهید داشت اما به عنوان متخصص DevOps یا زیرساخت ممکن هست کمی نیاز داشته باشید با Container Runtime Interface هایی نظیر containerd یا CRI-O کار کنید که کار سختی نخواهد بود.

🔥 So, this change is coming. It’s going to cause issues for some, but it isn’t catastrophic, and generally it’s a good thing. Depending on how you interact with Kubernetes, this could mean nothing to you, or it could mean a bit of work.

پ ن ۱: اگر از داکر یا کوبرنتیز استفاده میکنید، جای هر ۲ تکنولوژی در دنیای فعلی مستحکم هست و لازم نیست نگران باشید.
پ ن ۲: درسته که کوبرنتیز گفته but it isn’t catastrophic، اما جوانب احتیاط رو درنظر بگیرید.

#Docker #داکر #DevOps #Kubernetes #کوبرنتیز #Dockershim #Containerd #CRI #کانتینر_داکر
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ Configme K8S Operator

Configme is a #Kubernetes operator with the mission of loading Configmaps data from different datasources.
It is written in Java and powered by javaoperatorsdk and QuarkusIO.

The first version has just been released. any feedback is welcome!
👉 Link: https://github.com/psycho-ir/configme

Thanks to: @sorooshsarabadani

#k8s #kubernetes #کوبرنتیز
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ آموزش مفاهیم کوبرنتیز

در این دوره نحوه کار کوبرنتیز به طور کلی توضیح داده شده است. این که control plane و worker node ها چگونه کار می‌کنند تا ما را به آن چه که می‌خواهیم برسانند. برای درک بهتر کوبرنتیز دیدن این ویدیوها توصیه می‌شود.

🔹 ۱ - معرفی
👉 link: https://www.aparat.com/v/zw3an


🔸 ۲ - مروری بر اجزای کوبرنتیز
👉 link: https://www.aparat.com/v/BrhGR


🔹 ۳ - کوبرنتیز چگونه کار می‌کند
👉 link: https://www.aparat.com/v/v942H


#kubernetes #k8s
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ آموزش objectها در کوبرنتیز

در این دوره objectهای کوبرنتیز را معرفی می‌کنیم. بعد از توضیح هر کدام خواهیم دید چگونه در کوبرنتیز تعریف می‌شوند و با آن کار عملی خواهیم کرد. برخی مثال‌های جدی‌تر که از ترکیب objectها اجرا می‌شوند را نیز بررسی می‌کنیم.

🔹 ۱ - آموزش پاد در کوبرنتیز - مفهوم پاد و تعریف آن در قالب yaml
👉 link: https://www.aparat.com/v/kQHNM


🔸 ۲ - آموزش پاد در کوبرنتیز - کار عملی با پاد
👉 link: https://www.aparat.com/v/3EJs0


🔹 ۳ - آموزش پاد در کوبرنتیز - قابلیت‌های پیشرفته‌تر پاد
👉 link: https://www.aparat.com/v/TnxNj


🔸 ۴ - آموزش پاد در کوبرنتیز - پاد در کوبرنتیز چگونه ساخته می‌شود؟
👉 link: https://www.aparat.com/v/XSgAN


🔹 ۵ - آموزش سرویس در کوبرنتیز - مفهوم سرویس
👉 link: https://www.aparat.com/v/P4Wqs


🔸 ۶ - آموزش سرویس در کوبرنتیز - تعریف سرویس در قالب yaml
👉 link: https://www.aparat.com/v/ZW7TQ


این مجموعه ویدیوها در حال تکمیل شدن است.

#kubernetes #kubernetes_objects
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ آموزش objectها در کوبرنتیز - قسمت ۷ منتشر شد

در این دوره هر یک از objectهای کوبرنتیز را معرفی می‌کنیم. بعد از توضیح هر کدام خواهیم دید چگونه در کوبرنتیز تعریف می‌شوند و با آن کار عملی خواهیم کرد. هم‌چنین برخی مثال‌های جدی‌تر که از ترکیب objectها اجرا می‌شوند را نیز بررسی می‌کنیم.

🔹 ۳ - آموزش پاد در کوبرنتیز - قابلیت‌های پیشرفته‌تر پاد
👉 link: https://www.aparat.com/v/TnxNj


🔸 ۴ - آموزش پاد در کوبرنتیز - پاد در کوبرنتیز چگونه ساخته می‌شود؟
👉 link: https://www.aparat.com/v/XSgAN


🔹 ۵ - آموزش سرویس در کوبرنتیز - مفهوم سرویس
👉 link: https://www.aparat.com/v/P4Wqs


🔸 ۶ - آموزش سرویس در کوبرنتیز - تعریف سرویس در قالب yaml
👉 link: https://www.aparat.com/v/ZW7TQ


🔹 ۷ - آموزش سرویس در کوبرنتیز - کار عملی با سرویس ClusterIP و NodePort
👉 link: https://www.aparat.com/v/KDCFo


این مجموعه ویدیوها در حال تکمیل شدن است.

#kubernetes #kubernetes_objects
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ آموزش objectها در کوبرنتیز - قسمت ۸ منتشر شد

در این دوره هر یک از objectهای کوبرنتیز را معرفی می‌کنیم. بعد از توضیح هر کدام خواهیم دید چگونه در کوبرنتیز تعریف می‌شوند و با آن کار عملی خواهیم کرد. هم‌چنین برخی مثال‌های جدی‌تر که از ترکیب objectها اجرا می‌شوند را نیز بررسی می‌کنیم.


🔹 ۵ - آموزش سرویس در کوبرنتیز - مفهوم سرویس
👉 link: https://www.aparat.com/v/P4Wqs


🔸 ۶ - آموزش سرویس در کوبرنتیز - تعریف سرویس در قالب yaml
👉 link: https://www.aparat.com/v/ZW7TQ


🔹 ۷ - آموزش سرویس در کوبرنتیز - کار عملی با سرویس ClusterIP و NodePort
👉 link: https://www.aparat.com/v/KDCFo


🔸 ۸ - آموزش سرویس در کوبرنتیز - کار عملی با سرویس ExternalName و معرفی LoadBalancer
👉 link: https://www.aparat.com/v/TlrP5

💡توضیحات قسمت جدید:
در این ویدیو کمی بیشتر با سرویس و dns در کوبرنتیز آشنا می‌شویم. ابتدا سعی می‌کنیم ساختار کوبرنتیز برای resolve کردن domain name ها را به شکل عملی بررسی کنیم. بعد از آن با نوع دیگری از سرویس آشنا می‌شویم که ExternalName نام دارد. با این سرویس می‌توان به یک domain name خارج از کلاستر دست یافت. در انتها هم سرویس LoadBalancer معرفی می‌شود.


#kubernetes #kubernetes_objects
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ آموزش objectها در کوبرنتیز - قسمت ۹ منتشر شد

در این دوره هر یک از objectهای کوبرنتیز را معرفی می‌کنیم. بعد از توضیح هر کدام خواهیم دید چگونه در کوبرنتیز تعریف می‌شوند و با آن کار عملی خواهیم کرد. هم‌چنین برخی مثال‌های جدی‌تر که از ترکیب objectها اجرا می‌شوند را نیز بررسی می‌کنیم.


🔸 ۶ - آموزش سرویس در کوبرنتیز - تعریف سرویس در قالب yaml
👉 link: https://www.aparat.com/v/ZW7TQ


🔹 ۷ - آموزش سرویس در کوبرنتیز - کار عملی با سرویس ClusterIP و NodePort
👉 link: https://www.aparat.com/v/KDCFo


🔸 ۸ - آموزش سرویس در کوبرنتیز - کار عملی با سرویس ExternalName و معرفی LoadBalancer
👉 link: https://www.aparat.com/v/TlrP5


🔹 ۹ - آموزش سرویس در کوبرنتیز - دیپلوی کردن جنگو در کوبرنتیز (۱)
👉 link: https://www.aparat.com/v/tjBVd


💡توضیحات قسمت جدید:
در این ویدیو با کمک کوبرنتیز یک برنامه‌ی جنگو را دیپلوی می‌کنیم. برنامه به کمک Django REST Framework نوشته شده و ما ایمیج آن را توسط داکر ساخته‌ایم و روی کوبرنتیز دیپلوی می‌کنیم. جنگو داخل پاد اجرا می‌شود و به کمک یک سرویس به آن دسترسی پیدا می‌کنیم. در انتها برای اطمینان از صحت انجام کار چند درخواست به آن می‌دهیم و جواب را مشاهده می‌کنیم.


#kubernetes #kubernetes_objects
〰️〰️〰️〰️〰️
©️ @DevOpsEx
👍1