28 أسئلة وأجوبة مقابلة Terraform في الوقت الحقيقي

فيما يلي 28 من الأسئلة والأجوبة الخاصة بمقابلة Terraform في الوقت الفعلي مع قائمة وشرح للأوامر المهمة التي غالبًا ما تُطرح في المقابلات.

أدى الارتفاع في استخدام تقنيات السحابة إلى فتح الكثير من الفرص في عالم DevOps. في المستقبل ، ستكون تقنيات السحابة موضوعًا شائعًا لأسئلة المقابلة ، والمعرفة الأساسية بالسحابة والبنية التحتية كرمز ، ستكون أدوات IAC ضرورية لأدوار DevOps.

جدول المحتويات

ما هو Terraform؟

Terraform هي واحدة من أكثر أدوات IAC شيوعًا التي يستخدمها كل مهندس سحابي. يسمح لنا بتعريف كل من الموارد السحابية والمحلية في ملفات التكوين التي يمكن للبشر قراءتها ، وبالتالي توفير هذه الموارد برمجيًا. الميزة الأكثر بروزًا لـ Terraform هي أنه ، على عكس معظم أدوات IAC الموجودة هناك ، لا يقتصر على مزود خدمة سحابية واحد. يمكنك استخدام Terraform لتشغيل تطبيقاتك على منصات سحابية متعددة في وقت واحد.

إذا كنت تتساءل عن التقنيات التي يدعمها terraform ، فإليك قائمة صغيرة:

للمضي قدمًا في حياتك المهنية كمهندسين DevOps أو Cloud Architects أو Developers أو Administrators ، سيتعين عليك مواجهة أسئلة مقابلة Terraform. لقد قمنا بتجميع قائمة بأهم أسئلة مقابلة Terraform التي من المفترض أن تساعدك على تعزيز معرفتك بـ Terraform.

  كيفية استخدام لوحة المفاتيح مع BlueStacks محاكي الأندرويد

أسئلة وأجوبة مقابلة Terraform العامة

# 1. ماذا تفهم من Terraform؟

Terraform هي أداة IAC مفتوحة المصدر تم إنشاؤها بواسطة HashiCorp. يتم استخدامه لإنشاء البنية التحتية الخاصة بك وتحديثها وحذفها وإصدارها على منصات سحابية متعددة.

# 2. ما أسباب اختيار Terraform لـ DevOps؟

لا يترك استخدام Terraform لتوفير البنية التحتية أي مجال للأخطاء البشرية ، وبالتالي تحسين جودة واتساق وكفاءة السحابة والبنية التحتية المحلية. يستخدم Terraform لغة HCL ، والتي تشبه إلى حد ما JSON وسهلة التعلم والاستخدام. على عكس أدوات IAC الأخرى التي يقدمها موفرو السحابة مثل Cloudformation for AWS ، يمكننا استخدام Terraform مع عدد من الأنظمة الأساسية السحابية في وقت واحد. هذا يتجنب الحاجة إلى تعلم أدوات IAC متعددة ويحسن نطاق التعاون.

# 3. كيف يعمل Terraform؟

يستخدم Terraform مكونات إضافية تسمى موفرو Terraform للتفاعل مع واجهات برمجة التطبيقات على Cloud Platforms وتوفير مواردنا. كمستخدم نهائي ، يتكون سير عمل Terraform من ثلاث خطوات.

الكتابة: تأليف البنية التحتية كرمز.

الخطة: معاينة التغييرات التي سيجريها Terraform قبل التقديم.

تطبيق: توفير البنية التحتية وتطبيق التغييرات.

# 4. ماذا تقصد ب Terraform cloud؟

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

# 5. ماذا تفهم حسب الدولة في Terraform؟

كأداة IAC ، يجب أن يعرف terraform الحالة الحالية للتكوينات والبنية التحتية تحت إدارتها. يخزن Terraform هذه المعلومات في ملف يسمى ملف الحالة.

# 6. ما هي فائدة Terraform State؟

يسمح Terraform State لـ Terraform بتعيين موارد العالم الحقيقي لتكوينك ، وتتبع البيانات الوصفية ، وتحسين الأداء عند التخطيط للتغييرات للبنى التحتية المعقدة. إنه عنصر حاسم في Terraform.

# 7. ماذا تفهم من Terraform Backend؟

Terraform backend هو النظام الأساسي حيث يتم تخزين لقطات Terraform State Snapshots. بشكل افتراضي ، يستخدم Terraform واجهة خلفية تسمى local to store state كملف محلي على القرص الخاص بك. جميع الخلفيات الأخرى المدعومة هي نوع من خدمة التخزين عن بعد.

# 8. ما هو المزود في Terraform؟

الموفرون في Terraform عبارة عن مكونات إضافية تسمح لـ Terraform بالتفاعل مع موفري السحابة وموفري SaaS وواجهات برمجة التطبيقات الأخرى. على سبيل المثال ، إذا كنا نخطط لاستخدام Terraform لتوفير البنية التحتية على AWS ، فسنحتاج إلى الإعلان عن مزود AWS في ملفات التكوين الخاصة بنا.

# 9. من يحافظ على مزودي Terraform؟

يتم توزيع مقدمي الخدمة بشكل منفصل عن Terraform نفسها. كمستخدم Terraform ، يمكن لأي شخص تطوير مقدمي الخدمات الخاصة بهم. هناك بعض المزودين المعياريين الذين يتم صيانتهم بشكل صريح بواسطة Hashicorp.

# 10. ما هو الحارس؟

الحارس هي سياسة كأداة رمز تُستخدم لفرض التكوينات القياسية للموارد التي يتم نشرها بواسطة Terraform. يمكن استخدامه من قبل المنظمات لأغراض الامتثال والحوكمة.

رقم 11. ماذا تفهم بالوحدات النمطية في Terraform؟

وحدة Terraform هي حاوية قياسية لموارد متعددة تُستخدم معًا لتوفير الموارد وتكوينها. على سبيل المثال ، يمكنك إنشاء “وحدة VPC” لمؤسستك التي توفر VPC قياسيًا وموارد أخرى مثل الشبكات الفرعية وبوابات الإنترنت. يمكن مشاركة الوحدات بشكل عام عبر سجل الوحدة العامة وبشكل خاص عبر سجل الوحدة النمطية الخاصة.

رقم 12. ما فائدة استخدام الوحدات النمطية في Terraform؟

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

  5G إي ليس حقيقيًا 5G. إليك ما تحتاج إلى معرفته

# 13. ما هو سجل الوحدة النمطية الخاصة؟

تتيح لنا ميزة Terraform Cloud لسجل الوحدة النمطية الخاصة مشاركة وحدات Terraform عبر مؤسستنا.

أسئلة وأجوبة مقابلة Terraform المتقدمة

# 14. كيف يمكننا تصدير البيانات من وحدة إلى أخرى؟

يمكننا تصدير البيانات من وحدة عن طريق تحديد كتل الإخراج في ملفات تكوين الوحدة. يمكن بعد ذلك نقل هذه البيانات كمعامل إلى الوحدة النمطية الوجهة.

# 13. كيف يمكنك تحديد التبعيات في Terraform؟

يحتوي Terraform على إدارة تبعية مضمنة. Terraform له نوعان من التبعيات بين الموارد – التبعيات الضمنية والصريحة.

يتم اكتشاف التبعيات الضمنية ، كما يوحي الاسم ، بواسطة Terraform تلقائيًا. هذا عندما يتم استخدام ناتج “المورد أ” في “المورد ب”. يكتشف Terraform تلقائيًا أن “المورد ب” يجب إنشاؤه فقط بعد “المورد أ”

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

# 14. من هم المزودون في Terraform؟

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

  • local-exec: لاستدعاء نص على الجهاز الذي يقوم بتشغيل Terraform.
  • remote- exec: استدعاء برنامج نصي على مورد بعيد بعد إنشائه.

يُقصد باستخدام مقدمي الخدمة فقط كملاذ أخير في Terraform.

#15. ما هي كتلة البيانات الخارجية في Terraform؟

تمامًا مثل مزوّد exec المحلي ، يمكن استخدام أداة نقل البيانات الخارجية لتشغيل البرامج النصية على الأجهزة التي تشغّل Terraform. يتمثل الاختلاف بين الموفر وكتلة البيانات الخارجية في أن البرامج النصية الموجودة في كتلة البيانات الخارجية يمكنها إرجاع البيانات بتنسيق JSON ، بينما لا يمكن لمقدمي الخدمة إرجاع أي مخرجات. من المهم ملاحظة أن كتل البيانات الخارجية يُقصد بها أيضًا أن تكون الملاذ الأخير ولا ينبغي استخدامها إذا كان هناك بديل أفضل.

# 16. كيف يمكن لشخصين يستخدمان سحابة Terraform إنشاء مجموعتين مختلفتين من البنية التحتية باستخدام نفس دليل العمل؟

باستخدام مساحات عمل مختلفة. يمكن لهؤلاء المستخدمين بدء تشغيل Terraform في مساحتي عمل منفصلتين. تحتوي كل مساحة عمل على ملف حالة خاص بها ، وطالما أن الموارد لا تتداخل ، يمكن لكل من المستخدمين توفير مجموعتين مختلفتين من البنية التحتية بنجاح باستخدام نفس الرمز.

# 17. ماذا يحدث عندما يبدأ العديد من المهندسين في نشر البنية التحتية باستخدام نفس ملف الحالة؟

Terraform له ميزة مهمة جدًا تسمى “تأمين الحالة”. تضمن هذه الميزة عدم إجراء أي تغييرات على ملف الحالة أثناء التشغيل وتمنع ملف الحالة من التلف. من المهم ملاحظة أنه ليست كل الخلفيات الخلفية لـ Terraform تدعم ميزة قفل الحالة. يجب عليك اختيار الخلفية الصحيحة إذا كانت هذه الميزة مطلوبة.

# 18. ما هو مورد فارغ في Terraform؟

المورد الفارغ للتهيئة هو تكوين يتم تشغيله مثل كتلة موارد التضاريس القياسية ولكن لا يُنشئ أي موارد. قد يبدو هذا وكأنه مصدر غريب وغير مفيد ، ولكن قد يكون من المفيد في مواقف مختلفة التغلب على القيود في Terraform.

# 19. كيف يمكنك استخدام نفس المزود في Terraform بتكوينات مختلفة؟

باستخدام وسيطة الاسم المستعار في كتلة الموفر.

  8 أدوات رائعة لتتبع الإعلانات للمسوقين

# 20. لديك ملف تكوين Terraform بدون موارد. ماذا يحدث عند تشغيل أمر تطبيق terraform؟

Terraform سيدمر كل الموارد. بدء تشغيل فارغ باستخدام أمر تطبيق terraform هو نفسه تمامًا بدء تشغيل تشغيل تدمير terraform.

رقم 21. ماذا يحدث إذا تم إنشاء مورد بنجاح في terraform ولكنه فشل أثناء التوفير؟

هذا سيناريو غير محتمل ، ولكن عند حدوث ذلك ، يتم تمييز المورد على أنه ملوث ويمكن إعادة إنشائه عن طريق إعادة تشغيل مسار التضاريس.

رقم 22. ما هي قيمة متغير TF_LOG التي توفر أكثر تسجيل مطول؟

TRACE هي القيمة الأكثر طولًا والقيمة الافتراضية لمتغير TF_LOG.

رقم 23. كيف يمكنك استيراد الموارد الموجودة ضمن إدارة Terraform؟

باستخدام أمر استيراد terraform.

رقم 24. ما الأمر الذي يمكن استخدامه لمعاينة خطة تنفيذ terraform؟

يُنشئ أمر خطة terraform خطة التنفيذ للتغييرات التي سيجريها Terraform على البنية التحتية.

# 25. ما الأمر الذي يمكن استخدامه للتوفيق بين حالة Terraform والبنية التحتية الفعلية في العالم الحقيقي؟

يتم استخدام الأمر terraform application -refresh-only للتوفيق بين حالة Terraform والبنية التحتية الواقعية الفعلية. إنه البديل الجديد لأمر تحديث terraform ، والذي تم إهماله الآن.

# 26. ما الأمر الذي يمكن استخدامه للتبديل بين مساحات العمل عند استخدام Terraform Cloud؟

يتم استخدام أمر تحديد مساحة عمل terraform لاختيار مساحة عمل مختلفة.

رقم 27. ما الأمر الذي يتم استخدامه لإجراء التحقق من بناء الجملة على ملفات تكوين terraform؟

يتم استخدام أمر التحقق من صحة terraform للتحقق مما إذا كان التكوين صالحًا من الناحية التركيبية ومتسقًا داخليًا.

رقم 28. ما الأمر المستخدم لإنشاء مساحات عمل جديدة في سحابة Terraform؟

يتم استخدام أمر مساحة عمل terraform الجديد لإنشاء مساحة عمل جديدة.

بعض أوامر terraform المهمة الأخرى للمقابلات الفنية.

  • تهيئة terraform: تهيئة الخلفيات البعيدة ؛ موفرو التنزيلات والوحدات النمطية البعيدة المحددة في التكوين الخاص بك.
  • terraform init -upgrade: تستخدم لترقية مقدمي الخدمة الحاليين الذين تم تنزيلهم.
  • خطة التضاريس: تنشئ خطة التنفيذ لإنشاء البنية التحتية أو تحديثها.
  • تطبيق terraform: إنشاء البنية التحتية أو تحديثها بعد طلب التأكيد من المستخدم.
  • تطبيق terraform – الموافقة التلقائية: إنشاء البنية التحتية أو تحديثها ؛ تم تخطي مرحلة موافقة المستخدم.
  • تدمير التضاريس: حذف البنية التحتية بعد طلب التأكيد من المستخدم.
  • تدمير التضاريس – الموافقة التلقائية: حذف البنية التحتية ؛ تم تخطي مرحلة موافقة المستخدم.
  • terraform fmt: يمسح الدليل الحالي لملفات التكوين وينسقها وفقًا لنمط وصيغة HCP الكنسي.
  • terraform fmt –recursive: يمسح الدليل الحالي بالإضافة إلى الدلائل الفرعية لملفات التكوين وتنسيقها وفقًا لنمط وصيغة HCP الكنسي.
  • عرض التضاريس: يوفر إخراجًا يمكن قراءته من قِبل الإنسان من ملف الحالة أو الخطة.

آمل أن تساعدك المعلومات الواردة أعلاه في الحصول على وظيفة Terraform.