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 פועל:
- אתם מתארים את התשתית שאתם רוצים להקצות בקובץ תצורה של Terraform. אין צורך לכתוב קוד שמתאר איך להקצות את התשתית. Terraform מקצה את התשתית בשבילכם.
- מריצים את הפקודה
terraform plan, שמעריכה את ההגדרות ומפיקה תוכנית ביצוע. אפשר לבדוק את התוכנית ולבצע שינויים לפי הצורך. -
מריצים את הפקודה
terraform apply, שמבצעת את הפעולות הבאות:- הוא מקצה את התשתית על סמך תוכנית הביצוע על ידי הפעלת ממשקי ה-API המתאימים של GKE ברקע.
- הפקודה יוצרת קובץ מצב של Terraform, שהוא קובץ JSON שממפה את המשאבים בקובץ ההגדרות למשאבים בתשתית בעולם האמיתי. Terraform משתמש בקובץ הזה כדי לשמור תיעוד של המצב האחרון של התשתית, וכדי לקבוע מתי ליצור, לעדכן ולכבות משאבים.
-
כשמריצים את הפקודה
terraform apply, Terraform משתמש במיפוי שבקובץ המצב כדי להשוות בין התשתית הקיימת לבין הקוד, ומבצע עדכונים לפי הצורך:- אם אובייקט של משאב מוגדר בקובץ התצורה, אבל לא קיים בקובץ המצב, Terraform יוצר אותו.
- אם אובייקט משאב קיים בקובץ המצב, אבל יש לו הגדרה שונה מזו שבקובץ התצורה, Terraform מעדכן את המשאב כך שיתאים לקובץ התצורה.
- אם אובייקט משאב בקובץ המצב תואם לקובץ התצורה, Terraform לא משנה את המשאב.
משאבים של Terraform ל-GKE
משאבים הם הרכיבים הבסיסיים בשפת Terraform. כל בלוק של משאבים מתאר אובייקט תשתית אחד או יותר, כמו רשתות וירטואליות או מופעי מחשוב.
בטבלה הבאה מפורטים המשאבים של Terraform שזמינים ל-GKE:
מדריכים ל-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. |
המאמרים הבאים
- דוגמאות לקוד Terraform ל-GKE
- מסמכי תיעוד של Terraform Google Cloud
- Google Cloud מסמכי התיעוד של ספק ב-HashiCorp
- תשתית כקוד ל- Google Cloud