אשכול GKE ועומס עבודה באזור יחיד

יצירת אשכול Google Kubernetes Engine ‏ (GKE) וסביבת עבודה חסכוניים בעלות, שמיועדים לניהול משאבים במיקום יחיד. במדריך הזה מתוארות התבניות הבאות, שאפשר להשתמש בהן כדי לפרוס אפליקציית אינטרנט בסיסית:

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

  • עומס עבודה ב-GKE באזור יחיד (גרסת Preview): פריסה של תרשים Helm שכולל את ההגדרה של אפליקציית אינטרנט בסיסית. עומס העבודה מוגדר להרחבה על סמך עומס המעבד, כדי להבטיח את זמינות האפליקציה במהלך שיבושים מכוונים.

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

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

ארכיטקטורה

בתמונה הבאה מוצגים הרכיבים והחיבורים בתבנית:

אוסף של צמתים שמחובר למאגר צמתים באזור העיצוב

בטבלה הבאה מתוארות הגדרות הרכיבים בתבנית הזו:

  • אשכול GKE Standard: אשכול חסכוני באזור יחיד שבו פועל עומס העבודה.

    בטבלה הבאה מפורטת הגדרת האשכול בתבנית הזו:

    הגדרות אישיות מטרה
    הערך של location הוא us-central1. המשאבים של האשכול מוגבלים לאזור גיאוגרפי יחיד, וכך נשמרת לוקאליות הנתונים ומצטמצמות העלויות והחביון של העברת נתונים בין אזורים.
    הערך של initial_node_count הוא 1. הגדרה של צומת ראשוני ליצירה במאגר הצמתים שמוגדר כברירת מחדל באשכול, כשהאשכול מוקצה בפעם הראשונה. באשכולות אזוריים, זהו מספר הצמתים לכל אזור.
    הערך של release_channel הוא {"channel":"REGULAR"}. העדכונים האלה מבטיחים שהעדכונים של אשכול GKE יהיו יציבים וצפויים, ויוצרים איזון בין תכונות חדשות לבין מהימנות.
    הערך של enable_intranode_visibility הוא true. האפשרות הזו מאפשרת לראות את התנועה בין הצמתים ביומני הזרימה של VPC, וזה נדרש לצורך מעקב אחרי הרשת, פתרון בעיות וניתוח אבטחה.
    הערך של control_plane_endpoints_config הוא {"dns_endpoint_config":{"allow_external_traffic":true}}. מישור הבקרה של GKE מוגדר כך שניתן לגשת אליו באופן ציבורי, כדי שתוכלו לנהל את האשכול מחוץ לרשת הענן הווירטואלי הפרטי (VPC).
  • מאגר צמתים של GKE: קבוצה של צמתים של עובדים שמריצים את הקונטיינרים של האפליקציה.

    בטבלה הבאה מתוארות ההגדרות של מאגר הצמתים בתבנית הזו:

    הגדרות אישיות מטרה
    הערך של location הוא us-central1. מציינים את האזור שבו נוצר מאגר הצמתים הזה. בדומה למיקום של האשכול, ההגדרה הזו מבטיחה שמשאבי מאגר הצמתים יהיו באזור גיאוגרפי יחיד.
    הערך של autoscaling הוא {"max_node_count":3, "min_node_count":1}. הגדרת התכונה 'שינוי גודל אוטומטי של אשכולות' למאגר הצמתים הזה. כך מוודאים שבמאגר הצמתים תמיד יהיה לפחות צומת אחד, ומגדירים את המגבלה העליונה לשלושה צמתים כדי לשלוט בעלויות ובצריכת המשאבים.
    הערך של node_config הוא {"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}}. הגדרות של קבוצות לצמתים במאגר הזה. סוג המכונה הוא איזון בין מעבד לזיכרון שמתאים לעומסי עבודה לשימוש כללי. הגדרה של הגישה שניתנת לחשבון השירות. האפשרות הזו מפעילה את האתחול המאובטח במכונות וירטואליות מוגנות, ועוזרת להגן מפני תוכנות זדוניות ברמת האתחול.

הגדרת תרשים Helm

בטבלה הבאה מפורטים ההגדרות של תרשימי ה-Helm, שהותאמו לפריסה ולשינוי גודל של אפליקציית אינטרנט בסיסית ב-GKE.

הגדרות אישיות מטרה
replicaCount: 2 יוצר שתי רפליקות ראשוניות כדי ליצור רמת יתירות ראשונית.
image.repository: gcr.io/google-samples/hello-app משתמש בקובץ אימג' של Docker של שרת אינטרנט בסיסי.
resources.requests: {"cpu": "100m", "memory": "128Mi"} מציין את הכמות המינימלית של המעבד והזיכרון שמוקצים לכל פוד, כדי להבטיח שהמשאבים יהיו זמינים ושהתזמון יהיה יעיל.
hpa: {"enabled": true, "minReplicas": 2, "maxReplicas": 10, "targetCPUUtilizationPercentage": 60} מפעיל את Horizontal Pod Autoscaler (HPA) כדי לשנות אוטומטית את מספר ה-Pods בין 2 ל-10 על סמך ניצול המעבד, וכך מבטיח ביצועים וחיסכון בעלויות.
service: {"type": "ClusterIP", "port": 80} הגדרת השירות לגישה פנימית באשכול ביציאת HTTP רגילה.
pdb: {"enabled": true, "minAvailable": 1} ההגדרה מאפשרת להגדיר תקציב לשיבוש Pod כדי להבטיח שלפחות רפליקה אחת יישאר זמין במהלך שיבושים רצוניים, וכך לשמור על זמינות גבוהה.

יצירת אפליקציית אינטרנט

משתמשים בתבניות Single region GKE cluster and workload כדי לפרוס את אפליקציית האינטרנט.

פריסת התשתית של האתר

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

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

    אשכול GKE נוצר בפרויקט הפריסה שבחרתם.

  2. מגדירים את הרכיבים. למידע נוסף, קראו את המאמרים הבאים:

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

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

  5. מזהים את cluster_id של האפליקציה. תצטרכו להשתמש במידע הזה כשפורסים את תרשים ה-Helm.

פריסת עומס העבודה באינטרנט

משתמשים בתבנית Single region GKE workload (עומס עבודה ב-GKE באזור יחיד) כדי לפרוס את עומס העבודה של האינטרנט באשכול שיצרתם. תפרסו תרשים helm שכולל את הגדרות עומס העבודה שלכם באינטרנט.

  1. בדף Google catalog (קטלוג Google), בתבנית Single region GKE workload (עומס עבודה של GKE באזור יחיד), לוחצים על Create new application (יצירת אפליקציה חדשה).

  2. בשדה שם, מזינים שם ייחודי לאפליקציה.

  3. בקטע GKE Deployment Target (יעד הפריסה של GKE), מבצעים את הפעולות הבאות:

    1. ברשימה Project list, בוחרים את הפרויקט שבו פרסתם את אשכול GKE מהאפליקציה Single region GKE cluster.

    2. ברשימה אזור, בוחרים את האזור שבו פרסתם את אשכול GKE.

    3. ברשימה Clusters (אשכולות), בוחרים את אשכול GKE שנפרס.

    4. ברשימה Namespace, מזינים את מרחב השמות שבו פרסתם את אשכול GKE. אם לא שיניתם את השם, מזינים default.

    5. לוחצים על יצירת אפליקציה.

    האפליקציה נוצרת ומוצגים קובצי ההגדרות.

  4. בחלונית Helm chart:

    1. בודקים את פרטי ההגדרה.

    2. אופציונלי: אפשר להתאים אישית את ההגדרה לפי הצרכים הייחודיים שלכם.

    3. כדי לפרוס את תרשים ה-Helm לאשכול, לוחצים על Deploy (פריסה).

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

    אחרי כמה דקות, הגדרת תרשים ה-Helm נפרסת באשכול GKE.

המאמרים הבאים