DevOps Labdon
488 subscribers
24 photos
4 videos
2 files
789 links
👑 DevOps Labdon

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
More devops than I bargained for

🟢 خلاصه مقاله:
یک مهاجرت «ساده» از x86 به ARM64 تبدیل شد به یک بحران تمام‌عیار DevOps. به‌محض ورود نودهای ARM64، مشکل‌ها از چند جهت فوران کرد: نبودن base imageهای arm64، وابستگی سرویس‌ها به باینری‌ها و پکیج‌های بومی، و CrashLoop به‌خاطر “exec format error”. با ساخت multi-arch image و manifest list و اصلاح CI بخشی حل شد، اما Helm chartها هنوز فرض‌های amd64 داشتند و باعث زمان‌بندی نادرست، ImagePullBackOff و ناسازگاری در sidecarها شدند. بدتر از همه، شبکه بود: در کلاستر dual-stack، IPv6 زیر بار می‌برید؛ MTU ناهماهنگ، تنظیمات CNI، iptables/nft و محدودیت‌های conntrack دست‌به‌دست هم دادند و ما را ساعت ۴ صبح پای tcpdump و تنظیم sysctl نشاندند. جمع‌بندی: تغییر معماری، به‌روزرسانی OS، دست‌کاری CNI و فعال‌سازی dual-stack را یک‌جا انجام ندهید؛ برای هرکدام پنجره تست و rollback جدا بگذارید، observability و ابزارهای eBPF اضافه کنید، Ingress و sidecarها را از نظر multi-arch راستی‌آزمایی کنید و پوشش تست multi-arch را در CI اجباری کنید.

#DevOps #Kubernetes #ARM64 #x86 #IPv6 #CNI #Containers #CloudNative

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


👑 @DevOps_Labdon
🔵 عنوان مقاله
How we found a bug in Go's arm64 compiler (11 minute read)

🟢 خلاصه مقاله:
Cloudflare یک باگ از نوع race condition را در کامپایلر Go برای معماری arm64 پیدا کرد که باعث panicهای پراکنده روی ماشین‌های arm64 به دلیل خراب‌شدن پشته می‌شد. این باگ وقتی فعال می‌شد که asynchronous preemption دقیقا بین دستورهای تنظیم پیاپی اشاره‌گر پشته در جریان garbage collection رخ می‌داد و در نتیجه پشته موقتا در وضعیت نامعتبر دیده می‌شد.

راهکار این است که به‌جای تغییر پله‌ای اشاره‌گر پشته، ابتدا offset در یک رجیستر موقت ساخته می‌شود و سپس همان مقدار در قالب یک opcode غیرقابل‌تفکیک به RSP اضافه می‌گردد تا اشاره‌گر پشته همواره معتبر باشد. این اصلاح در نسخه‌های go1.23.12، go1.24.6 و go1.25.0 منتشر شده و کاربران Go روی arm64 باید برای جلوگیری از این کرش‌های نادر اما جدی، ارتقا دهند.

#Go #arm64 #Compiler #RaceCondition #Cloudflare #GarbageCollection #Concurrency #BugFix

🟣لینک مقاله:
https://blog.cloudflare.com/how-we-found-a-bug-in-gos-arm64-compiler/?utm_source=tldrdevops


👑 @DevOps_Labdon
1