ספקי Terraform

Spqy Terraform



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

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

מבוא לספקי Terraform

ספקי Terraform הם תוספים המאפשרים לנו ליצור אינטראקציה עם פלטפורמות ענן ושירותים שונים באמצעות Terraform. ספקים אלו אחראים על תרגום תצורת Terraform לקריאות API אשר נחוצות לניהול המשאבים בפלטפורמת ענן או שירות ספציפיים.







סוגי ספקים ב- Terraform

בתוך ה רישום Terraform , אנו יכולים לראות שלושה סוגים של ספקים:



ספקים רשמיים

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



ספקי AWS, Microsoft Azure ו-Google Cloud Platform יכולים להיות דוגמאות לספקים רשמיים ב-Terraform.





ספקי שותפים

ארגוני צד שלישי מתחזקים את הספקים הללו ושיתפו פעולה עם HashiCorp כדי לספק תמיכה רשמית לשירותיהם.

ספקי GitLab, MongoDB ו-CloudFlare הם כמה ספקי שותפים הזמינים למשתמשים.



ספקי קהילה

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

כמה דוגמאות לספקי קהילה מוצגות בתמונה הבאה:

כיצד להשתמש בספק Terraform

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

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

בואו ניצור קובץ תצורה פשוט של Terraform שיוצר מופע EC2 בפלטפורמת הענן של AWS.

ספק 'אוי' {

גרסה = '~> 3.0'

אזור = 'US-East-2'

}

מַשׁאָב 'aws_instance' 'myEC2' {

אשר = 'ami-0a561b65214a47cac'

instance_type = 't3. קטן'

תגיות = {

שם = 'מופע חדש'

}

}

ראשית, אנו מגדירים את בלוק הספק, ומציינים את ספק ה-AWS ואת האזור שבו נוצרים המשאבים. לאחר מכן, אנו מגדירים את בלוק המשאב שלנו כמורכב מ-aws_instance כסוג המשאב, 'myEC2' כשם המשאב ו-'ami', 'instance_type' ו-'tags' בתור התכונות. ניתן לחלק את סוג המשאב לשני חלקים: ספק ומשאב. במקרה זה, 'aws' הוא הספק, ו-'instance' הוא המשאב. כמו כן, אם מישהו צריך לספק עשרה מופעי EC2, ניתן להשתמש בתכונת 'count' עם עשר כערך.

כעת, אנו יכולים לבצע את זרימת ה- Terraform הכוללת ביצוע של ה-terraform init, תוכנית terraform ופקודות החלת terraform ליצירת המשאב שהגדרנו.

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

שימוש במספר ספקים ב- Terraform

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

להבנתכם, תנו לנו דוגמה שבה אנו פורסים מנוע מחשוב בפלטפורמת הענן של Google, מאגר ב-GitHub ודלי S3 בפלטפורמת הענן של AWS.

ספק 'גוגל' {

פרויקט = 'פרויקט ראשון'

אזור = 'US-west1'

}

ספק 'github' {

אסימון = 'YOUR_GITHUB_TOKEN'

}

ספק 'אוי' {

גרסה = '~> 3.0'

אזור = 'אנחנו-מערב-2'

}

מַשׁאָב 'google_compute_instance' 'gcpInstance' {

שם = 'מופע חדש'

machine_type = 'n1-standard-1'

אזור = 'us-west1-a'

boot_disk {

initialize_params {

תמונה = 'debian-cloud/debian-10'

}

}

}

מַשׁאָב 'github_repository' 'gitRepo' {

שם = 'ריפו חדש'

תיאור = 'זה המאגר החדש שלי'

}

מַשׁאָב 'aws_s3_bucket' 'awsbucket' {

דלי = 'דלי חדש'

acl = 'פְּרָטִי'

}

כשלב הראשון, אנו מגדירים את בלוקי הספקים שלנו כדי לציין את הספקים (Google, GitHub ו-AWS) ואת המידע הדרוש כמו אזור, שם פרויקט וכו'. לאחר מכן, אנו מכריזים על המשאבים שלנו באמצעות שלושה בלוקים של משאבים: 'gcpInstance', ' gitRepo', ו-'awsBucket'.

ראשית, אנו יוצרים מנוע מחשוב ב-Google Cloud Platform עם ה-'new-instance' כשם, 'n1-standard-1' כסוג המכונה, ו-'us-west1-a' כאזור הזמינות. הוא משתמש בדביאן כמערכת ההפעלה המארחת. לאחר מכן, אנו יוצרים מאגר GitHub בשם 'new-repo' ותיאור מתאים. לבסוף, דלי S3 נוצר עם ה-'new-bucket' כשם ו-'private' כערך ACL (Access Control List).

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

שיטות עבודה מומלצות לעבודה עם ספקי Terraform

גרסת ספק

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

אימות ספק

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

תיעוד הספק

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

עדכוני ספק

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

תמיכה בקהילה

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

טיפול בשגיאות ופתרון בעיות

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

סיכום

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