إنشاء لقطات باستخدام باكر

ما هو باكر؟

Packer هي أداة تصوير خادم تم تطويرها بواسطة HashiCorp. تصوير الخادم ؛ أو بدلاً من ذلك ، بنية تحتية غير قابلة للتغيير ؛ هو بديل شائع لأدوات تكوين وقت التشغيل ، مثل Ansible أو Puppet. يعتمد على فكرة أنه بمجرد نشر الخادم ، لا يمكنك تغييره مطلقًا ؛ بدلاً من ذلك ، يمكنك نشر خادم جديد بالتغييرات التي قمت بها ثم تمزيق الخادم القديم. هذا يجعل صيانة الخادم أسهل ، ويسمح لك بالتوسع بشكل أكثر كفاءة عبر عدد كبير من الأجهزة.

في حين أن Packer لا يدعم Vultr خارج الصندوق ، هناك مكون إضافي يضيف هذا الدعم. يمكن العثور على تعليمات تثبيت Packer مع دعم Vultr على README الخاص بالمكون الإضافي. تفترض بقية هذه المقالة أن لديك مثبت باكر ، فضلا عن البرنامج المساعد Vultr.

كيف تعمل

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

باستخدام باكر

يأخذ Packer ملف JSON يحدد البناء الذي يجب تشغيله كمدخل. فيما يلي نموذج لملف يحدد بنية Vultr:

{
  "variables": {
    "vultr_api_key": "{{env `VULTR_API_KEY`}}"
  },
  "builders": [
    {
      "type": "vultr",
      "api_key": "{{user `vultr_api_key`}}",
      "snapshot_description": "My Awesome App",
      "region_id": "2",
      "plan_id": "201",
      "os_id": "167",
      "ssh_username": "root"
    }
  ]
}

يحتوي هذا الملف على مفتاحين من المستوى الأعلى variablesو builders. و variablesيستخدم المفتاح لتعريف متغيرات مخصصة، وفي هذه الحالة يستخدم لإدراج VULTR_API_KEYمتغير البيئة بطريقة يمكن استخدامها في وقت لاحق. و buildersيحتوي المفتاح قائمة وبالطريقة تشغيل، في هذه الحالة فقط لدينا Vultr بناء. دعونا كسر هذا البناء قليلا:

  • type: يحدد هذا المُنشئ الذي يجب استخدامه فعليًا ، ويجب أن يكون ذلك دائمًا بالنسبة إلى إصدارات Vultr vultr.
  • api_key: من أجل تشغيل البناء ، تحتاج إلى مفتاح API ، الذي تم تعريفه هنا. يعرّفها هذا المثال على أنه قيمة vultr_api_keyمتغير المستخدم ، والذي يتم تعيينه إلى قيمة VULTR_API_KEYمتغير البيئة.
  • snapshot_description: وصف اللقطة الناتجة.
  • region_id: المنطقة التي سيتم نشر VPS إليها. هذا لا يؤثر على اللقطة النهائية ، فقط الخادم الذي تم إنشاء اللقطة منه.
  • plan_id: خطة لاستخدام VPS. يجب أن تحدد الاستخدامات المستقبلية لهذه اللقطة خطة على الأقل بهذا الحجم.
  • os_id: نظام التشغيل الذي يعتمد على اللقطة.
  • ssh_username: اسم المستخدم الذي سيتم استخدامه عند SSH'ing في الخادم للتزويد. بالنسبة لخوادم Linux ، سيكون هذا عادةً root.

لاستخدامه ، احفظ هذا الملف باسم مثل server.json، ثم قم بتشغيل الأمر packer build server.json. سترى بعض المخرجات التي تشير إلى حالة البناء ، والتي ستستغرق بضع دقائق.

عند تشغيل هذا الإصدار ، Snapshotting: My Awesome Appسيتم إنشاء خادم جديد باسمه ، والتقاطه ، ثم تدميره. هذا هو كل ما يحدث. لمزيد من المعلومات حول تعريف الموفر ، راجع وثائق باكر .

بمجرد الانتهاء من البناء ، سيقوم باكر بإخراج معرف اللقطة الناتجة.

تحديد المنطقة والخطة ونظام التشغيل

هذه القيم الثلاث مطلوبة لكل بنية Vultr ، ولكن يمكن تعريفها بإحدى الطرق العديدة. لكل واحد ، يجب عليك تحديد واحد من تنوعاته بالضبط لتجنب الغموض:

منطقة

يمكن الاستعلام عن معلومات المنطقة عبر واجهة برمجة التطبيقات: https://www.vultr.com/api/#regions_region_list

  • region_id: معرف المنطقة ، على سبيل المثال 2
  • region_code: رمز المنطقة ، على سبيل المثال ORD

خطة

يمكن الاستعلام عن معلومات الخطة عبر واجهة برمجة التطبيقات: https://www.vultr.com/api/#plans_plan_list

  • plan_id: معرف الخطة ، على سبيل المثال 201

نظام التشغيل

يمكن الاستعلام عن معلومات نظام التشغيل عبر واجهة برمجة التطبيقات: https://www.vultr.com/api/#os_os_list

  • os_id: معرف نظام التشغيل ، على سبيل المثال 167

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

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

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد