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

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

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

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

איך Terraform עובד

ל-Terraform יש תחביר הצהרתי ומבוסס-הגדרות, שבו אפשר להשתמש כדי לתאר את התשתית שרוצים להקצות בפרויקט Cloud de Confiance . אחרי שיוצרים את ההגדרה הזו בקובץ הגדרה אחד או יותר של 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_channel
google_gke_backup_backup_plan
google_gke_backup_backup_plan_iam
google_gke_backup_restore_channel
google_gke_backup_restore_plan
google_gke_backup_restore_plan_iam

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

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

מדריך פרטים
יצירה של אשכול GKE ופריסה של עומס עבודה באמצעות Terraform הסבר על יצירת אשכול במצב Autopilot ב-Google Kubernetes Engine ‏ (GKE) ופריסת עומס עבודה באמצעות Terraform.
יצירת אשכול Autopilot הסבר על יצירת אשכול GKE במצב Autopilot.
יצירת אשכול אזורי במאמר הזה מוסבר איך ליצור אשכול אזורי רגיל עם התכונות שמופעלות כברירת מחדל ב-GKE.
יצירת אשכול אזורי במאמר הזה מוסבר איך ליצור אשכול אזורי במסלול הרגיל ב-GKE.
יצירת אשכול מרובה דיירים באמצעות Terraform הסבר על יצירת אשכול מרובה דיירים ופריסת עומס עבודה באמצעות Terraform.
הוספה וניהול של מאגרי צמתים במאמר הזה מוסבר איך להוסיף מאגרי צמתים ולהפעיל עליהם פעולות באשכולות GKE Standard.
יצירת אשכולות ומאגרי צמתים עם צמתי Arm הסבר על יצירת אשכול GKE Standard או מאגר צמתים עם צמתי Arm, כדי שתוכלו להריץ עומסי עבודה של Arm ב-GKE.
שימוש במשאבים שמורים בתחום מוגדר הסבר על השימוש במשאבים שמורים של Compute Engine ב-GKE.
הגדרת תמונה של צומת הסבר על הגדרת תמונת צומת לצמתים באשכולות GKE Standard.
יצירת אשכול שמשתמש במאגרי צמתים של Windows Server הסבר על יצירת אשכול GKE עם מאגרי צמתים שבהם פועל Microsoft Windows Server.
יצירה וניהול של תוויות של מאגדים ושל מאגרי צמתים הסבר על יצירת אשכול עם תוויות מצורפות.
ניהול משאבי GKE באמצעות תגים הסבר על השימוש בתגים לניהול אשכולות GKE.
התאמה אישית של הגדרות המערכת של צומת הסבר על התאמה אישית של תצורת מערכת הצמתים ב-GKE באמצעות קובץ תצורת מערכת הצמתים.
יצירת אשכול המותאם ל-VPC הסבר על הגדרת אשכולות שמותאמים ל-VPC ב-GKE.
יצירת מאזן עומסים פנימי הסבר על יצירת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי או מאזן עומסים פנימי ב-GKE.
הגדרת רשת עבור אשכול בסיסי של סביבת ייצור במאמר הזה מוסבר איך פורסים אפליקציית אינטרנט לאשכול GKE וחושפים אותה באמצעות מאזן עומסים ב-HTTPS.
הגדרת רצף לשדרוג האשכולות הסבר על ניהול שדרוגים של אשכולות GKE באמצעות רצף פריסה.
פריסת עומסי עבודה של TPU ב-GKE Standard הסבר על בקשה ופריסה של עומסי עבודה של אימון, כוונון והסקת מסקנות של מודלים של בינה מלאכותית (AI) ולמידת מכונה (ML) בקנה מידה גדול, שמשתמשים במאיצי Cloud TPU (יחידות TPU) באשכולות GKE Standard.
הרצת יחידות GPU במאגרי צמתים רגילים ב-GKE המאמר מסביר איך להריץ ולבצע אופטימיזציה של עומסי עבודה עתירי-חישוב, כמו עומסי עבודה של בינה מלאכותית (AI), על ידי צירוף ושימוש ביחידות GPU של NVIDIA בצמתים של אשכולות GKE Standard.
הפעלת יחידות GPU מרובות מופעים הסבר על הפעלת כרטיסי GPU מרובי-מופעים כדי להגדיל את הניצול ולהפחית את העלויות.
הפעלת Ray Operator ב-GKE הסבר על הפעלת Ray operator ל-GKE.
שימוש בדיסקים משניים לאתחול כדי לטעון מראש נתונים או קובצי אימג' של קונטיינרים הסבר על שיפור זמן האחזור של הפעלת עומסי עבודה באמצעות דיסקים משניים לאתחול.
פריסת מסד נתונים של PostgreSQL עם זמינות גבוהה ב-GKE מאמר שמתאר פריסה של טופולוגיית PostgreSQL עם זמינות גבוהה ב-GKE. ‫PostgreSQL הוא מסד נתונים רלציוני של אובייקטים בקוד פתוח, שידוע במהימנות שלו ובתקינות הנתונים.
איסוף מדדים של מישור הבקרה והצגתם המאמר מתאר איך להגדיר אשכול GKE כדי לשלוח מדדים שמופקים על ידי שרת ה-API של Kubernetes,‏ Scheduler ו-Controller Manager אל Cloud Monitoring באמצעות שירות מנוהל של Google Cloud ל-Prometheus.
איסוף מדדים של cAdvisor/Kubelet וצפייה בהם מאמר שמסביר איך להגדיר אשכול Google Kubernetes Engine‏ (GKE) כדי לשלוח קבוצה נבחרת של מדדי cAdvisor/Kubelet ל-Cloud Monitoring באמצעות השירות המנוהל של Google Cloud ל-Prometheus.
שינוי קצב העברת הנתונים ביומן תיאור של קצב העברת הנתונים של היומנים כברירת מחדל והסבר איך להגדיל את קצב העברת הנתונים.
פריסה של OpenTelemetry מנוהל ל-GKE כאן מוסבר איך להגדיר את Managed OpenTelemetry ל-GKE כדי לשלוח עקבות, מדדים ויומנים של OTLP אל Google Cloud Observability.
איסוף וצפייה ב-kube-state-metrics מאמר שמסביר איך להגדיר אשכול GKE לשליחת מדדי kube-state-metrics ל-Cloud Monitoring באמצעות השירות המנוהל של Google Cloud ל-Prometheus.
התקנה של Policy Controller הסבר על התקנת Policy Controller באמצעות Terraform.
הפעלת גיבוי ל-GKE באשכול במאמר הזה מוסבר איך להפעיל את הגיבוי ל-GKE באשכול.
שינוי מקורות מידע במהלך השחזור הסבר על שימוש בכללי טרנספורמציה כדי לבצע שינויים במשאבי Kubernetes במהלך תהליך השחזור.
הפעלת מצב הרשאה בתוכנית גיבוי הסבר על הפעלת מצב הרשאה בתוכנית גיבוי.
הפעלת Backup for GKE API הסבר על הפעלת גיבוי ל-GKE.
תכנון קבוצה של גיבויים במאמר הזה מוסבר איך ליצור תוכנית גיבוי של Backup for GKE, שמשמשת לגיבוי עומסי העבודה ב-GKE.
רישום אשכול ב- Cloud de Confiance by S3NS ל-Fleet המאמר מסביר איך לרשום אשכול GKE ב- Cloud de Confiance by S3NSל-Fleet שלכם באמצעות Terraform.
התקנה של סנכרון תצורות כברירת מחדל ל-Fleet הסבר על הגדרת סנכרון תצורות כברירת מחדל ברמת ה-Fleet לכל האשכולות החדשים.
ניהול משאבי הצוות בכל המכשירים מוסבר איך להשתמש ב-סנכרון תצורות וב-Terraform כדי ליצור באופן דינמי משאבים בהיקף צוות ב-Fleet של אשכולות.

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

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

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

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

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