جستجو برای:
  • تقویم آموزشی
  • آموزش آنلاین
  • آموزش آفلاین
  • لابراتوار آنلاین
  • وبینارها
    • وبینار CSCU
    • وبینار Container on Wheels
    • وبینار مسیر آموزشی SANS
    • وبینار پدافند غیرعامل
    • وبینار Wazuh
  • بین الملل
    • آموزشگاه های بین المللی
    • آزمون های بین المللی
  • فرم پیش ثبت نام
  • فرصت های شغلی
  • دوره ها
    • امنیت
      • EC-Council
      • F5
      • Fortinet
      • ISACA
      • ISC2
      • Juniper
      • Payment Security
      • SANS
      • SCADA
      • Secure coding
      • SOC
      • Splunk
    • بانک اطلاعاتی
      • Oracle
      • SQL Server
    • برنامه نویسی
      • IOS
      • Web programming
    • ذخیره و بازیابی اطلاعات
      • Big Data
      • EMC
      • HP
      • Netbackup
      • veeam
    • شبکه
      • Cisco Old Level
      • Cisco New Level
      • CompTIA
      • EPI
      • Linux
      • Microsoft
      • Mikrotik
      • SolarWinds
    • کارکنان دولت
    • مجازی سازی
      • Cloud computing
      • Hyper-V
      • VMWare
    • مخابرات
    • مدیریت فناوری اطلاعات
      • ISO 27001
      • IT Management
      • Project Management
    • ویژه دوران
      • کارگاه ها و سمینارها
      • محصولات دوران
 
  • 02143585
  • academy@douran.com
  • دعوت به همکاری
  • درباره ما
  • تماس با ما
  • بلاگ
  • گروه دوران
آکادمی دوران
0

ورود و ثبت نام

دسته بندی‌ دوره‌ها
  • شبکه
    • Microsoft
    • SolarWinds
    • CompTIA
    • Cisco Old Level
      • Cisco New Level
    • Mikrotik
    • Linux
    • EPI
  • مخابرات
    • مخابرات
  • امنیت
    • ISC2
    • F5
    • EC-Council
    • Juniper
    • SOC
    • Fortinet
    • SANS
    • SCADA
    • ISACA
    • Secure coding
    • Payment Security
    • Splunk
  • مجازی سازی
    • Hyper-V
    • Cloud computing
    • VMWare
  • مدیریت فناوری اطلاعات
    • ISO 27001
    • IT Management
    • Project Management
  • برنامه نویسی
    • IOS
    • Web programming
  • ذخیره و بازیابی اطلاعات
    • Big Data
    • HP
    • EMC
    • Netbackup
    • veeam
  • بانک اطلاعاتی
    • Oracle
    • SQL Server
  • ویژه دوران
    • کارگاه ها و سمینارها
    • محصولات دوران
    • کارکنان دولت
  • صفحه اصلی
  • تقویم آموزشی
  • آموزش آنلاین
  • آموزش آفلاین
  • لابراتوار آنلاین
  • وبینارها
    • وبینار CSCU
    • وبینار Container on Wheels
    • وبینار مسیر آموزشی SANS
    • وبینار پدافند غیرعامل
    • وبینار Wazuh
  • بین الملل
    • آموزشگاه های بین المللی
    • آزمون های بین المللی
  • فرم پیش ثبت نام

وبلاگ

آکادمی دوران بلاگ مقالات Kubernetes در برابر  Docker Swarm

Kubernetes در برابر  Docker Swarm

1399/11/08
ارسال شده توسط گروه دوران
مقالات
1.43k بازدید

مقایسه ابزارهای ارکستراسیون کانتینر

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

بررسی اجمالی Kubernetes

Kubernetes یک ابزار زیرساخت  open sourceو ابری است که مقیاس‌گذاری، استقرار و مدیریت برنامه‌های حاوی کانتینر را به طور خودکار انجام می‌دهد. گوگل در ابتدا Kubernetes را توسعه داد و سرانجام آن را برای تقویت و نگهداری به بنیاد رایانش ابری (CNCF) تحویل داد.

Kubernetes یک پلت فرم ارکستراسیون کانتینر غنی از ویژگی‌ها است که از مزایای زیر بهره می‌برد:

  • به روزرسانی‌های منظم توسط CNCF
  • کمک‌های روزانه از جامعه جهانی

Docker Swarm

Docker Swarm یک ابزار ارکستراسیون کانتینر بومی داکر است که برنامه‌ها را قادر می‌سازد تا به صورت یکپارچه در چندین node (که از همان کانتینر مشترک استفاده می‌کنند)، اجرا شوند. در واقع، برای مدیریت، استقرار و مقیاس‌بندی هر کلاستر از نودها روی داکر، از مدل Docker Swarm استفاده می‌کنیم.

تفاوت‌های Kubernetes و Docker Swarm

Kubernetes و Docker Swarm هر دو راه حل‌های کاربردی برای موارد زیر است:

  • استقرار برنامه در مقیاس بزرگ
  • پیاده‌سازی
  • مدیریت

هر دو مدل برنامه‌ها را به کانتینرها تبدیل می‌کنند و به این ترتیب امکان اتوماسیون مدیریت برنامه و مقیاس‌بندی وجود دارد. در اینجا خلاصه‌ای کلی از تفاوت‌های آن‌ها وجود دارد:

Kubernetes بر ارکستراسیون open source و ماژولار تمرکز دارد و یک راه حل ارکستراسیون کانتینر کارآمد برای برنامه‌های با تقاضای بالا با پیکربندی پیچیده ارائه می‌دهد.

Docker Swarm بر سهولت استفاده تاکید می‌کند و آن را برای برنامه‌های ساده و مدیریتیشان مناسب‌تر می‌کند.

حال بیایید به تفاوت‌های اساسی در نحوه عملکرد این فناوری‎‌های ارکستراسیون ابر نگاه کنیم. در هر بخش، ابتدا K8s و سپس Docker Swarm را بررسی خواهیم کرد.

نصب و راه اندازی

با چندین گزینه نصب، Kubernetes به راحتی می تواند در هر سیستم عامل مستقر شود. اگرچه توصیه می‌شود قبل از نصب، درک اساسی از سیستم عامل و رایانش ابری داشته باشید.

برای نصب Kubernetes نیاز به دانلود و نصب kubectl داریم، خط فرمان Kubernetes (CLI):

  • در Linux ، می توانید kubectl را با استفاده از curl ، بصورت محلی یا سایر روش‌های مدیریت بسته به عنوان یک برنامه snap نصب کنید.
  • در MacOS ، kubectl را می‌‌توان با استفاده از curl ، Homebrew یا MacPorts نصب کرد.
  • در ویندوز، می‌توانید kubectl را با استفاده از چندین گزینه، از جمله curl، مدیریت بسته Powershell Gallery، مدیریت بسته Chocolatey یا نصب کننده خط فرمان Scoop نصب کنید.

در مقایسه با Kubernetes، نصب Docker Swarm نسبتا ساده است. پس از نصب موتور Docker در دستگاه، استفاده از Docker Swarm به آسانی انجام می‌شود:

  • اختصاص آدرس‌های IP به میزبان‌ها
  • باز کردن پروتکل‌ها و پورت‌های بین آن‌ها

قبل از مقداردهی اولیه Swarm، ابتدا یک manager node  مدیریت و یک یا چند worker nodes کارگر بین میزبان‌ها اختصاص دهید.

رابط کاربری گرافیکی (GUI)

Kubernetes دارای یک رابط کاربری آسان وب (داشبورد) است که به شما کمک می‌کند:

  • برنامه‌های حاوی کانتینر را روی یک کلاستر استفاده کنید
  • منابع کلاستر را مدیریت کنید
  • مشاهده یک گزارش خطا و اطلاعات مربوط به وضعیت منابع کلاستر (از جمله استقرارها ، مشاغل و DaemonSets) برای عیب‌یابی کارآمد

برخلاف Kubernetes ، Docker Swarm با استفاده از Web UI خارج از جعبه برای استقرار برنامه‌ها و ارکستراسیون کانتینرها همراه نیست. با این حال، با محبوبیت روزافزون آن، چندین ابزار third-party وجود دارد که رابط‌های کاربری گرافیکی ساده و غنی از ویژگی برای Docker Swarm ارائه می‌دهند. برخی از ابزارهای برجسته UI Docker Swarm عبارتند از:

  • Portainer
  • Dockstation
  • Swarmpit
  • Shipyard

تعریف و استقرار برنامه

استقرار Kubernetes شامل توصیف به روزرسانی‌های اعلامی به حالت برنامه هنگام به روزرسانی Kubernetes Pods و ReplicaSets است. با توصیف حالت مورد نظر Pod، کنترل کننده با نرخ تنظیم شده وضعیت فعلی را به حالت دلخواه تغییر می‌دهد. با استقرار Kubernetes، می‌توانید تمام جنبه‌های چرخه حیات برنامه را تعریف کنید. این جنبه‌ها شامل موارد زیر است:

  • تعداد Podها
  • تصاویر مورد استفاده
  • چگونه Podها باید به روز شوند

در Docker Swarm، برنامه‌ها را با استفاده از پرونده‌های از پیش تعریف شده Swarm مستقر و تعریف می‌کنید تا وضعیت مورد نظر را برای برنامه اعلام کنید.

برای استقرار برنامه، فقط باید فایل YAML را در سطح ریشه کپی کنید. این فایل، به عنوان Docker Compose File شناخته می‌شود، به شما امکان می‌دهد از قابلیت‌های node‌های متعدد ماشین آن استفاده کنید، در نتیجه به سازمان‌ها امکان می‌دهد کانتینر و خدمات زیر را  اجرا کنند:

  • چندین ماشین
  • هر تعدادی شبکه

دسترس‌پذیری

Kubernetes بصورت پیش‌فرض به دو توپولوژی مجوز می‌دهد و امنیت بالا را با ایجاد کلاسترها برای از بین بردن تک نقطه خرابی تضمین می‌کنند. می‌توانید از node‌های Stacked Control Plane استفاده کنید. با قرار دادن اشیا etcd توسط همه node‌های موجود یک کلاستر در هنگام خرابی، دسترسی‌پذیری را تضمین می‌کنند. یا می‌توانید از اشیا etcd برای متعادل‌سازی بار استفاده کنید، در حالی که node‌های صفحه کنترل را به طور جداگانه کنترل می‌کنید.

هر دو روش از kubeadm و از یک روش Multi-Master برای حفظ دسترس‌پذیری بالا، با حفظ node‌های کلاستر etcd استفاده می‌کنند.

 

External etcd topology 

برای حفظ قابلیت دسترسی بالا، Docker از تکرار سرویس در سطح Swarm Nodes استفاده می‌کند. با این کار، یک مدیر Swarm چندین نمونه از یک کانتینر را با تکرار خدمات در هر کدام مستقر می‌کند.

به طور پیش‌فرض، یک فروشگاه توزیع شده داخلی:

  • node‌های Swarm Manager را برای مدیریت یک کلاستر کامل کنترل می‌کند
  • منابع node کارگر را مدیریت می‌کند تا نمونه‌های کانتینر در دسترس و تعادل بار باشند.

مقیاس‌پذیری

Kubernetes از پشتیبانی خودکار در هر دو پشتیبانی می‌کند:

  • سطح کلاستر، از طریق کلاستر بندی خودکار
  • سطح pod، با Horizontal Pod Autoscaler

Kubernetes در هسته خود به عنوان یک شبکه فراگیر برای node‌های توزیع‌شده عمل می‌کند و از نظر مجموعه API یکپارچه و حالت‌های کلاستری تضمین‌های خوبی ارائه می‌دهد. مقیاس‌گذاری در Kubernetes اساسا شامل ایجاد podهای جدید و زمان‌بندی آن‌ها به node‌های دارای منابع موجود است.

Docker Swarm  کانتینر را سریعتر مستقر می‌کند.

این به ابزار ارکستراسیون زمان، واکنش سریع‌تری ارائه می‌دهد که امکان مقیاس‌بندی بر اساس تقاضا را فراهم می‌کند. مقیاس‌گذاری یک برنامه Docker برای کنترل بارهای پرترافیک شامل تکرار تعداد اتصالات به برنامه است. بنابراین، می توانید به راحتی مقیاس  برنامه خود را برای دسترس‌پذیری بیشتر بالا و پایین کنید.

شبکه‌سازی

Kubernetes برای ایجاد شبکه‌ای بین کلاسترهای کارآمد، یک اتصال نظیر به نظیر بین nodها و عوامل node ایجاد می‌کند. این اتصال شامل سیاست‌های شبکه است که ضمن اختصاص دادن آدرس‌های IP متمایز به هریک از آن‌ها، ارتباط بین nodها را تنظیم می‌کند.

برای تعریف زیرشبکه، مدل شبکه Kubernetes به دو روتر بین دامنه بدون کلاس (CIDR) نیاز دارد:

  • یکی برای آدرس‌دهی IP node
  • مورد دیگر برای خدمات

Docker Swarm برای هر node‌ای که به Swarm می‌پیوندد دو نوع شبکه ایجاد می‌کند:

  • یک نوع شبکه نمایانگر همپوشانی کلیه خدمات درون شبکه است.
  • دیگری یک پل فقط میزبان برای همه کانتینرها ایجاد می‌کند.

با یک شبکه همپوشانی چند لایه، یک توزیع نظیر به نظیر در بین همه میزبانان حاصل می‌شود که ارتباطات امن و رمزگذاری شده را امکان‌پذیر می‌کند.

مانیتورینگ

Kubernetes چندین راه حل محلی برای ثبت و نظارت بومی برای سرویس‌های مستقر در یک کلاستر ارائه می‌دهد.

این راه حل‌ها عملکرد برنامه را با استفاده از موارد زیر مانیتور می‌کند:

  • بازرسی خدمات، nodها و کانتینرها
  • مشاهده رفتار یک کلاستر کامل

علاوه بر این، Kubernetes همچنین از یکپارچه‌سازی third-party  برای کمک به نظارت بر رویداد، پشتیبانی می‌کند از جمله:

  • ElasticSearch/Kibana
  • InfluxDB
  • Grafana
  • Sysdig

برخلافKubernetes ، Docker Swarm راه حل نظارت خارج از محدوده ارائه نمی‌دهد. در نتیجه، برای پشتیبانی از نظارت بر Docker Swarm، باید به برنامه‌های شخص ثالث اعتماد کنید.

به طور معمول، نظارت بر ازدحام داکر به دلیل حجم زیاد اشیا و node‌های متقاطع، نسبت به یک کلاستر K8s ، پیچیده‌تر است.

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

دوران آکادمی اقدام به برگزاری وبینار رایگان با موضوع  Container on Wheels نموده است. این وبینار به اهمیت به کارگیری Docker و Kubernetes در توسعه زیرساخت‌های نوین فناوری اطلاعات می‌پردازد.

اشتراک گذاری:
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • روش‌های بهبود عملکرد کوئری در SQL
    روش‌های بهبود عملکرد کوئری در SQL

    763 بازدید

  • CISSP چیست؟
    CISSP چیست؟

    532 بازدید

  • Docker چیست؟
    Docker چیست؟

    574 بازدید

  • ده دلیل برای اخذ گواهینامه روتینگ و سوئیچینک CCNA سیسکو
    ده دلیل برای اخذ گواهینامه روتینگ و سوئیچینک CCNA سیسکو

    655 بازدید

  • آموزش ISACA
    آموزش ISACA

    1.85k بازدید

  • کیت رایگان sans برای کسانی که آنلاین در منزل کار می‌کنند.
    آموزش SANS در دوره پاندمی Covid – 19

    257 بازدید

قدیمی تر روش‌های بهبود عملکرد کوئری در SQL

دیدگاهتان را بنویسید لغو پاسخ

دسته‌های دوره های آموزشی
  • devOPS
  • امنیت
    • EC-Council
    • F5
    • Fortinet
    • ISACA
    • ISC2
    • Juniper
    • Payment Security
    • SANS
    • SCADA
    • Secure coding
    • SOC
    • Splunk
  • بانک اطلاعاتی
    • Oracle
    • SQL Server
  • برنامه نویسی
    • IOS
    • Web programming
  • ذخیره و بازیابی اطلاعات
    • Big Data
    • EMC
    • HP
    • Netbackup
    • veeam
  • شبکه
    • Cisco Old Level
      • Cisco New Level
    • CompTIA
    • EPI
    • Linux
    • Microsoft
    • Mikrotik
    • SolarWinds
  • کارکنان دولت
  • مجازی سازی
    • Cloud computing
    • Hyper-V
    • VMWare
  • مخابرات
  • مدیریت فناوری اطلاعات
    • ISO 27001
    • IT Management
    • Project Management
  • ویژه دوران
    • کارگاه ها و سمینارها
    • محصولات دوران
  • محبوب
  • جدید
  • دیدگاه ها
قبلی بعدی
اطلاعات تماس
  • خیابان خرمشهر، خیابان صابونچی کوچه ایازی، پلاک 62
  • 02143585 داخلی 266
  • 02143585555
  • academy@douran.com
پیوندهای مهم
  • گالری
  • مجوزها
  • فرم پیش ثبت نام
  • مشتریان
  • فرم درخواست مدرک
  • لابراتوار آنلاین
  • در حال تکمیل ظرفیت
  • سند راهبردی آموزش

تمامی حقوق برای آکادمی دوران محفوظ می باشد.

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت