Kubernetes לעומת Docker: להבין מכולות ותזמור

אם עקבת אחרי עם המגמות האחרונות בפיתוח תוכנה, ישנם שני מונח ספק שנתקל שוב ושוב: דוקר ו Kubernetes, שהן בעצם קיצור  מכולות  ו  התזמור .

מכולות Docker עזרו לייעל את תהליך העברת היישומים דרך פיתוח ובדיקה והפקה, בעוד ש- Docker ו- Kubernetes סייעו להמציא מחדש את האופן שבו יישומים נבנים ונפרסים - כאוספים של מיקרו-שירותים במקום ערימות מונוליטיות.

מדוע Docker ו- Kubernetes חשובים, כיצד הם משנים את פיתוח התוכנה, ואיזה תפקיד כל אחד ממלא בתהליך? אנסה לענות על השאלות הבאות.

עגינה ומכולות

מכולות - הנתמכות במערכות הפעלה לינוקס, חלונות ומערכות אחרות - מאפשרות להריץ תוכנה בסביבות מיני עצמאיות שמבודדות משאר המערכת. מכולות הושוו ל- VM, אך אינן VM - הן הרבה יותר רזות, מהירות יותר להפעלה ולעצירה והרבה יותר גמישות וניידות. מכיוון שניתן לסובב מכולות למעלה או למטה או לשנות את קנה המידה תוך שניות, הם מקלים על הפעלת אפליקציות בסביבות אלסטיות כמו הענן. 

לינוקס ומערכות הפעלה אחרות תומכות באפליקציות מיכל במשך שנים רבות, אך העבודה עם מכולות לא הייתה ממש ידידותית למשתמש. Docker, הן בקוד הפתוח והן בגלגוליו המסחריים, היא תוכנה ההופכת מכולות לסחורה ידידותית למשתמש וידידותית למפתחים. Docker מספק קבוצה משותפת של כלים ומטאפורות עבור מכולות, כך שתוכל לארוז אפליקציות בתמונות מכולה שניתן לפרוס ולהשתמש בהן מחדש בארגון שלך או במקום אחר.

בקיצור, Docker מאפשר ליצור תמונות מכולה, לגרסא אותן, לשתף אותן, להעביר אותן ולפרוס אותן למארחים תואמי Docker כמכולות פועלות.

מתי אוכל להשתמש ב- Docker ובמכולות?

Docker ומכולות מתאימים ביותר כאשר אתה מתמודד עם עומסי עבודה שחייבים להיות בעלי אחת או יותר מהאיכויות הבאות:

  • מדרגיות אלסטית.  אתה לא יודע כמה מקרים של אפליקציה תצטרך להפעיל כדי לענות על הביקוש. ניתן לשנות את האפליקציה או השירות המיכלים בכדי להתאים לביקוש על ידי פריסת פחות או יותר מקרים של המכולות שלו.
  • בידוד.  אתה לא רוצה שהאפליקציה תפריע לאפליקציות אחרות. אולי תריץ גרסאות מרובות של האפליקציה זו לצד זו כדי לספק גרסאות שונות של ממשק API. או אולי אתה רוצה לשמור על המערכת הבסיסית נקייה (תמיד רעיון טוב).
  • הִטַלטְלוּת.  עליך להריץ את האפליקציה הזו במגוון סביבות, ואתה זקוק לכל התקנה לשחזור. מיכלים מאפשרים לך לארוז את כל סביבת זמן הריצה של היישום שלך, מה שהופך את האפליקציה לפריסה קלה לכל מקום בו תמצא מארח תואם Docker - שולחן עבודה למפתחים, מכונת בדיקות QA, מגהץ מקומי או ענן מרוחק.

למידע נוסף על Docker ומכולות

  • מה זה Docker? הניצוץ למהפכת המכולות
  • מדוע כדאי להשתמש ב- Docker ובמכולות
  • התחל לעבוד עם Docker
  • היתרונות הנסתרים של Docker ל- QA
  • 12 כלי קוד פתוח המשפרים את דוקר
  • עוד חדשות על Docker, ניתוחים, הוראות, ביקורות ועצות

קוברנטס ותזמור מכולות

מיכלים נועדו בעיקר לבודד תהליכים או יישומים זה מזה והמערכת הבסיסית. יצירה ופריסה של מכולות בודדות היא קלה. אך מה אם ברצונך להרכיב מספר מכולות - נניח, מסד נתונים, ממשק אינטרנט, קצה אחורי חישובי - ליישום גדול שניתן לנהל כיחידה, מבלי שתצטרך לדאוג לפריסה, חיבור, ניהול, ומדרג בנפרד כל אחד מאותם מכולות? אתה צריך דרך  לתזמר את  כל החלקים לשלמות פונקציונלית.

זו העבודה שקוברנטס לוקח על עצמה. אם מכולות הנוסעים בהפלגה, קוברטס הוא מנהל ההפלגה.

Kubernetes, המבוססת על פרויקטים שנוצרו בגוגל, מספקת דרך אוטומטית לפריסה וניהול של יישומי רב-מכולה על פני מספר מארחים, ללא צורך לנהל כל מכולה ישירות. המפתח מתאר את פריסת היישום על פני מספר מכולות, כולל פרטים כמו האופן שבו כל מיכל משתמש ברשת ואחסון. קוברנטס מטפל בשאר בזמן הריצה. זה גם מטפל בניהול פרטים מטורפים כמו סודות ותצורות אפליקציות.

Kubernetes דורשת מידה מסוימת של מומחיות בכדי להשתמש בה היטב, אם כי זה הרבה יותר פתרון סוהר ממה שהיה. חלק מהתקדמות קלות השימוש נובעת ממתכונים זמינים ליישומים נפוצים (תרשימי הלם); חלקן נובעות משלל הפצות של Kubernetes המיוצרות על ידי חברות מותגי שם (Red Hat, Canonical, Docker) שעובדות יד ביד עם ערימות יישומים פופולריות ומסגרות פיתוח.

מתי אוכל להשתמש בקוברנטס ותזמור מכולות?

אפליקציות פשוטות ממכולות המשרתות מספר קטן של משתמשים בדרך כלל אינן דורשות תזמור, שלא לדבר על Kubernetes. אבל אם לאפליקציה יש יותר מרמת פונקציונליות טריוויאלית או מספר טריוויאלי של משתמשים, קשה שלא להמציא מחדש את הגלגל שמספקות מערכות תזמורת. להלן מספר כללי אצבע לקביעת מועד תזמורת צריכה להיכנס לתמונה.

  • האפליקציות שלך מורכבות.  כל יישום שכולל יותר משני מכולות כנראה מתאים לחשבון. עם זאת, יישומים צנועים המשרתים רק מספר קטן של משתמשים עשויים להיות מתוזמרים באמצעות פתרון מינימלי יותר כמו מצב נחיל Docker ולא Kubernetes.
  • לאפליקציות שלך דרישות גבוהות להגדלה ולחוסן.  Kubernetes ותזמורים אחרים מאפשרים לך לאזן עומסים ולסובב מכולות כדי לענות על הביקוש באופן הצהרתי, על ידי תיאור המצב הרצוי של המערכת במקום קידוד תגובות לתנאים המשתנים ביד.
  • אתה רוצה להפיק את המרב מטכניקות CI / CD מודרניות.  מערכות תזמורת תומכות בדפוסי פריסה לאפליקציות המשתמשות בפריסה כחולה / ירוקה או בשדרוגים מתגלגלים.

יתכן ויגיע יום בו דוקר וקוברנטס מאפילים על ידי הפשטות ידידותיות עוד יותר, ויפנו את מקומם לדרכים אלגנטיות יותר ליצור ולנהל מכולות. לעת עתה, עם זאת, דוקר וקוברנטס הם מכריעים לדעת ולהבין.

למידע נוסף על Kubernetes ותזמור

  • מה זה קוברנטס? פלטפורמת היישום הבאה שלך
  • 4 סיבות שכדאי להשתמש בקוברנטס
  • 10 הפצות Kubernetes המובילות את מהפכת המכולות
  • Kubernetes מנוהלים: AWS לעומת Azure לעומת Google Cloud
  • שלום MicroK8s: Kubernetes פשוט יותר
  • מה חדש בקוברנטס
  • עוד חדשות של Kubernetes, הוראות, ביקורות, עצות וניתוחים