DevOps Labdon
442 subscribers
22 photos
1 video
1 file
594 links
👑 DevOps Labdon

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
Forwarded from Daniele Polencic
<shameless update>

I have launched Kube Today!

For the past 7 years, I've been curating and sharing Kubernetes content across various social channels.
But I thought I’d be nice to have a rolling view of having that is published.

And so here it is: https://kube.today

I hope you find it helpful!
🔵 عنوان مقاله
k8sgpt: Kubernetes analyzer

🟢 خلاصه مقاله:
**k8sgpt یک ابزار تحلیل‌گر برای خوشه‌های Kubernetes است که با اسکن منابع، رویدادها و وضعیت اجزا، خطاها و پیکربندی‌های نادرست را پیدا می‌کند و با توضیحات قابل فهم و پیشنهادهای عملی، عیب‌یابی را سریع‌تر می‌کند. این ابزار می‌تواند بدون AI و صرفاً با قواعد داخلی کار کند، یا در صورت نیاز با اتصال به LLMهای خارجی مانند OpenAI یا مدل‌های محلی، توضیحات و راهکارهای دقیق‌تری ارائه دهد و همزمان اطلاعات حساس را مخفی‌سازی کند.
کارکردهای اصلی شامل یافتن ریشه مشکل در مواردی مثل CrashLoopBackOff، خطای ImagePull، کمبود منابع، خطاهای Readiness/Liveness، و مسائل RBAC/NetworkPolicy، به‌همراه پیشنهاد دستورهای kubectl یا تغییرات لازم در manifestها است. k8sgpt به‌صورت CLI یا افزونه kubectl و در فرآیندهای CI/CD قابل استفاده است و برای پاسخ‌گویی در حوادث، عملیات روزمره و آموزش تیم‌ها کاربرد دارد. با وجود سرعت‌بخشیدن به عیب‌یابی و کاهش MTTR، این ابزار جایگزین سامانه‌های مشاهده‌پذیری مانند Prometheus و Grafana نیست و بهتر است توصیه‌های آن پیش از اعمال در محیط Production بازبینی شوند.

#Kubernetes #k8sgpt #DevOps #SRE #AIOps #CloudNative #Troubleshooting #Observability

🟣لینک مقاله:
https://ku.bz/sV6Dnd99T


👑 @DevOps_Labdon
1
Forwarded from Software Engineer Labdon
چرا از جاوا و پایتون برای نرم افزارهای سیستم های هوافضا نمیشه استفاده کرد؟
1-قطعیت (Determinism):
در زبان هایی مثل جاوا و پایتون به خاطر وجود garbage collection و مبتنی بر JVM بودن اجرای برنامه دقیقا قابل پیش بینی نیست. ممکنه برنامه یه لحظه به خاطر garbage collector متوقف بشه یا pause کنه. تو نرم افزارهای real time همچین چیزی قابل قبول نیست.
به عبارت دیگه یه حلقه توی جاوا یه بار ممکنه یک میلی ثانیه طول بکشه اما دفعه بعد 5 میلی ثانیه طول بکشه دلیل این امر اینه که JIT و gc معلوم نیست کی عمل می کنن و حافظه رو پس می گیرن. پایتون هم به همین دلیل که gc داره عملکردش این شکلیه.
2-زمانبندی سخت گیرانه(Hard real-time constraints): نرم افزارهای هوافضا باید مشخص، کوتاه و قطعی واکنش نشان دهند اما جاوا و پایتون همچین تضمینی نمی دهند.
3-ایمنی و استانداردها :
صنعت هوافضا از استانداردهایی مثل DO-178C پیروی می‌کند. Ada و C ابزارها و کتابخانه‌های تأییدشده‌ای برای این استاندارد دارند اما برای جاوا و پایتون چنین پشتیبانی و تأیید رسمی بسیار محدود یا تقریباً وجود ندارد.
4-کارایی (Performance & Footprint):
پایتون کنده چون مفسریه جاوا هم به خاطر JVM و مدیریت حافظه سربار زیادی داره که خب توی سیستم های هوافضا که سرعت مهمه و منابع سخت افزاری محدودی داریم نمیشه یه برنامه کند و برنامه ای که کلی منابع میخواد رو اجرا کنیم.
در نهایت باید بگم که زبان هایی که باهاشون نرم افزارهای سیستم های هوافضا، نظامی و حساس رو میسازن Ada-Spark ada - C  و جدیدا Rust هستند.

<Mohsen Shojaei Yeganeh/>

👇👇👇👇👇👇👇
@software_Labdon
🔵 عنوان مقاله
kuik: container image caching system

🟢 خلاصه مقاله:
**kuik یک سیستم کش برای imageهای کانتینری است که با نگه‌داری و بازاستفاده از لایه‌های OCI سرعت pull و build را بالا می‌برد، تأخیر راه‌اندازی را کاهش می‌دهد و هزینه پهنای‌باند را کم می‌کند. این ابزار با deduplication، سیاست‌های پر/تخلیه کش، و invalidation مبتنی بر digest یکپارچگی محتوا را حفظ می‌کند و می‌تواند به‌صورت cache محلی، proxy رجیستری یا به‌شکل DaemonSet/sidecar در Kubernetes به‌کار رود. ادغام با Docker و سایر runtimeهای OCI، به‌همراه مشاهده‌پذیری و کنترل دسترسی، اتخاذ آن را در محیط‌های توسعه، CI/CD و تولید ساده و قابل اتکا می‌کند.

#containers #caching #DevOps #Kubernetes #Docker #OCI #CICD #performance

🟣لینک مقاله:
https://ku.bz/ryRQH7fxW


👑 @DevOps_Labdon
🔵 عنوان مقاله
Kubetail

🟢 خلاصه مقاله:
خلاصه‌ای از ابزار Kubetail: یک ابزار خط فرمان سبک برای جمع‌کردن و نمایش زنده لاگ‌های چند Pod و کانتینر در Kubernetes در یک خروجی واحد است. بر پایه kubectl کار می‌کند، با انتخاب بر اساس نام یا Label، تعیین Namespace و Container، دنبال‌کردن زنده، پیشوند نام Pod/Container و رنگ‌بندی، عیب‌یابی همزمان چند سرویس را ساده می‌کند. نصب آن آسان است (مثلا از طریق Homebrew روی macOS یا دریافت اسکریپت روی Linux) و نیازی به مؤلفهٔ سروری جداگانه ندارد. Kubetail جایگزین سامانه‌های لاگ مرکزی نیست، اما برای دیباگ سریع، بررسی استقرارها و همبستگی خطاها میان چند Pod بسیار کاربردی است.

#Kubetail #Kubernetes #DevOps #Logs #Observability #CLI #SRE #Microservices

🟣لینک مقاله:
https://ku.bz/tZ0FL1r75


👑 @DevOps_Labdon
1
🔵 عنوان مقاله
SpinKube: Native WebAssembly Workloads on Kubernetes

🟢 خلاصه مقاله:
SpinKube روشی ارائه می‌دهد تا WebAssembly به‌صورت «اولین‌رده» در Kubernetes اجرا شود و مزیت‌های سرعت، امنیت و اندازه کوچک Wasm را با فرایندها و ابزارهای استاندارد کلاود نیتیو یکپارچه کند. به‌جای راه‌حل‌های جانبی، SpinKube از APIها و الگوهای بومی Kubernetes مانند Deployments، Services، Jobs و RuntimeClass بهره می‌گیرد تا Wasm کنار کانتینرها در همان کلاستر مستقر، زمان‌بندی، مقیاس‌دهی و پایش شود. نتیجه برای تیم‌ها، همزیستی ساده Wasm و کانتینر، بهره‌وری بالاتر، راه‌اندازی سریع‌تر بارهای کاری رویدادمحور و تقویت امنیت به‌واسطه ایزوله‌سازی Wasm است. این راهکار با ابزارهایی مثل kubectl، Helm و GitOps سازگار است و لاگ/متریک‌ها را به پشته‌های موجود وصل می‌کند؛ درنتیجه تجربه توسعه و عملیات بدون اصطکاک حفظ می‌شود. موارد کاربرد شامل میکروسرویس‌های کم‌تأخیر، الگوهای شبیه Serverless، استقرارهای Edge و پلتفرم‌های چند‌مستاجری است که با «بومی‌شدن» Wasm روی Kubernetes سریع‌تر از آزمایش تا تولید حرکت می‌کنند.

#WebAssembly #Kubernetes #SpinKube #CloudNative #WASI #Serverless #DevOps #EdgeComputing

🟣لینک مقاله:
https://ku.bz/VRgpk7W7M


👑 @DevOps_Labdon
🔵 عنوان مقاله
Keel: Kubernetes Deployment Automation Engine

🟢 خلاصه مقاله:
** Keel یک Kubernetes Operator است که به‌صورت خودکار به‌روزرسانی‌های Helm، Deployment، DaemonSet و StatefulSet را اجرا می‌کند. با رصد نسخه‌های جدید ایمیج‌ها یا تغییرات Helm chart، به‌روزرسانی‌ها را به شکل Rolling و مطابق مکانیزم‌های بومی Kubernetes انجام می‌دهد و به سلامت سرویس‌ها و استراتژی‌های rollout احترام می‌گذارد. امکان تعریف سیاست‌ها برای کنترل نوع و نحوه به‌روزرسانی‌ها (مثل محدودکردن به نسخه‌های امن یا نیاز به تأیید) وجود دارد و Keel با گردش‌کارهای فعلی تیم‌ها سازگار است. نتیجه، کاهش کارهای تکراری، جلوگیری از ناهمخوانی پیکربندی و به‌روزرسانی ایمن و یکنواخت سرویس‌ها در مقیاس است.

#Kubernetes #Keel #Helm #DevOps #Automation #ContinuousDelivery #Containers

🟣لینک مقاله:
https://ku.bz/N-jRpJkrH


👑 @DevOps_Labdon
1
🔵 عنوان مقاله
Policy-Based Testing for Configuration Files with Conftest

🟢 خلاصه مقاله:
** Conftest با تکیه بر OPA و زبان Rego امکان «سیاست‌گذاری به‌صورت کد» را برای فایل‌های پیکربندی فراهم می‌کند. این ابزار فایل‌های ساخت‌یافته مانند YAML، JSON و HCL را—برای نمونه در مانفیست‌های Kubernetes و خروجی‌های Terraform—بر اساس سیاست‌های نسخه‌پذیر و قابل‌بررسی ارزیابی می‌کند. تیم‌ها سیاست‌ها را به‌صورت کد می‌نویسند، در مخازن نگه می‌دارند و با اجرای conftest test پیش از استقرار، خطاها و تخطی‌ها را با پیام‌های قابل‌اقدام شناسایی می‌کنند. یکپارچه‌سازی با CI/CD (مانند GitHub Actions، GitLab CI، Jenkins و CircleCI) و استفاده در pre-commit باعث می‌شود مشکلات زودتر و به‌شکل یکنواخت در همه محیط‌ها دیده شوند. با سیاست‌های کوچک و ترکیب‌پذیر، پیام‌های خطای روشن، تست سیاست‌ها و فرآیند مناسب برای استثناها، می‌توان منحنی یادگیری Rego را مدیریت کرد و به سرعت به مزایای «policy as code» رسید. در نهایت، Conftest با خودکارسازی کنترل‌ها، از پیکربندی‌های ناسالم جلوگیری کرده و امنیت، انطباق و قابلیت اتکا را در جریان روزمره توسعه تضمین می‌کند.

#Conftest #OPA #Rego #PolicyAsCode #DevSecOps #Kubernetes #Terraform #CICD

🟣لینک مقاله:
https://ku.bz/Cq4x8tmnM


👑 @DevOps_Labdon
1
🔵 عنوان مقاله
Kube-Sec: Python CLI for Kubernetes Cluster Security Scanning

🟢 خلاصه مقاله:
Kube-Sec یک ابزار CLI مبتنی بر Python برای اسکن امنیتی کلاسترهای Kubernetes است که با اتصال به کلاستر و بررسی منابعی مثل Pods، Deployments، Services، Ingress و RBAC، ریسک‌های ناشی از پیکربندی نادرست را شناسایی می‌کند. این ابزار مواردی مانند privileged containers، استفاده از hostPath، نبودن resource requests/limits، استفاده از برچسب latest برای تصاویر، nodePortهای در معرض، Ingress بدون TLS، نبودن NetworkPolicies، مجوزهای بیش‌ازحد در RBAC و استفاده از Secrets در متغیرهای محیطی را بررسی می‌کند. خروجی‌ها با سطح شدت، توضیح مختصر و راهکار اصلاح ارائه می‌شوند و علاوه بر نمایش خط فرمان، در قالب‌های JSON و SARIF برای ادغام در CI/CD و داشبوردها در دسترس‌اند. Kube-Sec به‌راحتی در گردش‌کار توسعه محلی، اتوماسیون استقرار و GitOps ادغام می‌شود و با استانداردسازی بررسی‌ها، به بهبود مداوم امنیت کلاستر بدون کند کردن فرایند تحویل کمک می‌کند.

#Kubernetes #KubeSec #Python #Security #DevSecOps #RBAC #CICD #ContainerSecurity

🟣لینک مقاله:
https://ku.bz/x6JpQm94_


👑 @DevOps_Labdon
🔵 عنوان مقاله
Testing to See if You Can Run a MariaDB Cluster on a $150 Kubernetes Lab

🟢 خلاصه مقاله:
این مقاله بررسی می‌کند که آیا می‌توان یک خوشه MariaDB مبتنی بر Galera را روی یک آزمایشگاه Kubernetes ارزان‌قیمت حدوداً 150 دلاری ساخته‌شده از بردهای Orange Pi اجرا کرد یا نه؛ با نصب K3s، استقرار MariaDB Kubernetes Operator و تنظیم محدودیت‌های منابع برای سخت‌افزارهای کم‌توان (SBC). نتیجه این است که با تنظیمات دقیق و انتظار واقع‌بینانه، اجرای خوشه برای یادگیری، دمو و تست سبک ممکن است، اما از نظر کارایی و پایداری محدود بوده و گزینه‌ای برای محیط تولیدی نیست.

#Kubernetes #MariaDB #Galera #K3s #OrangePi #SBC #HomeLab #DevOps

🟣لینک مقاله:
https://ku.bz/j_8-vP3jy


👑 @DevOps_Labdon
🔵 عنوان مقاله
Inside a Pod’s Birth: Veth Pairs, IPAM, and Routing with Kindnet CNI

🟢 خلاصه مقاله:
این مقاله روند ایجاد شبکه برای یک Pod در Kubernetes با استفاده از Kindnet به‌عنوان CNI را گام‌به‌گام توضیح می‌دهد. ابتدا با فراخوانی CNI توسط kubelet، افزونه Kindnet یک جفت veth می‌سازد؛ یک سر آن به فضای نام شبکه Pod منتقل و به‌عنوان eth0 تنظیم می‌شود و سر دیگر در میزبان می‌ماند و به پیکربندی شبکه گره متصل می‌شود. سپس IPAM یک آدرس IP از محدوده PodCIDR گره تخصیص می‌دهد، روی eth0 اعمال می‌شود و مسیر پیش‌فرض داخل Pod به دروازه میزبان تنظیم می‌گردد.

برای ارتباط در سطح کلاستر، Kindnet روی گره‌ها مسیرهایی نصب می‌کند: مسیرهای محلی برای Podهای همان گره و مسیرهای راه‌دور به PodCIDR گره‌های دیگر از طریق IP گره‌ها. در صورت نیاز، قوانین iptables برای hairpin و NAT نیز اعمال می‌شود تا دسترسی به بیرون و بازگشت ترافیک به‌درستی انجام شود. با حذف Pod، فراخوانی DEL همه تنظیمات را پاک می‌کند: veth حذف، IP آزاد و مسیرها جمع‌آوری می‌شوند؛ در نتیجه، مسیر داده‌ای ساده و کم‌هزینه بین Pod و شبکه میزبان ایجاد می‌شود.

#Kubernetes #CNI #Kindnet #Networking #Containers #IPAM #veth #PodNetworking

🟣لینک مقاله:
https://ku.bz/qC-5078rY


👑 @DevOps_Labdon
Forwarded from Bardia & Erfan
پاول دورُف: حاضرَم بمیرم، ولی آزادی و امنیت کاربران رو نفروشم!

در گفت‌وگوی عمیق با «لِکس فریدمن»، بنیان‌گذار تلگرام از فلسفهٔ زندگی، حریم خصوصی، بیت‌کوین و مقاومتش در برابر فشار دولت‌ها گفت.
> 🗣
«من ترجیح می‌دم بمیرم و تمام داراییم رو از دست بدهم تا اینکه اطلاعات کاربران رو به هر دولتی تحویل بدم.
آزادی و امنیت داده‌ها، خط قرمز من و تلگرامه.»

🔒

او تأکید کرد تلگرام هیچ‌وقت “در پشتی” برای دولت‌ها باز نکرده و در برابر فشار روسیه و ایران برای دسترسی به اطلاعات یا سانسور مقاومت کرده است.
>
«در روسیه و ایران بارها تلاش شد ما رو مجبور به همکاری کنن. ولی ما مقاومت کردیم چون اگر یک‌بار کوتاه بیای، دیگه آزادی واقعی وجود نداره.»



📱 ۷ اصل فکری و مدیریتی پاول دورُف (بر اساس مصاحبه):

1️⃣ آزادی و اخلاق بالاتر از هر سود مالی — او می‌گوید حاضر است تمام دارایی‌اش را از دست بدهد تا آزادی بیان و امنیت کاربران حفظ شود.

2️⃣ مینیمالیسم و انضباط شخصی — سبک زندگی‌اش ساده، بدون الکل، قهوه یا حواس‌پرتی است؛ تمرکز کامل روی مأموریت و نظم ذهنی.

3️⃣ تیم کوچک، تأثیر بزرگ — معتقد است تیم‌های بزرگ بهره‌وری را می‌کُشند؛ موفقیت تلگرام حاصل اعتماد به چند نابغهٔ منضبط است.

4️⃣ مقاومت در برابر سانسور و در پشتی — هیچ دولت یا شرکتی حق کنترل یا شنود تلگرام را ندارد. رمزنگاری و طراحی MTProto را «دیوار آزادی دیجیتال» می‌نامد.

5️⃣ پول و قدرت ابزارند، نه هدف — او از مدل‌های انحصاری و کمیسیون‌های اپل و گوگل انتقاد می‌کند و تأکید دارد که ثروت نباید آزادی را محدود کند.

6️⃣ باور به فناوری آزاد مثل بیت‌کوین — بیت‌کوین را «نمادِ کاهش نیاز به اعتماد به واسطه‌ها و آزادی مالی» می‌داند؛ از پروژه TON به‌عنوان زیربنای اقتصاد آزاد تلگرام یاد می‌کند.

7️⃣ نگاه فلسفی به زندگی و مرگ — از کافکا، شوپنهاور و «جاودانگی کوانتومی» می‌گوید؛ باور دارد انسان باید بدون ترس از مرگ، بر پایهٔ ارزش‌های خودش زندگی کند.
در سیستم‌های توزیع‌شده همیشه یه نگرانی اساسی وجود داره:
اگر یکی از سرویس‌ها بی‌صدا از کار بیفته، بقیه چطور متوجه می‌شن؟
اینجاست که Heartbeat Pattern وارد عمل میشه
یه سیگنال ساده و دوره‌ای که تضمین می‌کنه سیستم بفهمه هر جزء هنوز زنده‌ست یا نه.

کجا استفاده میشه؟
توی Load Balancerها برای تشخیص سرورهای سالم
توی Kubernetes (liveness و readiness probes)
توی دیتابیس‌های توزیع‌شده مثل Cassandra یا MongoDB
من توی مقاله‌ی جدیدم در Medium، این الگو رو توضیح دادم — از تعریف و کاربردها تا چالش‌ها و یه نمونه پیاده‌سازی با Go.

متن کامل مقاله:
https://medium.com/@a.mousavi/understanding-the-heartbeat-pattern-in-distributed-systems-5d2264bbfda6

سورس کد کامل:
https://github.com/arash-mosavi/go-test-heartbeat-pattern

<Arash Mousavi/>
🤩2