مدیریت پیکربندی Kubernetas می تواند پیچیده باشد. سیاست ها راه را برای تعریف استانداردها و بهترین شیوه ها فراهم می کنند و تنظیمات سازگار را در میان خوشه های چندگانه تضمین می کنند. در این مقاله ما خواهیم گفت Kyverno – ابزار جدید مدیریت سیاست باز منبع برای Kubernetes طراحی شده است.
مدیریت سیاست
Kubernetes یک رابط مدیریتی را فراهم می کند. کاربران می توانند وضعیت مطلوب سیستم را با استفاده از تعاریف API مشخص کنند، و سپس کنترل کننده های Kubernetas که سرور مجازی ، سرور ابری پشتیبان آن هستند برای ایجاد وضعیت فعلی مطابق با حالت مورد نظر کار می کنند. این رویکرد برای مدیریت گره ها و خدمات خوشه ای و همچنین برای مدیریت حجم کار برنامه کاربردی استفاده می شود.
یک سیاست معمولا شامل تنظیمات مورد نیاز است. Kubernetes خود چندین موضوع را مطرح میکند :
- خط مشی های شبکه: برای تضمین ترافیک شبکه به داخل و خارج از غلاف
- خط مشی امنیت: برای کنترل امتیاز و دسترسی به پروفایل برای غلاف
- Quotas and Limit Range: برای مدیریت استفاده از منابع و انصاف
این سیاستها اشیای API بومی هستند که رفتار خوشه Kubernetas را کنترل می کنند. با این حال، موقعیت های مختلفی وجود دارد که کاربران می خواهند تنظیمات مورد نیاز را در خوشه گسترده و حتی در میان خوشه های درون سازمانی پیکربندی کنند. این ساختارهای Kubernetes قدرتمند هستند، اما اگر پیکربندی نشده باشند، تاثیری نخواهند داشت. و پیکربندی آنها به درستی، برای کارهای چندگانه یک کار بی اهمیت است.
زیرساخت های Kubernetes
برای پذیرفتن موفق و رشد شرکت Kubernetes، یک الگوی سازمانی که در حال ظهور است، این است که یک تیم پلت فرم داخلی برای مدیریت خوشه های Kubernetas، زیرساخت های Kubernetes و تمام سرویس های معمولی که باید در هر خوشه ای اجرا شوند یا در میان خوشه ها به اشتراک گذاشته شود، و مورد نیاز برای فعال کردن Kubernetes داشته باشد . (به عنوان مثال برای نظارت، ورود به سیستم، امنیت، پشتیبان و DR، و غیره).
تیم پلت فرم ، خدمات و راهکارهای Kubernetas را برای تیم های توسعه محصول در داخل شرکت فراهم می کند. تیم پلت فرم نیز مسئولیت ایجاد خط مشی ها برای امنیت و تنظیمات مناسب و عملیات خوشه های Kubernetas و بار کاری را بر عهده خواهد داشت. برای مثال، با اعطای مجوزهای لازم برای تمام خوشه های مشترک مورد نیاز است.
برای مقیاس استفاده از Kubernetas ضروری است که یک تیم مرکزی مسئول تنظیم پیکربندی سیاست های Kubernetas و اعتبارسنجی سایر دستورالعمل های عملی باشد، به همین دلیل مدیریت سیاست برای شرکت Kubernetes مهمتر است.
بومی بودن Kubernetas
در این بخش ما خواهیم گفت چه چیزی بومی بودن Kubernetes است و چرا این مهم برای راه حل مدیریت سیاست سازمانی است. Kubernetas طراحی شده است که با استفاده از منابع سفارشی گسترش یابد. منابع سفارشی ما را قادر به معرفی یک نوع شی جدید می کند و از طریق هر وسیله ای که می تواند با API کوبرنتی ارتباط برقرار کند، از آن استفاده کند. به عنوان مثال، منابع سفارشی را می توان در YAML مشخص کرد. این به ما اجازه می دهد اصول مدیریت اعلان را با استفاده از ابزارهایی مثل Kustomize اعمال کنیم.
مکانیزم سفارشی سازی اجازه می دهد تا ما Kubernetes را گسترش دهیم و از ابزارهای مشترک برای مدیریت پیکربندی های کوبرنیت استفاده کنیم. مدیریت خط مشی یک شکل از مدیریت پیکربندی است، که در آن یک خط مشی برای تنظیمات پیش فرض تنظیم می کند و همچنین تعیین می کند که چه مجاز یا مجاز است. از این رو مهم است که یک راه حل مدیریت سیاست Kubernetas نیز همان شیوه و رویکردی را به عنوان مدیریت Kubernetas اتخاذ می کند.
راه حل های موجود برای مدیریت سیاست Kubernetes ابتدا برای موارد استفاده دیگر طراحی شده و سپس به Kubernetes نصب شده است. کار ما با مشتریان ما را به یاد می آورد که یاد بگیرند که مدیریت سیاست برای موفقیت Kubernetes در شرکت ها مهم است، و مشتریان ما خواستار روش ساده تر و راحت تر Kubernetes برای تعریف و مدیریت سیاست ها بودند.
Kyverno چیست ؟
Kyverno اجازه می دهد تا مدیران خوشه برای تأیید، جهش و ایجاد تنظیمات داشته باشند . سیاست های کیورنو منابع کوبرانتی است. این سیاستها با استفاده از منابع دیگر بر اساس انتخابگر برچسب Kubernets با پشتیبانی از wildcards مطابقت دارند. Kyverno از وقایع Kubernetes برای گزارش اجرای سیاست استفاده می کند. Kyverno همچنین تغییرات در سیاست ها را نظارت می کند و منابع موجود را برای نقض قوانین اسکن می کند. نقض قوانین به عنوان زیر منابع در شیء سیاست گزارش شده است.
Kyverno خود را به عنوان کنترل ورودی نصب می کند که رویدادهای webhook را برای همه تغییرات API API دریافت می کند. Kubernetes از دو کنترل کننده پویایی خاصی پشتیبانی می کند که به منظور گسترش قابلیت های آن از طریق ابزارهایی مانند Kyverno، MutatingAdmissionWebhook و ValidatingAdmissionWebhook طراحی شده است. همانطور که از نام آنها حاکی است، کنترل کننده های این نوع می توانند اشیاء API را تغییر و اعتبار دهند.