PracticU

terraform apply

בלי כתוביותעם כתוביות
PracticU › קורס Terraform - DevOps - Azure & AWS › terraform apply
מילון מושגים:
Terraform - כלי להגדרת תשתית כקוד, שמאפשר ליצור ולנהל משאבי ענן ותשתית בעזרת קובצי תצורה.
Azure - פלטפורמת הענן של מיקרוסופט, המספקת שרתים, אחסון, מסדי נתונים ושירותים רבים לפי שימוש.
מכונה וירטואלית - מחשב מדומה שרץ כתוכנה על גבי מחשב פיזי, עם מערכת הפעלה ומשאבים משלו, בבידוד מהמערכת המארחת.
ענן - אספקת משאבי מחשוב כשירות דרך האינטרנט, כמו שרתים, אחסון ותוכנות, במקום להחזיק אותם מקומית.
תת-רשת - חלוקה של רשת גדולה לרשתות משנה קטנות יותר, לשם ארגון, ביצועים ואבטחה.
כתובת IP - מספר שמזהה באופן ייחודי מכשיר ברשת מבוססת פרוטוקול IP, ומאפשר לשלוח אליו ולקבל ממנו מידע.

terraform apply
הדגמה של Terraform במלוא העוצמה: קובץ הגדרות אחד שמקים בפקודה אחת שני שרתי Windows ב-Azure, ומוחק אותם בפקודה אחת.
השלבים העיקריים
1. כתיבת הקובץ: את הקוד ב-Terraform ביקשו מ-AI (ChatGPT או Gemini). התיאור כלל Project X, שני שרתים של 2022 בתל אביב, כתובת פרטית בלבד וסיסמת אדמין. את הקוד שומרים בתיקיית הפרויקט בשם main.tf, בגרשיים כדי שלא יתווסף txt.
2. דרישה מקדימה: צריך להיות אפשר ליצור מכונה וירטואלית בפורטל, אחרת יש לרכוש Subscription.
3. terraform init: חד-פעמי בפרויקט. הפקודה קוראת את קבצי ה-tf, מזהה את הענן ומורידה את ה-Provider (תיקיית .terraform, חברת Hashi, Azure) לתיקיית הפרויקט.
4. terraform apply -auto-approve: מקבל את ה-State, בונה Plan (שבעה אובייקטים להוספה) ומבצע. נוצרים Resource Group (המסגרת לכל משאבי הפרויקט), Subnet וכרטיסי רשת.
5. תיקון שגיאה: שם מחשב מוגבל ל-15 תווים וקיבלו 16, בשורה 61. מקצרים את השם ל-Project X-VM-1, ובהרצה חוזרת נוספים רק שני האובייקטים החסרים.
6. פלט: בסוף מתקבלות שתי כתובות IP, ובפורטל רואים שתי מכונות.
7. terraform destroy -auto-approve: משמיד את כל שבעת האובייקטים, כולל הרשת וה-Resource Group, כדי שלא ישולם כסף על שאריות.
שימו לב
בלי כתובת IP ציבורית צריך דרך אחרת להתחבר. הנושא בהרצאה הבאה.
אחרי ההרצאה תוכלו להקים ולהשמיד תשתית ב-Azure עם הפקודות init, apply ו-destroy.
השיעור הבא בקורס: שרת קפיצה Azure Bastion

פרקי ההרצאה: terraform apply

  1. 00:00

    קובץ הגדרות לשתי מכונות

  2. 00:38

    בקשת קוד מ-Gemini

  3. 01:16

    שמירת הקובץ כ-main.tf

  4. 01:56

    בדיקת אפשרות יצירת VM

  5. 02:32

    הרצת Terraform Init

תמלול ההרצאה: terraform apply

הטקסט המלא של הדקות הראשונות בהרצאה «terraform apply» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם. בסרטון זה ניצור קובץ הגדרות עבור Terraform כדי שיעשה לנו שתי מכונות וירטואליות, שני שרתים בענן של Microsoft והכול או-טו-מט. אז כתבתי כאן את הסיפור שלי ל-ChatGPT, שאני מתחיל פרויקט חדש בשם Project X ואני צריך קובץ הגדרות עבור Terraform שיעשה לי ב-Azure, בענן של Microsoft, שני שרתים אלפיים עשרים ושתיים.

  2. 00:30

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

  3. 00:46

    ועכשיו אני פותח דפדפן ומחפש את Gemini של Google. אני מעדיף אותו, הוא עושה פחות טעויות, ומכניס ל-Gemini את כל הבקשה הזאת. הנה קובץ ההגדרות מוכן.

  4. 00:58

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

  5. 01:16

    כרגע, בשלב הראשוני, נתתי ל-AI לכתוב עבורי את כל הקוד, את כל הפקודות בשפת Terraform, ואני שומר את זה בדסקטופ, בתיקייה מיוחדת שעשיתי עבור הפרויקט הזה. מה שחשוב שהקובץ יקרא main נקודה tf.

  6. 01:32

    זה השם המקובל ואני שם אותו בין הגרשיים כדי שהשם הזה יהיה במדויק, שהוא לא יוסיף לי נקודה txt בסוף. בעזרת גרשיים אני מציין לו שזה השם as is. אל תוסיף לקובץ הזה סיומת נקודה txt, כי אני רוצה סיומת Terraform, tf.

  7. 01:50

    סוגר את הכתבן, והנה אנחנו רואים שבתיקייה הזאת יש רק קובץ אחד, main tf, עם כל ההגדרות של המצב הרצוי בענן. שימו לב, חשוב שתהיה לי פה אפשרות לעשות Create ל-Virtual Machine, כי אם אני יכול במסך ליצור מכונה וירטואלית, זה אומר שגם Terraform יצליח ליצור מכונה וירטואלית.

  8. 02:09

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

  9. 02:24

    ואני יכול לעשות dir ולראות שיש לי רק קובץ אחד, main tf, ואפשר לעשות Terraform Init. מה עושה Terraform Init? הוא קורא את כל קבצי ה-tf ומזהה לאיזה ענן

לקורס המלא: קורס Terraform אונליין ל‑DevOps

ההרצאה הקודמת: לוגין לענן - az login

ההרצאה הבאה: שרת קפיצה - Azure Bastion

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio