GKE מבוסס על פלטפורמת הקוד הפתוח Kubernetes לתזמור בין קונטיינרים, והרבה מהמסמכים באתר הזה מניחים שאתם כבר מכירים את המושגים והמונחים הבסיסיים של Kubernetes. אם אתם לא מכירים את Kubernetes, בדף הזה יש סקירה כללית מהירה של היסודות, עם קישורים לחומרי קריאה מומלצים שיעזרו לכם להתחיל.
מושגים מרכזיים
בהמשך מפורטים כמה מושגי מפתח שבהם אנחנו משתמשים במסמכי התיעוד של GKE. זוהי רשימה חלקית של מושגי Kubernetes. תוכלו למצוא מידע נוסף בנושאים שמופיעים במסמכי התיעוד של Kubernetes ובחומרי הקריאה המומלצים שלנו.
צמתים ואשכולות
כל עומסי העבודה של Kubernetes פועלים בצמתים. ב-GKE, צומת הוא מכונה וירטואלית (VM) של Compute Engine. בפלטפורמות אחרות של Kubernetes, צומת יכול להיות מכונה פיזית או וירטואלית. כל צומת מנוהל על ידי מישור הבקרה של Kubernetes, ויש בו את כל הרכיבים שנדרשים להפעלת Pods. קלאסטר הוא קבוצה של צמתים שאפשר להתייחס אליהם כישות אחת, שבה פורסים אפליקציה מבוססת-קונטיינר.
מידע נוסף זמין במסמכי התיעוד של Kubernetes:
מרחבי שמות
מרחבי שמות של Kubernetes מספקים מנגנון לקיבוץ ולבחירה של משאבים נוספים, כמו Pods ו-Services בתוך אשכול, למשל אם יש לכם כמה צוותי אפליקציות שמריצים עומסי עבודה באשכול יחיד.
מידע נוסף זמין במאמרי העזרה של Kubernetes:
קבוצת Pod
ב-Kubernetes, אפליקציות בקונטיינרים פועלות בתוך Pod. Pod הוא יחידת המחשוב הקטנה ביותר שאפשר לפרוס, ליצור ולנהל ב-Kubernetes. פוד מכיל קונטיינר אחד או יותר. כש-Pod מריץ כמה קונטיינרים (לדוגמה, שרת אפליקציות ושרת proxy), הקונטיינרים מנוהלים כישות אחת וחולקים את המשאבים של ה-Pod.
מידע נוסף זמין במסמכי התיעוד של Kubernetes:
שלטים רחוקים
בקרי Kubernetes עוקבים אחרי המצב של האשכולות ועומסי העבודה ומנהלים אותו על סמך המצב הרצוי שאתם מציינים (לדוגמה, 'אני רוצה להפעיל שלושה פודים כאלה באשכול הזה, עם הקונטיינר הזה בכל פוד'). בקרים שונים עוקבים אחרי סוגים שונים של משאבים ב-Kubernetes, כולל:
- פריסות: פריסה היא אובייקט Kubernetes שמייצג קבוצת Pod אחת או יותר זהות, שנקראות עותקים משוכפלים. פריסה מריצה כמה רפליקות של Pods שמופצים בין הצמתים של אשכול. פריסה מחליפה באופן אוטומטי כל Pod שנכשל או מפסיק להגיב.
- StatefulSet: StatefulSet דומה ל-Deployment, אבל הוא שומר על זהות ייחודית קבועה לכל אחד מה-Pods שלו. יכול להיות ש-StatefulSets יהיו שימושיים באפליקציות עם מצב מתמשך (אפליקציות עם מצב).
- DaemonSets: באמצעות DaemonSet של Kubernetes אפשר להוסיף קבוצות Pod שמוגדרות כברירת מחדל לחלק מהצמתים או לכולם. בדרך כלל אלה שירותי "עזר" לעומסי העבודה, כמו דימון לאיסוף יומנים או דימון למעקב.
- ReplicaSets: ReplicaSet הוא קבוצה של Pods זהים. בדרך כלל, ReplicaSet מנוהל כחלק מ-Deployment.
מידע נוסף זמין במסמכי התיעוד של Kubernetes:
Kubernetes Service
כברירת מחדל, אי אפשר לקבוע באיזה צומת באשכול פועל Pod, ולכן ל-Pods אין כתובות IP יציבות. כדי לקבל כתובת IP לאפליקציה שפועלת ב-Kubernetes, צריך להגדיר הפשטה של הרשת מעל ה-Pods שלה, שנקראת Kubernetes Service. שירות Kubernetes מספק נקודת קצה יציבה ברשת לקבוצה של Pods.
יש כמה סוגים של שירותים, כולל שירותי 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 וכלים אחרים, מתזמן לתזמון Pods בצמתים זמינים ובקרים שעוקבים אחרי מצב האשכול ומנהלים אותו. ב-GKE, מישור הבקרה מסופק ומנוהל על ידי Google Cloud.
מידע נוסף זמין במסמכי התיעוד של Kubernetes:
בקרת גישה מבוססת-תפקידים (RBAC)
Kubernetes כולל מנגנון בקרת גישה מבוססת-תפקידים (RBAC) שמאפשר ליצור כללי מדיניות הרשאה לגישה לאשכולות ולמשאבים שלהם. כשמשתמשים ב-GKE, בדרך כלל משתמשים בשילוב של Kubernetes RBAC ושל הממשק לניהול זהויות והרשאות גישה (IAM) של 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, מאפליקציות עם שמירת מצב (stateful) ועד אבטחה.
מאמרי עזרה
- מילון המונחים של Kubernetes: רשימה מקיפה וסטנדרטית של מונחים ב-Kubernetes. אם אתם לא בטוחים לגבי מונח מסוים ב-Kubernetes, כאן תוכלו לחפש אותו.
סרטונים
- Learn Kubernetes with Google: פלייליסט של סרטוני הדרכה מ-Google בנושא תכונות ופונקציות שונות של Kubernetes, עם חומרים למפתחים ולמפעילים.
קומיקס
- קומיקס על Kubernetes: ההיסטוריה של Kubernetes ואיך משתמשים בו לאינטגרציה רציפה (CI) ולפריסה רציפה (CD), בעזרתה הבלתי צפויה של אלת החוכמה (ואפליקציות בקונטיינרים).