הקצאת משאבי GKE באמצעות Terraform

‫HashiCorp Terraform הוא כלי מסוג תשתית כקוד (IaC) שמאפשר להקצות ולנהל תשתית ענן. ‫Terraform מספקת פלאגינים שנקראים providers, שמאפשרים לכם ליצור אינטראקציה עם ספקי ענן וממשקי API אחרים. אתם יכולים להשתמש בספק Terraform ל- Google Cloud כדי להקצות ולנהל משאבי Google Cloud , כולל GKE.

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

הוראות לתחילת העבודה עם Terraform ל- Google Cloudזמינות במאמרים התקנה והגדרה של Terraform או מדריך למתחילים של Terraform ל- Google Cloud .

איך Terraform פועל

ל-Terraform יש תחביר הצהרתי ומבוסס-הגדרות, שאפשר להשתמש בו כדי לתאר את התשתית שרוצים להקצות בפרויקט Google Cloud . אחרי שיוצרים את ההגדרה הזו בקובץ הגדרה אחד או יותר של Terraform, אפשר להשתמש ב-Terraform CLI כדי להחיל את ההגדרה הזו על המשאבים של GKE.

בשלבים הבאים מוסבר איך Terraform פועל:

  1. אתם מתארים את התשתית שאתם רוצים להקצות בקובץ תצורה של Terraform. אין צורך לכתוב קוד שמתאר איך להקצות את התשתית. ‫Terraform מקצה את התשתית בשבילכם.
  2. מריצים את הפקודה terraform plan, שמעריכה את ההגדרות ומפיקה תוכנית ביצוע. אפשר לבדוק את התוכנית ולבצע שינויים לפי הצורך.
  3. מריצים את הפקודה terraform apply, שמבצעת את הפעולות הבאות:

    1. הוא מקצה את התשתית על סמך תוכנית הביצוע על ידי הפעלת ממשקי ה-API המתאימים של GKE ברקע.
    2. הפקודה יוצרת קובץ מצב של Terraform, שהוא קובץ JSON שממפה את המשאבים בקובץ ההגדרות למשאבים בתשתית בעולם האמיתי. ‫Terraform משתמש בקובץ הזה כדי לשמור תיעוד של המצב האחרון של התשתית, וכדי לקבוע מתי ליצור, לעדכן ולכבות משאבים.
    3. כשמריצים את הפקודה terraform apply, ‏ Terraform משתמש במיפוי שבקובץ המצב כדי להשוות בין התשתית הקיימת לבין הקוד, ומבצע עדכונים לפי הצורך:

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

משאבים של Terraform ל-GKE

משאבים הם הרכיבים הבסיסיים בשפת Terraform. כל בלוק של משאבים מתאר אובייקט תשתית אחד או יותר, כמו רשתות וירטואליות או מופעי מחשוב.

בטבלה הבאה מפורטים המשאבים של Terraform שזמינים ל-GKE:

מוצר או שירות של GKE משאב Terraform
Google Kubernetes Engine google_container_cluster
google_container_node_pool
google_gke_hub_feature
google_gke_hub_feature_iam
google_gke_hub_feature_membership
google_gke_hub_fleet
google_gke_hub_membership
google_gke_hub_membership_binding
google_gke_hub_membership_iam
google_gke_hub_membership_rbac_role_binding
google_gke_hub_namespace
google_gke_hub_namespace
google_gke_hub_scope
google_gke_hub_scope_iam
google_gke_hub_scope_rbac_role_binding
גיבוי ל-GKE google_gke_backup_backup_plan
google_gke_backup_backup_plan_iam
google_gke_backup_restore_plan
google_gke_backup_restore_plan_iam

מדריכים ל-GKE שמבוססים על Terraform

בטבלה הבאה מפורטים מדריכים ומדריכים מבוססי Terraform ל-GKE:

מדריך פרטים
יצירת אשכול GKE ופריסת עומס עבודה באמצעות Terraform המאמר מסביר איך ליצור אשכול Google Kubernetes Engine ‏ (GKE) Autopilot ולפרוס עומס עבודה באמצעות Terraform.
הקצאת Cloud Service Mesh באשכול GKE Autopilot איך מגדירים את Cloud Service Mesh מנוהל באשכול GKE Autopilot.
יצירה וניהול של תוויות של מאגרי צמתים ושל אשכולות הסבר על יצירת אשכול עם תוויות.
ניהול משאבי GKE באמצעות תגים הסבר על שימוש בתגים לניהול אשכולות GKE.
יצירת אשכול Autopilot הסבר על יצירת אשכול GKE במצב Autopilot.
הרצת יחידות GPU במאגרי צמתים רגילים ב-GKE המאמר מסביר איך להריץ ולבצע אופטימיזציה של עומסי עבודה שדורשים הרבה משאבי מחשוב, כמו בינה מלאכותית (AI) ועיבוד גרפי, על ידי צירוף של מאיצי חומרה של יחידות עיבוד גרפי (GPU) של NVIDIA®‎ ושימוש בהם בצמתים של אשכולות GKE Standard.
שימוש בדיסקים משניים לאתחול כדי לטעון מראש נתונים או קובצי אימג' של קונטיינרים הסבר על שיפור זמן האחזור של הפעלת עומסי עבודה באמצעות דיסקים משניים לאתחול.
יצירת אשכול המותאם ל-VPC הסבר על הגדרת אשכולות שמותאמים ל-VPC ב-GKE.
פריסת עומסי עבודה של TPU ב-GKEStandard המאמר מסביר איך לבקש ולפרוס עומסי עבודה של אימון, כוונון והסקת מסקנות של מודלים של בינה מלאכותית (AI) ולמידת מכונה (ML) בקנה מידה גדול באמצעות מאיצי Cloud TPU (טנזור פרוססורים) באשכולות GKE Standard.
יצירת מאזן עומסים פנימי הסבר על יצירת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי או מאזן עומסים פנימי ב-GKE.
הוספה וניהול של מאגרי צמתים המאמר מסביר איך להוסיף מאגרי צמתים ולהפעיל אותם באשכולות GKE Standard.
יצירת אשכולות ומאגרי צמתים עם צמתי Arm במאמר הזה מוסבר איך ליצור אשכול GKE Standard או מאגר צמתים עם צמתי Arm, כדי שתוכלו להריץ עומסי עבודה של Arm ב-GKE.
שימוש במשאבים שמורים בתחום מוגדר הסבר על השימוש במשאבים שמורים של Compute Engine ב-GKE.
פריסת מסד נתונים של PostgreSQL עם זמינות גבוהה ב-GKE מאמר שמתאר פריסה של טופולוגיית PostgreSQL עם זמינות גבוהה ב-GKE. ‫PostgreSQL הוא מסד נתונים רלציוני של אובייקטים בקוד פתוח, שידוע במהימנות שלו ובתקינות הנתונים.
הגדרת תמונה של צומת הסבר על הגדרת תמונת צומת לצמתים באשכולות GKE Standard.
יצירת אשכול באמצעות מאגרי צמתים של Windows Server הסבר על יצירת אשכול GKE עם מאגרי צמתים שמופעל בהם Microsoft Windows Server.
הפעלת יחידות GPU מרובות מופעים המאמר מסביר איך להגדיל את הניצול ולהפחית את העלויות באמצעות הפעלת כרטיסי GPU מרובי-מופעים.
השקה מדורגת של שדרוגי אשכולות הסבר על ניהול שדרוגים של אשכולות GKE באמצעות רצף פריסה.
יצירה של אשכול אזורי הסבר על יצירת אשכול אזורי רגיל עם התכונות שמופעלות כברירת מחדל ב-GKE.
הגדרת רשת עבור אשכול בסיסי של סביבת ייצור המאמר מתאר איך פורסים אפליקציית אינטרנט באשכול GKE וחושפים אותה באמצעות מאזן עומסים ב-HTTPS.
איסוף והצגה של מדדי מישור הבקרה מאמר שמסביר איך להגדיר אשכול GKE כדי לשלוח מדדים שמופקים על ידי שרת ה-API של Kubernetes,‏ Scheduler ו-Controller Manager אל Cloud Monitoring באמצעות שירות מנוהל של Google Cloud ל-Prometheus.
איסוף מדדים של cAdvisor/Kubelet וצפייה בהם מאמר שמסביר איך להגדיר אשכול Google Kubernetes Engine ‏ (GKE) כדי לשלוח קבוצה נבחרת של מדדי cAdvisor/Kubelet אל Cloud Monitoring באמצעות השירות המנוהל של Google Cloud ל-Prometheus.
התאמת התפוקה של יומן הרישום המאמר מתאר את קצב העברת הנתונים של יומני ברירת המחדל ומסביר איך להגדיל את קצב העברת הנתונים.
הפעלת הגיבוי ל-GKE באשכול המאמר מתאר איך להפעיל את הגיבוי ל-GKE באשכול.
שינוי משאבים במהלך השחזור במאמר הזה מוסבר איך לבצע שינויים במשאבי Kubernetes במהלך תהליך השחזור באמצעות כללי טרנספורמציה.
הפעלת מצב הרשאה בתוכנית גיבוי הסבר על הפעלת מצב הרשאה בתוכנית גיבוי.
הפעלת Backup for GKE API הסבר על הפעלת גיבוי ל-GKE.
תכנון קבוצה של גיבויים במאמר הזה מוסבר איך ליצור תוכנית גיבוי של Backup for GKE, שמשמשת לגיבוי עומסי העבודה ב-GKE.

מודולים ותוכניות לניהול של Terraform ב-GKE

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

בטבלה הבאה מפורטים מודולים ותוכניות שקשורים ל-GKE:

מודול או תוכנית ניהול פרטים
terraform-google-kubernetes-engine הגדרה של אשכולות GKE מקובעים.
terraform-google-gke-gitlab התקנה של GitLab ב-GKE.

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