با گسترش سریع استفاده از کانتینرها در سازمانها، Kubernetes بهعنوان یک نرمافزار مدیریت کانتینرها به استانداردی فراگیر برای استقرار و مدیریت برنامههای کانتینری تبدیل شده است. Kubernetes که نخستین بار توسط گوگل توسعه یافت و در سال ۲۰۱۴ بهصورت متنباز منتشر شد، تجربهای ۱۵ ساله در مدیریت کانتینرهای داخلی گوگل را به همراه دارد و از مشارکتهای ارزشمند جامعه متنباز بهره برده است. این فناوری از سیستم مدیریت کلاستر داخلی گوگل به نام Borg الهام گرفته و فرآیند استقرار و مدیریت اپلیکیشنها را به شکل قابل توجهی ساده کرده است. Kubernetes با خودکارسازی مدیریت کانتینرها، قابلیت اطمینان را افزایش داده و زمان و منابع مورد نیاز برای عملیات روزانه را کاهش میدهد.
تعریف Kubernetes
Kubernetes (گاهی به اختصار K8s نامیده میشود؛ حرف 8 نشاندهندهی تعداد حروف بین K و s است) یک سیستم متنباز است که برای استقرار، مقیاسپذیری و مدیریت برنامههای کانتینری در هر محیطی طراحی شده است.
مزایای استفاده از Kubernetes
عملیات خودکار: Kubernetes دستوراتی داخلی برای مدیریت بسیاری از کارهای مدیریتی اپلیکیشنها دارد و امکان خودکارسازی عملیات روزانه را فراهم میکند. این ویژگی تضمین میکند که برنامهها همیشه به روشی که برنامهریزی کردهاید اجرا شوند.
انتزاع زیرساختها: با نصب Kubernetes، مدیریت منابع محاسباتی، شبکه و ذخیرهسازی بهطور خودکار انجام میشود. این موضوع به توسعهدهندگان اجازه میدهد تمرکز خود را بر روی برنامهها بگذارند، نه محیط زیربنایی.
مانیتورینگ سلامت سرویسها: Kubernetes بهطور پیوسته بررسی سلامت سرویسها را انجام میدهد و در صورت خرابی یا توقف کانتینرها، آنها را دوباره راهاندازی کرده و فقط زمانی سرویسها را در دسترس کاربران قرار میدهد که سالم باشند.
مقایسه Kubernetes و Docker
اغلب تصور میشود که Kubernetes و Docker باید بهعنوان جایگزین یکدیگر استفاده شوند، اما واقعیت این است که این دو فناوری متفاوت اما مکمل هستند.
Docker فناوری است که به شما اجازه میدهد هر آنچه برای اجرای اپلیکیشن نیاز دارید در یک کانتینر جمعآوری و ذخیره کنید تا هر جا و هر زمان که نیاز باشد آن را اجرا کنید. اما بعد از جمعآوری برنامهها در کانتینرها، به روشی برای مدیریت و کنترل آنها نیاز دارید که این وظیفه را Kubernetes بر عهده دارد.
نام Kubernetes از کلمهای یونانی به معنی «کاپیتان» گرفته شده است. همانطور که کاپیتان مسئول رساندن ایمن کشتی به مقصد است، Kubernetes نیز مسئول تحویل ایمن کانتینرها به مکانهایی است که باید در آنجا اجرا شوند.
Docker و Kubernetes میتوانند همزمان استفاده شوند و هیچیک جایگزین دیگری نیستند:
- Docker استانداردی برای بستهبندی و توزیع برنامهها در کانتینرها است.
- Kubernetes از Docker برای استقرار، مدیریت و مقیاسدهی برنامههای کانتینری استفاده میکند.
کاربردهای Kubernetes
افزایش سرعت توسعه: Kubernetes به شما کمک میکند تا اپلیکیشنهای مبتنی بر میکروسرویسهای ابری را سریعتر بسازید. همچنین، از کانتینری کردن برنامههای قدیمی نیز پشتیبانی کرده و پایهای برای نوسازی اپلیکیشنها است.
اجرای اپلیکیشنها در هر مکانی: Kubernetes بهگونهای طراحی شده که بتوانید اپلیکیشنهای خود را در محیطهای مختلف از جمله محیطهای محلی، فضای ابری و همچنین محیطهای ترکیبی اجرا کنید.
مدیریت بهینه منابع: Kubernetes میتواند بهطور خودکار اندازهی کلاسترهای مورد نیاز برای اجرای سرویسها را تنظیم کرده و بر اساس تقاضا آنها را مقیاسبندی کند. این موضوع باعث استفاده بهینه از منابع شده و هزینهها را کاهش میدهد.
منبع:cloud.google