מה זה דוקר לעזזל?


דוקר

ההעלאה

הפרדת רשויות

אוקיי, אז כתבתי WebApi. עכשיו איך אני מעלה אותו על שרת כדי שאוכל להשתמש בו? אז האופציה הקלה היא,

  1. נלך לאייבורי.
  2. נקנה מחשב עם 16 גיגה ראם, ו4 ליבות.
  3. נפעיל את השירות.
  4. שלום על ישראל.

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



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

לצפייה

ההסבר על רשתות וירטואליות והלאה מדקה 7:30 הם רשות.


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

מכולות

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

לצפייה

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

דוקר

איך בעצם נבנה קונטיינרס? כאן נכנס לתמונה Docker.

לצפייה

אז בעצם דוקר עובד בתצורה של:

  1. dockerfile - קובץ בו כתוב מה השירות צריך בשביל לרוץ ואת פקודת ההרצה. למשל:
    FROM python:3.11-slim
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt
    COPY . .
    CMD ["python", "app.py"]
    כאן, בשביל להריץ את השירות ראשית נייבא את פייטון, ואז נתקין את כל הספריות המצוינות בקובץ הrequirements.txt . ולאחר מכן, נשתמש בפקודה python app.py.
  2. image - הקובץ הנבנה ע"ב הdockerfile, ומכיל בפועל את כל המשאבים הדרושים להרצה של הקוד.
  3. container - אותו כבר פגשנו לפני, מייצג הרצה של image.

המתזמר

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

לצפייה

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






אין תגובות:

הוסף רשומת תגובה