יצירת אשכול 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 באזור יחיד כדי ליצור את התשתית הבסיסית שבה יפעל עומס העבודה של האתר.
משכפלים ופורסים את התבנית אשכול GKE באזור יחיד כאפליקציה.
אשכול GKE נוצר בפרויקט הפריסה שבחרתם.
מגדירים את הרכיבים. למידע נוסף, קראו את המאמרים הבאים:
לוחצים על פריסה. הפריסה של האפליקציה מתבצעת אחרי כמה דקות.
בחלונית פרטי האפליקציה, לוחצים על הכרטיסייה פלט.
מזהים את cluster_id של האפליקציה. תצטרכו להשתמש במידע הזה כשפורסים את תרשים ה-Helm.
פריסת עומס העבודה באינטרנט
משתמשים בתבנית Single region GKE workload (עומס עבודה ב-GKE באזור יחיד) כדי לפרוס את עומס העבודה של האינטרנט באשכול שיצרתם. תפרסו תרשים Helm שכולל את ההגדרות של עומס העבודה שלכם באינטרנט.
בדף Google catalog (קטלוג Google), בתבנית Single region GKE workload (עומס עבודה של GKE באזור יחיד), לוחצים על Create new application (יצירת אפליקציה חדשה).
בשדה שם, מזינים שם ייחודי לאפליקציה.
בקטע GKE Deployment Target (יעד הפריסה של GKE), מבצעים את הפעולות הבאות:
ברשימה Project list, בוחרים את הפרויקט שבו פרסתם את אשכול GKE מהאפליקציה Single region GKE cluster.
ברשימה אזור, בוחרים את האזור שבו פרסתם את אשכול GKE.
ברשימה Clusters (אשכולות), בוחרים את אשכול GKE שנפרס.
ברשימה Namespace, מזינים את מרחב השמות שבו פרסתם את אשכול GKE. אם לא שיניתם את השם, מזינים
default.לוחצים על יצירת אפליקציה.
האפליקציה נוצרת ומוצגים קובצי ההגדרות.
בחלונית Helm chart:
בודקים את פרטי ההגדרה.
אופציונלי: אפשר להתאים אישית את ההגדרה לפי הצרכים הייחודיים שלכם.
כדי לפרוס את תרשים ה-Helm לאשכול, לוחצים על Deploy (פריסה).
הוראות מפורטות מופיעות במאמר פריסת אפליקציות.
אחרי כמה דקות, הגדרת תרשים ה-Helm נפרסת באשכול GKE.
המאמרים הבאים
- למידע נוסף על שכפול והתאמה אישית של תבניות, אפשר לעיין במאמר מדריך למתחילים: התאמה אישית ופריסה של תבנית של Google.
- אפשר להגדיר הגדרות משלכם על ידי עיצוב תבניות של אפליקציות.
- כדי לזהות שיטות מומלצות כלליות לארכיטקטורה, אפשר לעיין בGoogle Cloud מסגרת הארכיטקטורה.