kpt v1.0.0 منتشر شد؛ مدیریت package‌های Kubernetes با GitOps

چرا مهم است

اگر configuration‌های Kubernetes را مدیریت می‌کنی، این انتشار برایت مهم است: جامعهٔ kpt اجزای پروژه را پایدار و آمادهٔ استفادهٔ گسترده اعلام کرده است. kpt و Porch اکنون زیر راهبری مشترک، مدیریت package مبتنی بر GitOps را پوشش می‌دهند.

قبل از خواندن، این‌ها را بدان۴ مفهوم
declarative

رویکردی که در آن وضعیت مطلوب توصیف می‌شود، نه توالی دستورهایی که باید برای رسیدن به آن اجرا شوند.

بیشتر درباره این مفهوم

GitOps

رویکردی برای مدیریت وضعیت سیستم که در آن configuration مطلوب در Git نگه‌داری می‌شود و فرایندهای خودکار وضعیت واقعی را با آن هماهنگ می‌کنند.

بیشتر درباره این مفهوم

config as data

رویکردی که configuration را دادهٔ ساختاریافته در نظر می‌گیرد تا ابزارها بتوانند آن را بخوانند، تغییر دهند و بررسی کنند.

بیشتر درباره این مفهوم

orchestration

هماهنگ‌کردن خودکار چند مرحله یا چند جزء برای اجرای یک workflow و مدیریت ارتباط و ترتیب کار آن‌ها.

بیشتر درباره این مفهوم

جامعهٔ kpt نسخهٔ v1.0.0 این toolchain را پس از چند سال حضور در وضعیت pre-release منتشر کرد. به گفتهٔ این جامعه، انتشار جدید گامی در بلوغ پروژه است و آمادگی آن را برای استفادهٔ گسترده اعلام می‌کند؛ تمام اجزای پروژه نیز پایدار توصیف شده‌اند.

در دوازده ماه گذشته، تمرکز جامعه بر تثبیت API‌ها، کنار گذاشتن قابلیت‌های بدون استفاده و ادغام دوبارهٔ سرویس Porch (Package ORCHestration) در سازمان kpt بوده است. اکنون کل toolchain زیر یک ساختار راهبری مشترک قرار دارد و سیستمی برای مدیریت package مبتنی بر GitOps ارائه می‌کند. ساختار modular آن نیز برای ادغام در workflow‌های مختلف در نظر گرفته شده است.

kpt به‌تنهایی مدیریت سبک configuration package را برای برنامه‌های در حال اجرا روی Kubernetes فراهم می‌کند. مبنای آن اصول config as data است که امکان تغییر و بررسی configuration را به‌شکل declarative می‌دهد. این رویکرد برای برنامه‌های cloud-native،؜ cluster‌ها و هر resource دیگری که از طریق API‌های Kubernetes مدیریت می‌شود، کاربرد دارد.

در kpt همه‌چیز با KRM بیان می‌شود. این ابزار framework‌ی برای توصیف مراحل تغییر و validation روی resource‌های KRM در یک package فراهم می‌کند تا KRM عمومی به مدل قابل deployment برای یک محل یا برنامهٔ مشخص تبدیل شود. طبق توضیح پروژه، این سازوکار تغییر تکرارپذیر resource‌های KRM را بدون محدودیت‌های templating ممکن می‌کند.

نقش Porch،؜ orchestration مربوط به package‌های kpt در مقیاس بزرگ و در یک workflow مبتنی بر GitOps و بدون دخالت دستی است. بنابراین kpt مستقل بر مدیریت configuration package تمرکز دارد و Porch هماهنگی آن package‌ها را در مقیاس بزرگ پوشش می‌دهد. جامعهٔ پروژه همچنان روی یک framework ساده، جامع، سبک و modular برای مدیریت چرخهٔ عمر resource‌های Kubernetes کار می‌کند.

نکته کلیدی

نقش kpt و Porch را جدا به خاطر بسپار: kpt مستقل برای مدیریت configuration package است؛ Porch برای orchestration همان package‌ها در مقیاس بزرگ است. اگر این مجموعه را بررسی می‌کنی، مبنای آن را config as data بدان، نه templating.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۴)