معرفی پروژه K3
پروژهی K3 در پاسخ به نیاز روزافزون به یک مدیر کانتینر سبک، قابلاعتماد و سازگار با استانداردهای OCI آغاز شد. در توسعهی این پروژه، تلاش بر آن بوده است که فرآیند استفاده برای کاربران ساده باشد و نیاز به دانش تخصصی عمیق نداشته باشد. این ویژگی بهخصوص برای توسعهدهندگان حوزهی DevOps در نظر گرفته شده است.
سیاستهای توسعهی پروژه بهگونهای طراحی شدهاند که هستهی اصلی برنامه بهعنوان یک ماژول قابل استفاده در پروژههای Node.js نیز قابل بهرهبرداری باشد.
ساختار فنی
هستهی اصلی پروژه به زبان JavaScript پیادهسازی شده است. در عین حال، برای مدیریت و اجرای کانتینرها از runtime قدرتمند crun استفاده شده که به زبان C نوشته شده است و در این پروژه، از طریق binding به زبان JS متصل شده است. این ساختار، منجر به سرعت بالای اجرای عملیات ساخت و مدیریت کانتینرها شده است.
در بخش توسعهی ایمیجها (Image Building)، با تکیه بر استانداردهای OCI، از زبان Go و ابزار umoci بهره گرفته شده است. همچنین در بخش شبکه (Networking)، از امکانات و دستورات داخلی سیستمعامل لینوکس استفاده شده است.
ابزارهای ارائهشده به کاربر
در نهایت، پروژه K3 سه ابزار کلیدی زیر را در اختیار کاربران قرار میدهد:
- رابط خط فرمان (CLI)
- رابط برنامهنویسی کاربردی (API)
- هستهی مرکزی (Core)
در این سند، بهتفصیل به معرفی و مستندسازی هر یک از این اجزا خواهیم پرداخت.