۱ دی ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

۱۳ ابزاری که Kubernetes را بهتر می کند

از این همراهان Kubernetes برای ساده سازی تعاریف برنامه، مهاجرت خوشه ها، سهولت استقرار ابر و موارد دیگر استفاده کنید.

از این همراهان Kubernetes برای ساده سازی تعاریف برنامه، مهاجرت خوشه ها، سهولت استقرار ابر و موارد دیگر استفاده کنید.

تعداد کمی از پلتفرم‌های محاسباتی – حتی آنهایی که قدرت و مقیاس بالایی دارند – هر نیازی را برآورده می‌کنند. در حالی که Kubernetes خارج از جعبه مفید است، هنوز کامل نیست. همیشه می‌توانید مورد استفاده یا نیازی را پیدا کنید که در آن مجموعه ویژگی‌های پیش‌فرض Kubernetes کوتاه باشد، مانند پشتیبانی پایگاه داده، یا به سادگی نادیده گرفته شود، مانند تحویل مداوم.

این جایی است که جامعه گسترده‌تر Kubernetes با افزونه‌ها، برنامه‌های افزودنی و امتیازات ویژه برای چارچوب ارکستراسیون کانتینر وارد می‌شود. در اینجا ۱۱ مورد از همراهان برتر Kubernetes را که پیدا کرده ایم آورده شده است. برخی از آنها مکمل هر خوشه Kubernetes هستند، در حالی که برخی دیگر نیازهای خاصی را برآورده می کنند که Kubernetes سهام آنها را برطرف نمی کند.

Clusterpedia: مدیریت منابع برای چندین خوشه Kubernetes

یافتن و مدیریت منابع در یک خوشه Kubernetes (بیشتر) یک مشکل حل شده است. اما در مورد برخورد با منابع در چندین خوشه چطور؟ Clusterpedia به شما امکان می‌دهد منابع را در گروهی از خوشه‌های Kubernetes جستجو کنید و نسخه‌های مختلف منابع را در آن‌ها همگام‌سازی کنید. خوشه ها در صورت نیاز بر اساس سلامت خوشه، همگام سازی را می توان به صورت دستی یا خودکار متوقف یا از سر گرفت. با این حال، Clusterpedia اتصال شبکه بین خوشه ها را مدیریت نمی کند. مستندات استفاده از ابزاری مانند Submariner را برای آن توصیه می‌کند.

Gatekeeper: کنترل‌های خط‌مشی Kubernetes

پروژه Open Policy Agent (OPA) راهی برای ایجاد خط‌مشی‌ها در پشته‌های برنامه‌های بومی ابری ارائه می‌دهد، از ورودی به اجزای سرویس مش تا Kubernetes. Gatekeeper روشی بومی Kubernetes برای اجرای خودکار خط‌مشی‌های OPA در یک خوشه و ممیزی ارائه می‌کند. برای هر رویداد یا منبعی که خط‌مشی را نقض می‌کند. همه اینها توسط یک مکانیسم نسبتاً جدید در Kubernetes، کنترل کننده پذیرش Webhooks، مدیریت می شود که تغییرات را در منابع ایجاد می کند. با Gatekeeper، سیاست‌های OPA را می‌توان به‌عنوان بخشی دیگر از وضعیت تعریف‌شده خوشه Kubernetes شما، بدون نیاز به نگهداری مداوم از کودک، حفظ کرد.

ویدئوی مرتبط: Kubernetes چیست؟

در این ویدیوی ۹۰ ثانیه‌ای، درباره Kubernetes، سیستم منبع باز برای خودکارسازی برنامه‌های کانتینری، از یکی از مخترعان این فناوری، جو بدا، بنیان‌گذار و مدیر ارشد فناوری هپتیو، بیاموزید.

Helmify: فایل های Kubernetes YAML را به نمودارهای Helm صادر کنید

نمونه‌های فرمان به شما کمک می‌کنند تا تعریف شخص دیگری را برای استقرار یک منبع یا برنامه کاربردی Kubernetes در نظر بگیرید و از آن برای استقرار آن منبع یا برنامه خود استفاده کنید. اما اگر بخواهید تعاریف Kubernetes YAML خود را بگیرید و آنها را به نمودارهای Helm ترجمه کنید تا شخص دیگری استفاده کند، چه؟

کورا: طراحی مجدد ابری موتور آپاچی کافکا

Helmify نمودارهای Helm را از اشیاء تعریف رایج Kubernetes ایجاد می کند – یک فایل YAML، یک فهرست فایل های YAML، یا از سفارشی کردن خروجی بگیرید. Helmify همچنین می‌تواند ادغام شود در Kubebuilder تا نمودارهایی را برای اپراتورهای تولید شده توسط آن ابزار ایجاد کنید. مثال‌ها، از جمله ورودی و خروجی، همراه با مخزن پروژه گنجانده شده است.

Kaniko: کانتینرها را در یک خوشه Kubernetes بسازید

بیشتر تصاویر کانتینر بر روی سیستمی خارج از پشته کانتینر ساخته می شوند. با این حال، گاهی اوقات می‌خواهید فرآیند ساخت را در داخل یک پشته کانتینر انجام دهید—مثلاً در یک کانتینر در حال اجرا یا جایی در یک خوشه Kubernetes.

Kaniko  ساخت‌های کانتینر را در محیط کانتینر انجام می‌دهد، اما بدون تکیه بر دیمون کانتینری مانند داکر. کار. در عوض، Kaniko سیستم فایل را از تصویر پایه استخراج می‌کند، سپس تمام دستورات ساخت را در فضای کاربر در بالای سیستم فایل استخراج‌شده اجرا می‌کند و پس از هر دستور یک عکس فوری از سیستم فایل می‌گیرد.

توجه داشته باشید که Kaniko در حال حاضر نمی تواند کانتینرهای ویندوز بسازد.

Kubecost: معیارهای هزینه برای اجرای Kubernetes

اکثر ابزارهای مدیریت Kubernetes بر سهولت استفاده، نظارت، بینش رفتارهای غلاف و موارد مشابه تمرکز دارند. اما در مورد نظارت بر هزینه‌ها – مانند دلار و سنت – مرتبط با اجرای Kubernetes چطور؟

Kubecost از معیارهای بی‌درنگ Kubernetes و اطلاعات هزینه واقعی که از خوشه‌های در حال اجرا در ارائه‌دهندگان اصلی ابر به دست می‌آید استفاده می‌کند. ، برای ارائه نمای داشبورد از هزینه ماهانه هر استقرار خوشه. هزینه‌های حافظه، CPU، GPU و فضای ذخیره‌سازی همه توسط مؤلفه Kubernetes (کانتینر، پاد، سرویس، استقرار و غیره) تقسیم می‌شوند.

Kubecost همچنین می‌تواند هزینه‌های منابع «خارج از خوشه»، مانند سطل‌های آمازون S3 را ردیابی کند، اگرچه این در حال حاضر محدود به AWS است. حتی می‌توان داده‌های هزینه را با Prometheus به اشتراک گذاشت، بنابراین می‌توانید از داده‌ها برای تغییر برنامه‌ریزی رفتار خوشه‌ها استفاده کنید.

در صورتی که فقط باید ۱۵ روز گزارش داشته باشید استفاده از Kubecost رایگان است. برای ویژگی های پیشرفته تر، قیمت گذاری از ۱۹۹ دلار در ماه برای نظارت بر ۵۰ گره شروع می شود.

رمزگشایی از رویکرد کد اول در EF Core

KubeDB: پایگاه داده تولید را در Kubernetes اجرا کنید

پایگاه‌های اطلاعاتی همیشه در Kubernetes به سختی اجرا می‌شوند. اپراتورهای Kubernetes را برای مواردی مانند MySQL، PostgreSQL، MongoDB و Redis خواهید یافت، اما شکاف‌های زیادی وجود دارد. و مجموعه ویژگی بومی Kubernetes مستقیماً به بسیاری از مشکلات خاص پایگاه داده رسیدگی نمی کند.

KubeDB به شما امکان می‌دهد اپراتورهای Kubernetes خود را برای مدیریت پایگاه‌های داده ایجاد کنید. اجرای پشتیبان‌گیری، شبیه‌سازی، نظارت، عکس‌برداری فوری و ایجاد پایگاه‌های اطلاعاتی به‌صورت اعلامی، همگی بخشی از این ترکیب هستند. توجه داشته باشید که ویژگی های پشتیبانی شده در پایگاه داده ها متفاوت است. به عنوان مثال، خوشه بندی برای PostgreSQL در دسترس است اما MySQL نیست.

Kube-monkey: میمون آشوب برای Kubernetes

یک راه مطمئن برای تست استرس یک سیستم، شکستن موارد به صورت تصادفی است. این تئوری پشت Chaos Monkey نتفلیکس است، یک ابزار مهندسی آشوب که به‌طور تصادفی ماشین‌های مجازی و کانتینرهای در حال تولید را خاتمه می‌دهد. توسعه دهندگان را تشویق کنید تا سیستم های انعطاف پذیرتری بسازند. Kube-monkey اجرای همان ایده اولیه برای تست استرس خوشه‌های Kubernetes است. این کار با کشتن تصادفی غلاف ها در خوشه ای که شما به طور خاص تعیین کرده اید کار می کند و می توان آن را برای عملکرد در پنجره های زمانی خاص تنظیم کرد.

Kubernetes Ingress Controller برای AWS

Kubernetes خدمات تعادل بار خارجی و شبکه را از طریق سرویسی به نام Ingress به یک خوشه ارائه می‌کند. /a>. خدمات وب آمازون عملکرد متعادل کننده بار را ارائه می دهد، اما به طور خودکار این خدمات را به امکانات Kubernetes متصل نمی کند. Kubernetes Ingress Controller برای AWS این شکاف را می‌بندد.

Kubernetes Ingress Controller برای AWS منابع AWS را برای هر شیء ورودی در یک خوشه به طور خودکار مدیریت می‌کند و متعادل‌کننده‌های بار را برای منابع ورودی جدید ایجاد می‌کند و متعادل‌کننده‌های بار را برای موارد حذف شده حذف می‌کند. از AWS CloudFormation برای اطمینان از سازگاری حالت خوشه استفاده می کند. همچنین از تنظیمات CloudWatch Alarm پشتیبانی می‌کند و سایر عناصر مورد استفاده در خوشه مانند گواهی‌های SSL و گروه‌های مقیاس خودکار EC2 را به‌طور خودکار مدیریت می‌کند.

Kubespray: استقرار خودکار برای Kubernetes

Kubespray استقرار یک خوشه Kubernetes آماده تولید را در اکثر محیط‌ها، از حالت خالی، خودکار می‌کند. فلز به ابرهای عمومی اصلی از Ansible (اختیاری Vagrant) برای اجرای پیاده‌سازی استفاده می‌کند و با انتخاب شما از پلاگین شبکه (مانند Flannel، Calico، Weave و غیره) و انتخاب شما در میان بسیاری از توزیع‌های محبوب لینوکس برای نصب‌های بدون فلز، یک خوشه بسیار در دسترس ایجاد می‌کند. .

مهاجرت‌های ابری بلند و جابجایی در حال مرگ هستند

Kwatch: گزارش تغییر وضعیت برای Kubernetes

وقتی یک خوشه Kubernetes به جنوب می‌پیچد، می‌خواهید در اسرع وقت بدانید. Kwatch همه تغییرات در حالت خوشه (از جمله خرابی برنامه) را شناسایی می کند و نتایج را به صورت بلادرنگ در سرویس های ارتباطی محبوب منتشر می کند. : Slack، Discord، Microsoft Teams، PagerDuty، Telegram، Mattermost، Opsgenie. اکثر سرویس های ارتباطی که دارای API یا webhook هستند نیز می توانند اضافه شوند.

Skaffold: توسعه تکراری برای Kubernetes

Skaffold یکی از ابزارهای خود Google برای Kubernetes است، راهی برای اجرای مستمر برنامه‌های Kubernetes. هنگامی که تغییراتی را در کد منبع خود ایجاد می کنید، Skaffold به طور خودکار آنها را شناسایی می کند، فرآیند ساخت و استقرار را آغاز می کند و در صورت بروز هر گونه خطایی به شما هشدار می دهد. Skaffold به طور کامل در سمت مشتری اجرا می شود، بنابراین بار نصب یا نگهداری کمی وجود دارد. می توان از آن در خط لوله CI/CD موجود استفاده کرد و با چند ابزار ساخت خارجی، عمدتاً Bazel خود Google، یکپارچه شد.

ترزا: یک PaaS ساده در Kubernetes

ترزا یک سیستم استقرار برنامه‌ای است که به عنوان یک PaaS ساده در Kubernetes اجرا می‌شود. کاربران، سازمان‌دهی شده در تیم‌ها، می‌توانند برنامه‌هایی را که متعلق به خود هستند، مستقر و مدیریت کنند. این کار را برای افرادی که به یک برنامه معین اعتماد دارند، کمی آسان‌تر می‌کند، بدون اینکه با Kubernetes و همه پیچیدگی‌های آن سروکار داشته باشند.

Tilt: به‌روزرسانی‌های کانتینر را به خوشه‌های Kubernetes جریان دهید

طراحی شده توسط Windmill Engineering، Tilt تغییرات Dockerfiles را نظارت می‌کند، سپس آن تغییرات را به‌صورت تدریجی در کانتینرهای مناسب پیاده‌سازی می‌کند. در یک خوشه Kubernetes. در اصل، Tilt به توسعه دهندگان این امکان را می دهد که صرفاً با به روز رسانی یک Dockerfile یک خوشه زنده را در زمان واقعی به روز کنند. Tilt ساخت داخل خوشه را انجام می دهد. تنها تغییرات اعمال شده کد منبع هستند. حتی می‌توانید وضعیت خوشه و شرایط خطا را از حالت Tilt بگیرید تا با اعضای تیم برای اشکال‌زدایی به اشتراک بگذارید.