GKE מבוסס על פלטפורמת הקוד הפתוח לתזמור בין קונטיינרים Kubernetes, וחלק גדול מהתיעוד באתר הזה מניח שאתם כבר מכירים את המושגים והטרמינולוגיה הבסיסיים של Kubernetes. אם אתם לא מכירים את Kubernetes, בדף הזה תוכלו לקרוא סקירה כללית מהירה של העקרונות הבסיסיים של Kubernetes, עם קישורים לחומרי קריאה מומלצים שיעזרו לכם להתחיל.
מושגים מרכזיים
בהמשך מפורטים כמה מושגים מרכזיים שמופיעים בתיעוד של GKE. זו לא רשימה מלאה של מושגים ב-Kubernetes. אפשר למצוא מידע נוסף לקריאה ולעיון בנושאים שצוינו בתיעוד של Kubernetes וברשימת הקריאה המומלצת שלנו.
צמתים ואשכולות
כל עומסי העבודה של Kubernetes פועלים בצמתים. ב-GKE, צומת הוא מכונה וירטואלית (VM) של Compute Engine. בפלטפורמות אחרות של Kubernetes, צומת יכול להיות מכונה פיזית או וירטואלית. כל צומת מנוהל על ידי מישור הבקרה של Kubernetes ויש בו את כל הרכיבים הדרושים להפעלת Pods. אשכול הוא קבוצה של צמתים שאפשר להתייחס אליהם כישות אחת, שבה פורסים אפליקציה מבוססת-קונטיינר.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
מרחבי שמות
מרחבי שמות של Kubernetes מספקים מנגנון לקיבוץ ולבחירה נוספים של משאבים כמו Pods ושירותים בתוך אשכול, למשל אם יש לכם כמה צוותי אפליקציות שמפעילים עומסי עבודה באשכול יחיד.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
קבוצת Pod
ב-Kubernetes, אפליקציות בקונטיינרים פועלות בתוך Pod. Pod הוא יחידת המחשוב הקטנה ביותר שניתן לפרוס, ליצור ולנהל ב-Kubernetes. ל-Pod יש קונטיינר אחד או יותר. כש-Pod מריץ כמה קונטיינרים (לדוגמה, שרת אפליקציות ושרת proxy), הקונטיינרים מנוהלים כישות אחת וחולקים את המשאבים של ה-Pod.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
שלטים רחוקים
בקרי Kubernetes עוקבים אחרי המצב של האשכולות ועומסי העבודה ומנהלים אותו, על סמך המצב הרצוי שאתם מציינים (לדוגמה, 'אני רוצה להריץ שלושה מופעים של ה-Pod הזה באשכול הזה, עם הקונטיינר הזה בכל Pod'). בקרים שונים עוקבים אחרי סוגים שונים של משאבי Kubernetes, כולל הסוגים הבאים:
- פריסות: פריסה היא אובייקט Kubernetes שמייצג פוד אחד או יותר זהים, שנקראים עותקים. פריסה מפעילה כמה רפליקות של ה-Pods שמפוזרות בין הצמתים של אשכול. פריסה מחליפה באופן אוטומטי כל Pod שנכשל או מפסיק להגיב.
- StatefulSet: StatefulSet דומה ל-Deployment, אבל הוא שומר על זהות ייחודית קבועה לכל אחד מה-Pods שלו. יכול להיות ש-StatefulSets יהיו שימושיים באפליקציות עם מצב מתמשך (אפליקציות עם מצב).
- DaemonSets: DaemonSet של Kubernetes מאפשר להוסיף קבוצות Pod שמוגדרות כברירת מחדל לחלק מהצמתים או לכולם. אלה לרוב שירותים שנועדו לעזור לעומסי העבודה, כמו דמון לאיסוף יומנים או דמון למעקב.
- ReplicaSets: ReplicaSet היא קבוצה של פודים זהים. בדרך כלל, ReplicaSet מנוהל כחלק מ-Deployment.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
Kubernetes Service
כברירת מחדל, אי אפשר לקבוע באיזה צומת של אשכול פועל Pod, ולכן ל-Pods אין כתובות IP יציבות. כדי לקבל כתובת IP לאפליקציה שפועלת ב-Kubernetes, צריך להגדיר הפשטה של הרשת מעל ה-Pods שלה, שנקראת Kubernetes Service. שירות Kubernetes מספק נקודת קצה יציבה ברשת עבור קבוצה של Pod.
יש כמה סוגים של שירותים, כולל LoadBalancer שירותים שחושפים כתובת IP חיצונית כדי שתוכלו להגיע לאפליקציות מחוץ לאשכול שלהן.
ל-Kubernetes יש גם מערכת DNS מובנית לפתרון בעיות של כתובות פנימיות, שמקצה שמות DNS (לדוגמה, helloserver.default.cluster.local) לשירותים. כך, ל-Pods בתוך האשכול תהיה אפשרות להגיע ל-Pods אחרים באשכול באמצעות כתובת יציבה. אי אפשר להשתמש בשם ה-DNS הזה מחוץ לאשכול, למשל מ-Cloud Shell.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
אחסון
אם האפליקציות שלכם צריכות לשמור נתונים שקיימים מעבר לזמן החיים של ה-Pod שלהן (אפליקציות עם מצב), אתם יכולים להשתמש באובייקט PersistentVolume של Kubernetes כדי להקצות את האחסון הזה. ב-GKE, אחסון PersistentVolume מגובה על ידי דיסקים של Compute Engine. אפשר גם לבחור להשתמש באחסון זמני, שנמחק כשה-Pod המתאים מסתיים את הפעולה.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
מישור הבקרה של Kubernetes
מישור הבקרה של Kubernetes הוא קבוצה של רכיבי מערכת שמנהלים את המצב הכללי של האשכול, כולל שרת ה-API של Kubernetes שמאפשר לכם ליצור אינטראקציה עם האשכולות והאפליקציות באמצעות kubectl וכלים אחרים, מתזמן לתזמון של קבוצות Pod בצמתים זמינים ובקרי שעוקבים אחרי מצב האשכול ומנהלים אותו. ב-GKE, מישור הבקרה מסופק ומנוהל על ידי Google Cloud.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
בקרת גישה מבוססת-תפקידים (RBAC)
Kubernetes כולל מנגנון של בקרת גישה מבוססת-תפקידים (RBAC) שמאפשר ליצור מדיניות הרשאה לגישה לאשכולות ולמשאבים שלהם. כשמשתמשים ב-GKE, לרוב משתמשים בשילוב של Kubernetes RBAC ושל ניהול זהויות והרשאות גישה של Google Cloudכדי לאבטח את האפליקציות.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
הצעות לקריאה
בקטע הזה יש קישורים למשאבים מומלצים ללמידה נוספת על Kubernetes. בפרט, באתר הרשמי של Kubernetes, Kubernetes.io, יש הרבה חומר עדכני ומהימן על כל מה שקשור ל-Kubernetes.
מדריכים
- סקירה כללית של Kubernetes: סקירה מושגית מקיפה של Kubernetes. המאמר Why you need Kubernetes and what it can do הוא מבוא מצוין לבעיות ש-Kubernetes יכול לפתור.
- הדרכה: לימוד היסודות של Kubernetes: הסבר על היסודות של Kubernetes באמצעות דוגמה פשוטה.
- הדרכה: מבוא לקונטיינרים: מידע על קונטיינרים ועל תזמור קונטיינרים באמצעות אפליקציה פשוטה לדוגמה, ובסיום האפליקציה תפעל ב-GKE.
- מדריכים ל-Kubernetes: כשמוכנים להתקדם מעבר ליסודות, בחלק הזה של תיעוד Kubernetes יש מדריכים בנושאים שונים של Kubernetes, מאפליקציות עם שמירת מצב ועד אבטחה.
מאמרי עזרה
- מילון מונחים של Kubernetes: רשימה מקיפה וסטנדרטית של מונחים מקצועיים של Kubernetes. אם אתם לא בטוחים לגבי מונח מסוים ב-Kubernetes, תוכלו לחפש אותו כאן.
סרטונים
- Learn Kubernetes with Google: פלייליסט של סרטוני הדרכה מ-Google בנושא תכונות ופונקציות שונות של Kubernetes, עם חומרים למפתחים ולמפעילים.
קומיקס
- קומיקס על Kubernetes: קומיקס שמספר על ההיסטוריה של Kubernetes ואיך להשתמש בו לשילוב ולפיתוח רציפים, בעזרתה הלא צפויה של אלת החוכמה (ואפליקציות בקונטיינרים).