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

انجمن‌های متشکل از متخصصان کوبرنتیس برای حل این مشکل دست به کار شدند و افزونه‌های کاربردی جالبی برای این زیرساخت مدیریتی ارائه کردند. 12 ابزاری که در این مقاله به آن‌ها اشاره شده، توانایی شما در کار با این زیرساخت را به میزان چشمگيری افزایش می‌دهد. برخی از آن‌ها می‌توانند هر نوع کلاستر کوبرنتیس را کامل کنند و برخی دیگر نیازهای خاصی را پوشش می‌دهند که خود کوبرنتیس قادر به انجام آن نیست.

Gravity: کلاسترهای پرتابل کوبرنتیس 

اگر می‌خواهید یک اپلیکیشن را درون کوبرنتیس مستقر کنید، برنامه‌های زیادی هستند که نحوه انجام و خودکارسازی این فرآيند را آموزش داده و قابلیت‌های موردنظر را ارائه می‌کنند، اما اگر بخواهید یک کلاستر کوبرنتیس را همان‌گونه که هست در جای دیگری مستقر کنید چه می‌شود؟ Gravity یک ایمیج کلی از کلاسترهای کوبرنتیس، کانتینرهای ثبت شده آن‌ها و اپلیکیشن‌های در حال اجرای آن‌ها به‌نام
application bundles را آماده می‌کند. این باندل که تنها یک فایل .tar است، قادر است کلاستر را هر جایی که کوبرنتیس اجرا می‌شود تکرار کند. همچنین Gravity این اطمینان را می‌دهد که زیرساخت هدف بتواند همان الزامات رفتاری را به عنوان منبع پشتیبانی کند. Gravity قابلیت‌های امنیتی از جمله کنترل‌های دسترسی هدفمند و امکان همگام‌سازی تنظیمات امنیتی در چند استقرار کلاستر را ارائه می‌کند. برای کسب اطلاعات بیشتر و دریافت Gravity به https://github.com/gravitational/gravity مراجعه کنید.

Kaniko: ساخت کانتینرها در یک کلاستر کوبرنتیس 

اکثر ایمیج‌های کانتینر در سیستمی‌ خارج از کانتینر اصلی ساخته می‌شوند، اما گاهی اوقات می‌خواهید فرآيند ساخت را درون یک کانتینر (به‌طور مثال، درون یک کانتینر در حال اجرا یا جایی درون یک کلاستر کوبرنتیس)  انجام دهید. Kaniko همانند نمونه‌های مشابه ساخت یک کانتینر را درون محیط کانتینر امکان‌پذیر می‌کند، با این تفاوت که نمونه ساخته شده برای اجرا به برنامه پس زمینه کانتینر مثل داکر متکی نیست. Kaniko ایمیج پایه را دریافت می‌کند، سیستم فایل را استخراج می‌کند و تمام فرامین استخراج از این سیستم فایل را اجرا می‌کند. در حال حاضر Kaniko به شکل چندسکویی ارائه نشده و در نتیجه نمی‌تواند کانتینرهای ویندوز را بسازد. برای کسب اطلاعات بیشتر و دریافت Kaniko به آدرس https://github.com/GoogleContainerTools/kaniko مراجعه کنید.

Kedge: پیاده‌سازی فشرده و مختصر نمونه‌های کوبرنتیس

بیشترین شکایت از کوبرنتیس مربوط به پیچیدگی نوشتاری و تعاریف کاربردی آن است. نوشتن آن‌ها یک دردسر است و نگهداری از آن دردسری دیگر. به همین دلیل کاربران برای کم کردن مشکلات خود به سراغ ابزارهای ثالث می‌‌روند. Kedge قواعد نحوی و نوشتاری را به شکلی ساده‌تر و موجزتر ارائه می‌‌کند. شما نسخه ساده فایل تعریف شده کوبرنتیس را برای Kedge فراهم می‌‌کنید و Kedge این فایل تعریف شده ساده را به یک همتای کوبرنتیس کامل بسط می‌‌دهد. برای کسب اطلاعات بیشتر و دریافت Kedge به آدرس https://github.com/kedgeproject/kedge مراجعه کنید.

Koki Short: شکل گیری‌های قابل مدیریت کوبرنتیس

Koki Short همانند Kedge پروژه‌ای برای بهینه‌سازی روش تعریف اپلیکیشن یا شکل‌گیری در کوبرنتیس است. مثل تعاریف Kedge، اینجا نیز از قواعد نحوی و نوشتاری کوتاه و مختصر برای توصیف Podهای کوبرنتیس استفاده می‌‌شود که می‌‌توان آن‌ها را به قواعد نوشتاری کامل ترجمه کرد. 
بر خلاف تعاریف Kedge، ابزار Short ماژولار هستند، به این معنا که می‌‌توان جزییات موجود در یک پروژه Short را در سایر پروژه‌های دیگر استفاده کرد. برای کسب اطلاعات بیشتر و دریافت Koki Short به https://github.com/koki/short  مراجعه کنید.

Kops: مدیریت کلاسترهای کوبرنتیس از خط فرمان

Kops که توسط گروه کوبرنتیس توسعه پیدا کرده این امکان را فراهم می‌‌کند تا از طریق خط فرمان کلاسترهای کوبرنتیس را مدیریت کنید. این ابزار از کلاسترهای اجرا شده در AWS و GCE با VMware vSphere و سایر محیط‌های در حال کار پشتیبانی می‌‌کند. علاوه بر این، برای خودکارسازی فرآیند نصب و پیکربندی می‌‌توان از Kops به همراه انواع مختلف دیگری از خودکارسازی استفاده کرد. برای نمونه، این ابزار می‌‌تواند پیکربندی‌های Terraform را توليد کند تا به یک کلاستر اجازه داده شود با استفاده از Terraform دوباره پیاده‌سازی شود. برای کسب اطلاعات بیشتر و دریافت Kops به https://github.com/kubernetes/kops  مراجعه کنید.

Kubecost: بررسی هزینه برای اجرای کوبرنتیس 

اکثر ابزارهای مدیریت کوبرنتیس روی سهولت استفاده، مانیتورینگ، تمرکز روی رفتارهای پاد و موارد این چنینی تمرکز دارند، اما مانیتورینگ هزینه‌های مربوط به اجرای کوبرنتیس چه می‌شود؟ 
Kubecost از رویکرد جالبی برای محاسبه هزینه‌های اجرای کوبرنتیس استفاده می‌کند تا توسعه‌دهندگان برآورد دقیقی در اختیار داشته باشند. فرمولی که Kubecost  از آن پیروی می‌کند به این صورت است که سنجه‌های لحظه‌ای و اطلاعات مربوط به هزینه‌هایی که ارائه‌دهندگان خدمات ابری به منظور اجرای کلاسترها از مشتریان طلب می‌کنند را به دست می‌آورد تا هزینه ماهانه استقرار هر کلاستر به شکل دقیقی محاسبه شود. هزینه حافظه اصلی، پردازنده مرکزی، پردازنده گرافیکی و فضای ذخيره‌سازی مطابق با مصرف تمام مولفه‌های کوبرنتیس (کانتینر، پاد، سرویس، استقرار و غیره) در این زمینه ارزیابی می‌شوند. Kubecost می‌تواند هزینه منابع «خارج از کلاستر» از قبيل مخازن Amazon S3  را نیز ردگیری کند، البته در حال حاضر این محاسبه به AWS محدود است. توسعه‌دهندگان می‌توانند داده‌های هزینه را به‌اشتراک قرار دهند. برای کسب اطلاعات بیشتر و دریافت Kubecost  به آدرس https://kubecost.com/  مراجعه کنید.

KubeDB: پیاده‌سازی و اجرای پایگاه‌های داده در کوبرنتیس 

پیاده‌سازی و اجرای پایگاه‌های داده در کوبرنتیس همواره کار دشواری است و مجموعه قابلیت‌های استاندارد کوبرنتیس نمی‌توانند مستقیما خیلی از مشکلات مخصوص به پایگاه‌های داده را پوشش دهد. KubeDB به مدیر بانک‌اطلاعاتی اجازه می‌دهد تا اپراتورهای کوبرنتیس را برای مدیریت پایگاه‌های داده ایجاد کند. ایجاد نسخه پشتیبان، تکثیر، مانیتورینگ و ایجاد پایگاه‌های داده سفارشی از جمله قابلیت‌های این ابزار هستند. پشتیبانی از کلاسترینگ نیز فراهم شده، اما تنها روی برخی از پایگاه‌های داده این امکان وجود دارد. به عنوان مثال، این قابلیت برای PostgreSQL موجود است، اما MySQL (هنوز) چنین امکانی ندارد. برای کسب اطلاعات بیشتر و دریافت KubeDB به آدرس https://kubedb.com/  مراجعه کنید.

Kube-monkey :Chaos monkey برای کوبرنتیس 

یک روش مطمئن برای آزمايش سطح فشار به یک سیستم ایجاد تصادفی وقفه و اعمال اضافه بار در سیستم است. آزمون فوق نظریه مستتر در تئوری Chaos monkey نتفلیکس است، یک ابزار مهندسی هرج و مرج که به‌طور تصادفی ماشين‌های مجازی و کانتینرهای در حال اجرا را متوقف می‌‌کند تا توسعه‌دهندگان را به ایجاد سیستم‌های باثبات‌تر تشویق کند. Kube-monkey نسخه دیگری از همین ایده است که برای تحت فشار قرار دادن کلاسترهای کوبرنتیس از آن استفاده می‌‌شود. 
روش کار به این صورت است که این ابزار به‌طور تصادفی پادهای موجود در یک کلاستر را که شما تعیین می‌‌کنید از بین می‌‌برد. شاید در نگاه اول ابزار فوق عجیب به نظر برسد، اما زمانی که از آن استفاده کنید متوجه خواهید شد تا چه اندازه باعث بهبود کیفیت کار شما می‌شود. برای کسب اطلاعات بیشتر و دریافت Kube-monkey به آدرس https://github.com/asobti/kube-monkey  مراجعه کنید.

Kubernetes Ingress Controller for AWS

کوبرنتیس از طریق یک سرویس به‌نام Ingress تراز بار خارجی و سرویس‌های شبکه را برای کلاسترها فراهم می‌‌کند.
Amazon Web Services نیز امکان تراز بار را فراهم می‌‌کند، اما نمی‌‌تواند به طور خودکار این سرویس‌ها را برای سهولت کار کوبرنتیس تامین کند. Kubernetes Ingress Controller for AWS توسعه پیدا کرده تا این کمبود را جبران کند. Ingress Controller منابع AWS را برای هر کدام از عناصر Ingress در یک کلاستر به‌طور خودکار مدیریت می‌‌کند، تراز کننده‌های بار را برای منابع ورودی جدید ایجاد می‌‌کند و تراز کننده‌های بار منابع حذف شده را پاک می‌‌کند. سایر عناصر استفاده شده در کلاستر مثل گواهی نامه‌های SSL و EC2 Auto Scaling Groups نیز توسط این ابزار به طور خودکار مدیریت می‌‌شوند. برای کسب اطلاعات بیشتر و دریافت Kubernetes Ingress Controller for AWS  به آدرس
https://github.com/zalando-incubator/kube-ingress-aws-controller مراجعه کنید.

Skaffold: توسعه تکرارپذیر برای کوبرنتیس

Skaffold یکی از ابزارهای اختصاصی گوگل برای کوبرنتیس و روشی برای انجام مستمر توسعه اپلیکیشن‌های کوبرنتیس است. وقتی تغییراتی را روی کد منبع اعمال می‌‌کنید، Skaffold به‌طور خودکار آن‌ها را تشخیص داده و فرآیند ساخت و پیاده‌سازی را فعال می‌‌کند و در صورت رویارویی  با هر نوع خطایی هشدار می‌‌دهد. Skaffold کاملا در سمت کلاینت اجرا می‌‌شود و به همین دلیل بار ترافیکی مضاعف تولید نمی‌کند. برای کسب اطلاعات بیشتر و دریافت Skaffold  به آدرس https://github.com/GoogleContainerTools/skaffold  مراجعه کنید.

Teresa: یک PaaS ساده در کوبرنتیس

Teresa یک سیستم توسعه اپلیکیشن است که به عنوان یک PaaS ساده در کوبرنتیس اجرا می‌‌شود. کاربرانی عضو گروه‌های مختلف می‌‌توانند اپلیکیشن‌های متعلق به خود را پیاده‌سازی و مدیریت کنند. چنین ابزاری به کاربرانی که اجازه دسترسی به اپلیکیشن مورد نظر را دارند این امکان را می‌‌دهد تا بدون درگیر شدن مستقیم با کوبرنتیس با آن اپلیکیشن کار کنند. برای کسب اطلاعات بیشتر و دریافت Teresa به آدرس https://github.com/luizalabs/teresa  مراجعه کنید.

Tilt: ارسال به‌روزرسانی‌های کانتینر به کلاسترهای کوبرنتیس 

Tilt که توسط Windmill Engineering توسعه داده شده تغییرات اعمال شده به Dockerfile‌ها را به شکل بلادرنگ رصد می‌کند و سپس این تغییرات را به صورت تدریجی در کانتینرهای مربوطه در یک کلاستر کوبرنتیس مستقر می‌کند. در اصل، Tilt به توسعه‌دهندگان اجازه می‌دهد تنها با به‌روزرسانی یک Dockerfile یک کلاستر فعال را به‌صورت بلادرنگ به‌روزرسانی کنند و تنها کد منبع را تغییر دهند.  برای کسب اطلاعات بیشتر و دریافت Tilt به آدرس https://github.com/windmilleng/tilt مراجعه کنید.


ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     ثبت اشتراک نسخه آنلاین

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

برچسب: 

مطالب پربازدید

توسعه و پشتیبانی توسط : ایران دروپال
پشتیبانی توسط ایران دروپال