הטמעת KubeVirt: מי זקוק לזה ולמה?

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

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

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

מה זה בדיוק KubeVirt?

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

כך זה עובד:

  • קובירט כהרחבה: קובירט מוסיף הגדרות משאבים מותאמות (CRDs) לקוברנטיס, ומציג סוג אובייקט חדש המייצג מכונות וירטואליות.
  • מכונות וירטואליות כ"פודים": באמצעות קובירט, כל מכונה וירטואלית פועלת בתוך פוד מיוחד, שמשתלב בצורה הדוקה במערכת האקולוגית של קוברנטיס.
  • ניהול מכונות וירטואליות מְפָשֵׁט עם קוברנטיס: כעת אתה יכול לנצל את אותם כלים של קוברנטיס (kubectl ואת ממשק ה-API של קוברנטיס) ואת השיטות המומלצות כדי ליצור, להתחיל, להפסיק, להעביר ולנטר מכונות וירטואליות לצד העומסים המיכליים שלך.

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

ההשפעה העסקית של קובירט

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

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

למה הארגון שלך צריך להתעניין?

KubeVirt מספקת ערך משכנע, במיוחד בתחומים אלה:

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

הנה כמה נקודות כאב ספציפיות ש-KubeVirt מטפלת בהן:

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

מתחילים: פריסה ויישום

פריסת KubeVirt דורשת סביבה של Kubernetes מוכנה היטב. סעיף זה מספק מדריך מפורט שיעזור לך להקים וליישם את KubeVirt בתשתית שלך.

דרישות מקדימות

לפני שתתחיל, ודא שהדרישות הבאות מתקיימות:

1. אשכול Kubernetes

נדרש לך אשכול Kubernetes (או נגזרת כמו OpenShift) על בסיס אחת מהשחרורים האחרונים של Kubernetes הזמינים בזמן שחרור KubeVirt.

2. תצורת שרת API של Kubernetes

שרת ה-API של Kubernetes חייב להיות מוגדר עם --allow-privileged=true כדי להריץ את DaemonSet המורשה של KubeVirt.

3. כלי Kubectl

ודא שיש לך את הכלי הלקוח kubectl מותקן ומוגדר כדי לתקשר עם האשכול שלך.

4. תמיכה בריצת קונטיינרים

KubeVirt נתמך על ידי ריצות קונטיינרים הבאות:

  • Containerd
  • crio (עם runv)

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

5. וירטואליזצית חומרה

חומרה עם תמיכה בוירטואליזציה מומלצת. ניתן להשתמש ב- virt-host-validate כדי לוודא שהמארחים שלך מסוגלים להפעיל עובדות וירטואליזציה:

YAML

 

שיקולי רשת ואבטחה

  1. תצורת רשת: תכנן איך המכונות הווירטואליות שלך יתחברו ויתקשרו עם רשתות חיצוניות ושאר סביבת ה-Kubernetes שלך.

  2. אינטגרצית AppArmor: על מערכות שבהן מופעל AppArmor, עשוי להיות צורך לשנות את פרופילי ה-AppArmor כדי לאפשר את ביצוע המיכלים המפונים של KubeVirt. לדוגמה:

YAML

 

התקנת KubeVirt

כדי להתקין את KubeVirt, עקוב אחרי השלבים הבאים:

1. התקנת אופרטור KubeVirt

האופרטור של KubeVirt פשוט את ההתקנה והניהול של רכיבי KubeVirt. הריץ את הפקודות הבאות כדי להשיג את הגרסה העדכנית ביותר של KubeVirt:

YAML

 

2. תצורה עבור וירטואליזציה לא חומרתית

אם וירטואליזציה חומרתית אינה זמינה, הפעל אמולצית תוכנה על ידי הגדרת useEmulation לערך true ב- KubeVirt CR:

YAML

 

שיטות יישום מומלצות

כדי להשיג את המרב מ-KubeVirt, עקוב אחרי שיטות היישום המומלצות הבאות:

1. הערכה של עומס העבודה

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

2. לבחון את הרשת ואת האחסון

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

3. להדגיש ניטור וניהול

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

4. העברת חיים

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

YAML

 

דוגמא להתקנה על OpenShift (OKD)

אם אתם משתמשים ב-OKD, צעדים נוספים כוללים הגדרת דרישות ניהול האבטחה (SCC):

YAML

 

דוגמא להתקנה על k3OS

עבור k3OS, וודאו שאתם טוענים את המודולים הנדרשים על כל הצמתים לפני התקנת KubeVirt:

YAML

 

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

התקנת בנייה יומית של מפתחים

עבור בניית מפתחים האחרונה, הריצו:

YAML

 

התקנה מהמקור

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

שיטות העבודה ביישום

עקוב אחרי שיטות העבודה הטובות הללו כדי להפיק את המרב מ-KubeVirt:

  • ניתוח עומס: לא כל אפליקציה מתאימה מיידית ל-KubeVirt. כדאי לתת עדיפות למכונות וירטואליות עם פוטנציאל טוב להמרה למיכלים. אפליקציות פחות קריטיות יכולות להיות דרך נהדרת לקבל ניסיון פרקטי תוך מינימום סיכון.
  • ניתוח רשת ואחסון: חשוב לשקול בקפידה איך לחבר את רשת ה-VM עם רשת ה-Kubernetes הקיימת שלך. תכנן אינטגרצית אחסון לנתונים עמידים באמצעות פתרונות כמו תוספות של ממשק אחסון של מיכלים (CSI).
  • הדגש על ניטור וניהול: התאם את הכלים הקיימים שלך לניטור של Kubernetes או חקור פתרונות התואמים ל-KubeVirt כדי לרכוש נראות לביצועי ה-VM לצד המיכלים שלך.

מסקנה

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

Source:
https://dzone.com/articles/kubevirt-implementation-who-needs-it-and-why