מדריך קוברנטס - מדריך מקיף לקוברנטס



בלוג זה במדריך Kubernetes, יוביל אתכם בכל המושגים של מערכת תזמורת מכולות עם ידיים.

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

הנושאים הבאים יוסקרו במדריך זה:





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

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



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

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



מדריך Kubernetes: אתגרים ללא תזמור מיכל

אתגרים ללא תזמור מכולות - מדריך Kubernetes - אדוריקה

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

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

תיקון איטרטיבי c ++

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

מדריך Kubernetes: Kubernetes לעומת Docker Swarm

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

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

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

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

מעוניין לדעת יותר על קוברנטס?

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

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

עכשיו, אחרי שהבנת את הצורך בקוברנטס, זה זמן טוב, שאני אומר לך מה זה קוברנטס?

מדריך Kubernetes: מה זה קוברנטס?

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

מדריך Kubernetes: תכונות Kubernetes

התכונות של Kubernetes הן כדלקמן:

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

מדריך Kubernetes: אדריכלות קוברנטס

ארכיטקטורת Kubernetes כוללת את המרכיבים העיקריים הבאים:

  • צמתים ראשיים
  • עובד / צמתים עבדים

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

צומת ראשי

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

כפי שניתן לראות בתרשים לעיל, לצומת הראשי ישנם רכיבים שונים כמו שרת API, מנהל בקר, מתזמן ו- ETCD.

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

עובד / צמתים עבדים

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

כפי שניתן לראות בתרשים לעיל, לצומת העובדים יש רכיבים שונים כמו Docker Container, Kubelet, Kube-proxy ו- Pods.

  • מיכל דוקר: Docker פועל על כל אחד מצמתי העובד ומפעיל את התרמילים שהוגדרו
  • קובלט: Kubelet מקבל את התצורה של Pod משרת ה- API ומוודא שהמכולות המתוארות פועלות.
  • פרוקסי קובה: Kube-proxy פועל כ- proxy רשת ומאזן עומסים עבור שירות בצומת עובד יחיד
  • תרמילים: תרמיל הוא מיכל אחד או יותר שרצים באופן לוגי יחד על צמתים.

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

רוצה לקבל הסמכה בקוברנטס?

מדריך Kubernetes: מקרה מקרה של קוברנטס

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

בְּעָיָה: כיצד ליצור תמונות לכל הפלטפורמות הנדרשות מקוד יישום אחד, ולפרוס את התמונות הללו על כל פלטפורמה?

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


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

משתמשים במופעים של OpenStack, עם Docker, Kubernetes, Calico, וכו 'על גבי זה כדי לבצע פעולות שונות כמו Container Networking, Container Registry וכן הלאה.

כשיש לך מספר אשכולות, אז זה הופך להיות קשה לנהל אותם נכון?

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

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


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

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

מדריך מושלים: הידיים

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

מה זה שעועית ג'אווה

שלב 1: ראשון ליצור תיקיה בתוכו תיצור את הפריסה והשירות שלך. לאחר מכן, השתמש בעורך וב- פתח קובץ פריסה .

mkdir handsOn cd handsOn vi Deploy.yaml

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

apiVersion: apps / v1 # מגדיר את סוג גרסת ה- API: פריסה #Kinds פרמטר מגדיר איזה סוג קובץ זה, כאן זה מטא נתונים פריסה: שם: dep1 # מאחסן את שם מפרט הפריסה: # תחת מפרטים, אתה מזכיר את כולם המפרט לשכפולי הפריסה: 3 # מספר ההעתקים יהיה 3 בורר: matchLabels: אפליקציה: httpd # שם התווית שתבצע חיפוש הוא תבנית httpd: metadata: labels: app: httpd # שם התבנית יהיה httpd spec: # Under מפרטים, אתה מציין את כל המפרט עבור מכולות המכולות: - שם: httpd # שם המכולות יהיה httpd תמונה: httpd: האחרונה # התמונה שיש להוריד היא httpd: היציאות האחרונות: - containerPort: 80 # היישום ייחשף בנמל 80

שלב 3: לאחר כתיבת קובץ הפריסה שלך, החל את הפריסה באמצעות הפקודה הבאה.

kubectl להחיל -f Deploy.yaml

כאן -f הוא שם דגל המשמשtהוא מגיששֵׁם.

שלב 4: כעת, לאחר החלת הפריסה, קבל את רשימת התרמילים הפועלים.

kubectl לקבל תרמילים -כדי רחב

כאן, -o רחב משמשים כדי לדעת על איזה צומת פועלת הפריסה.

שלב 5: לאחר שיצרת פריסה, כעת עליך ליצור שירות. לשם כך השתמש שוב בעורך ופתח ריק שֵׁרוּת. קובץ yaml .

vi service.yaml

שלב 6: ברגע שפותחים קובץ שירות, ציינו את כל המפרט לשירות.

apiVersion: v1 # מגדיר את סוג גרסת ה- API: פרמטר Service #Kinds מגדיר איזה סוג קובץ הוא, כאן מדובר במטא נתונים: שם: netsvc # מאחסן את שם מפרט השירות: # תחת מפרטים, אתה מזכיר את כל המפרט לסוג השירות: בורר NodePort: אפליקציה: יציאות httpd: -protocol: יציאת TCP: 80 targetPort: 8084 # מספר הנמל של המטרה הוא 8084

שלב 7: לאחר כתיבת קובץ השירות שלך, החל את קובץ השירות באמצעות הפקודה הבאה.

kubectl להחיל -f service.yaml

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

kubectl קבל svc

שלב 9: כעת, כדי לראות את מפרטי השירות ולבדוק באיזה נקודת קצה מדוברקשור ל, השתמש בפקודה הבאה.

kubectl לתאר svc

שלב 10: כעת מכיוון שאנו משתמשים במופע אמזון ec2, כדי להביא את דף האינטרנט ולבדוק את הפלט, השתמש בפקודה הבאה.

כתובת ip תלתל

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

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות של ” מדריך Kubernetes ”ואחזור אליך.