عمومی
اجرای داکر در داکر (Docker-in-Docker یا DinD) روشی است که به شما امکان میدهد یک محیط Docker جداگانه را درون یک کانتینر راهاندازی و مدیریت کنید. این قابلیت برای سناریوهایی مانند تست موقت، CI/CD و محیطهای ایزولهسازیشده مفید است. برای این کار معمولا از ایمیج رسمی docker:dind همراه با دسترسی –privileged استفاده میشود تا بتوان Docker daemon را در داخل کانتینر راهاندازی کرد. در این مطلب، مراحل مورد نیاز برای اجرای داکر در docker را با استفاده از سه روش مختلف بررسی خواهیم کرد. اجرای داکر با نصب docker.sock (متد DooD) متد Docker dind استفاده از Nestybox sysbox Docker runtime ...
ادامه مطلب
در این مطلب، سناریوی تقسیم مغزی (Split Brain) را با مثالهای عملی دنیای واقعی بررسی خواهیم کرد و به مفاهیم حد نصاب (quorum ) و یک مثال عملی از چگونگی جلوگیری etcd از سناریوی split brain با استفاده از الگوریتم اجماع Raft خواهیم پرداخت. هر زمان که سیستمهای توزیعشدهای (distributed systems) را که با دادهها سروکار دارند، مستقر میکنیم، معمولا گرهها را در مناطق دسترسی مختلف یا مراکز داده مختلف (برای محیطهای on-prem) مستقر میکنیم تا از در دسترس بودن بالا اطمینان حاصل شود. مثال: دیتابیسی مانند MongoDB، سیستمهای ذخیرهسازی توزیعشده مانند GlusterFS و کلاسترهای مبتنی بر اجماع مانند etcd. ...
ادامه مطلب
در این مطلب، بررسی خواهیم کرد که چگونه کانتینرهای سندباکس، ایزولهسازی بار کاری را بهبود میبخشند، خطرات امنیتی را کاهش میدهند و آیا برای زیرساخت مناسب هستند یا خیر. کانتینرهای سندباکس چیست؟ کانتینرهای سندباکس (Sandboxed Containers) نوعی از container runtime هستند که با ایزوله کردن کانتینرها از سیستم عامل میزبان (OS) و سایر کانتینرها، یک لایه امنیتی اضافی فراهم میکنند. همچنین میتوانید آن را کانتینرهای مجازی (virtualised containers) نامید. برخلاف کانتینرهای سنتی (مانند داکر که کرنل سیستم عامل میزبان را به اشتراک میگذارد)، کانتینرهای سندباکس از مجازیسازی سبک یا سایر مکانیسمهای ایزولهسازی برای ایزوله کردن کامل آنها استفاده میکنند. این ...
ادامه مطلب
وقتی صحبت از اجرای اپلیکیشنهای امروزی میشود، کوبرنتیز در حال تبدیل شدن به استانداردی طلایی است. با این حال، در سالهای اخیر، شرکتهایی به دلیل پیچیدگی و چالشهایی که کوبرنتیز ایجاد میکند، تصمیم گرفتهاند از آن فاصله بگیرند. در این مطلب، میخواهم سه داستان از این دست را به اشتراک بگذارم. یادگیری از تجربیات دیگران راهی عالی برای جلوگیری از اشتباهات بزرگ در مدیریت زیرساخت است. نگاهی به چنین تجربیاتی میتواند به شما در انتخابهای طراحی بهتر هنگام کار با کوبرنتیز کمک کند. 1. داستان گیتپاد (Gitpod ) گیتپاد (Gitpod ) یک محیط توسعه مبتنی بر ابر است که فضاهای ...
ادامه مطلب
بیش از 75 درصد پروژهها در CNCF(بنیاد رایاش ابری بومی) با زبان Go نوشته شدهاند. چه در مصاحبهها و چه در پروژههای دنیای واقعی، یک پروفایل قوی DevOps به مهارتهای کدنویسی قوی نیاز دارد، به خصوص در شرکتهای تولیدی. زبان GO برای DevOps وقتی در مورد برنامهنویسی یا اسکریپتنویسی برای DevOps صحبت میکنیم، زبانهای اصلی که بیشتر مورد بحث قرار میگیرند پایتون و shell scripting هستند. به این دلیل که شروع کار با آن آسان است و میتوانید اسکریپتهای سیستمی زیادی را برای نیازهای اتوماسیون بنویسید. با این حال، اگر به اکوسیستم DevOps نگاه کنید، بیشتر ابزارهای محبوبی که امروزه ...
ادامه مطلب
وقتی صحبت از مدیریت پیکربندی Kubernetes میشود، Helm یکی از ابزارهای کلیدی مورد استفاده بسیاری از سازمانها است. این مطلب بخشهای ساده اما ضروری از بهترین تمرینهای هلم (Helm) و نکات ضرروی آن را که باید هنگام استفاده از آنها در پروژههای سازمانی خود بدانید، پوشش میدهد. استفاده از کامیونیتی چارت نیازی به نوشتن تک تک نمودارهای Helm از ابتدا نیست زیرا ما نمودارهای Helm رسمی و انجمنی زیادی داریم که از همه بهترین تمرینها پیروی میکنند. معمولا همه از این community charts به عنوان مرجع استفاده میکنند یا آنها را مستقیم برای مطابقت با نیازهای پروژه خود با رعایت ...
ادامه مطلب