مقدمو Terraform

Mqdmw 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'

نوع المثيل = 't3.small'

العلامات = {

الاسم = 'مثيل جديد'

}

}

أولاً ، نحدد كتلة الموفر ، ونحدد مزود AWS والمنطقة التي يتم فيها إنشاء الموارد. بعد ذلك ، نحدد كتلة مواردنا على أنها تتكون من aws_instance كنوع المورد ، و 'myEC2' كاسم المورد و 'ami' و 'نوع_المثيل' و 'العلامات' كسمات. يمكن تقسيم نوع المورد إلى قسمين: الموفر والمورد. في هذه الحالة ، 'aws' هو الموفر ، و 'المثيل' هو المورد. أيضًا ، إذا احتاج شخص ما إلى توفير عشر مثيلات EC2 ، فيمكن استخدام سمة 'count' مع عشرة كقيمة.

الآن ، يمكننا تنفيذ تدفق Terraform الذي يتضمن تنفيذ أوامر terraform وخطة terraform وتطبيق terraform لإنشاء المورد الذي حددناه.

باستخدام موفر Terraform AWS ، يمكننا الوصول إلى منصة AWS السحابية والتفاعل مع خدماتها بكفاءة دون استخدام وحدة الإدارة في AWS.

استخدام عدة موفرين في Terraform

بدلاً من استخدام مزود واحد ، يسمح لنا Terraform باستخدام عدة مزودين داخل نفس ملف تكوين Terraform للتفاعل مع أنواع مختلفة من الخدمات والأنظمة الأساسية السحابية.

لتفهمك ، دعنا نحصل على مثال حيث ننشر محرك حوسبة في Google Cloud Platform ، ومستودعًا في GitHub ، وحاوية S3 في النظام الأساسي السحابي لـ AWS.

مزود 'جوجل' {

مشروع = 'المشروع الأول'

المنطقة = 'us-west1'

}

مزود 'جيثب' {

رمز = 'YOUR_GITHUB_TOKEN'

}

مزود 'عذر' {

الإصدار = '~> 3.0'

المنطقة = 'us-west-2'

}

الموارد 'google_compute_instance' 'gcpInstance' {

الاسم = 'مثيل جديد'

نوع الجهاز = 'n1-standard-1'

المنطقة = 'us-west1-a'

قرص التشغيل {

Initize_params {

الصورة = 'debian-cloud / debian-10'

}

}

}

الموارد 'github_repository' 'gitRepo' {

الاسم = 'ريبو جديد'

الوصف = 'هذا هو مستودعي الجديد'

}

الموارد 'aws_s3_bucket' 'awsBucket' {

دلو = 'دلو جديد'

acl = 'خاص'

}

كخطوة أولى ، نحدد مجموعات الموفر لدينا لتحديد المزودين (Google و GitHub و AWS) والمعلومات الضرورية مثل المنطقة واسم المشروع وما إلى ذلك. ثم نعلن عن مواردنا باستخدام ثلاث مجموعات من الموارد: 'gcpInstance' ، ' gitRepo 'و' awsBucket '.

أولاً ، قمنا بإنشاء محرك حوسبة في Google Cloud Platform باستخدام 'مثيل جديد' كاسم ، و 'n1-standard-1' كنوع الجهاز ، و 'us-west1-a' كمنطقة الإتاحة. يستخدم دبيان باعتباره نظام التشغيل المضيف. بعد ذلك ، نقوم بإنشاء مستودع GitHub باسم 'new-repo' ووصف مناسب. أخيرًا ، يتم إنشاء حاوية S3 باستخدام 'الحاوية الجديدة' كاسم و 'خاص' كقيمة ACL (قائمة التحكم في الوصول).

مع مزودي Terraform الثلاثة ، يمكننا التفاعل بسهولة مع الأنظمة الأساسية السحابية وخدماتها.

أفضل الممارسات للعمل مع موفري Terraform

مزود الإصدار

يجب أن نحدد إصدار الموفر لأنه يساعد على ضمان الاتساق وتجنب السلوك غير المتوقع بسبب التغييرات الفاصلة في الإصدارات الأحدث.

مصادقة الموفر

يمكننا استخدام آليات المصادقة الآمنة مثل مفاتيح واجهة برمجة التطبيقات ورموز الوصول لمصادقة Terraform وتفويضه للتفاعل مع النظام الأساسي أو الخدمة السحابية المعنية.

توثيق المزود

غالبًا ما يكون للموفرين خيارات وميزات وقيود تكوين محددة. يساعدنا فهم هذا البرنامج التعليمي على استخدام المزود بفعالية وتجنب المزالق الشائعة.

تحديثات الموفر

قد يقوم الموفرون بإصدار إصلاحات للأخطاء وتحسينات في الأداء وميزات جديدة. يتيح لنا البقاء على اطلاع دائم الاستفادة من أحدث التحسينات والحفاظ على التوافق مع النظام البيئي للموفر.

دعم المجتمع

يمكننا استخدام المنتديات عبر الإنترنت ولوحات المناقشة والقنوات المجتمعية لحل التحديات اليومية التي نواجهها أثناء استخدام مقدمي الخدمة.

معالجة الأخطاء واستكشاف الأخطاء وإصلاحها

من الممارسات الجيدة التعرف على رسائل الخطأ والسجلات وتقنيات تصحيح الأخطاء الخاصة بالموفر حتى يساعدنا في تشخيص المشكلات وحلها بشكل أكثر كفاءة.

خاتمة

لقد أخذنا مقدمة موجزة عن موفري Terraform. ناقشنا كيفية استخدامها وتكوينها للتفاعل مع العديد من الأنظمة الأساسية والخدمات السحابية وكيفية استخدام موفري خدمات متعددين لإدارة الموارد عبر منصات وخدمات سحابية مختلفة من خلال أمثلة سهلة الفهم.