การสร้างภาพรวมด้วย Packer

Packer คืออะไร

Packerเป็นเครื่องมือสร้างภาพเซิร์ฟเวอร์ที่พัฒนาโดย HashiCorp ภาพเซิร์ฟเวอร์ หรืออีกทางหนึ่งคือโครงสร้างพื้นฐานที่ไม่เปลี่ยนรูปแบบ เป็นทางเลือกยอดนิยมสำหรับเครื่องมือกำหนดค่ารันไทม์เช่น Ansible หรือ Puppet มันขึ้นอยู่กับแนวคิดที่ว่าเมื่อมีการปรับใช้เซิร์ฟเวอร์คุณจะไม่เปลี่ยนแปลง แต่คุณปรับใช้เซิร์ฟเวอร์ใหม่ด้วยการเปลี่ยนแปลงของคุณจากนั้นฉีกเซิร์ฟเวอร์เก่าแทน สิ่งนี้ทำให้การบำรุงรักษาเซิร์ฟเวอร์ง่ายขึ้นและช่วยให้คุณปรับขนาดได้อย่างมีประสิทธิภาพมากขึ้นสำหรับเครื่องจักรจำนวนมาก

แม้ว่า Packer จะไม่รองรับ Vultr นอกกรอบ แต่ก็มีปลั๊กอินที่เพิ่มการสนับสนุนดังกล่าว คำแนะนำสำหรับการติดตั้ง Packer พร้อมการสนับสนุน Vultr สามารถพบได้ใน README ของปลั๊กอิน ส่วนที่เหลือของบทความนี้อนุมานว่าคุณได้ติดตั้ง Packer รวมถึงปลั๊กอิน Vultr

มันทำงานอย่างไร

วัตถุประสงค์ของ Packer คือการสร้างอิมเมจเซิร์ฟเวอร์หรือส่วนที่สามารถใช้ในการสร้างเซิร์ฟเวอร์ใหม่ให้ตรงตามเวลาที่ถ่ายภาพ สำหรับ Vultr สิ่งประดิษฐ์เหล่านั้นเรียกว่า Snapshots ปลั๊กอินทำงานได้โดยการปรับใช้ VPS ใหม่เรียกใช้ตัวจัดสรรที่คุณกำหนดไว้สร้าง Snapshot ของมันแล้วทำลาย VPS เมื่อคุณต้องการสร้างเซิร์ฟเวอร์ใหม่จากอิมเมจของคุณเพียงโทร API ของ Vultr เพื่อปรับใช้ VPS ใหม่พร้อม Snapshot ที่ต้องการเป็นระบบปฏิบัติการ

ใช้ Packer

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 ที่สำคัญคือใช้ในการกำหนดตัวแปรที่กำหนดเองและในกรณีนี้จะใช้ในการรวมตัวแปรสภาพแวดล้อมในทางที่สามารถนำมาใช้ในภายหลัง ที่สำคัญมีรายชื่อของการสร้างการทำงานในกรณีนี้เพียง Vultr สร้างของเรา เรามาทำลายมันกันหน่อย:buildersvariablesVULTR_API_KEYbuilders

  • 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 กำลังเข้าสู่เซิร์ฟเวอร์สำหรับการจัดเตรียม สำหรับเซิร์ฟเวอร์ Linux มักจะเป็นrootเช่นนี้

ที่จะใช้บันทึกไฟล์นี้มีชื่อเหมือนและจากนั้นเรียกใช้คำสั่งserver.json packer build server.jsonคุณจะเห็นผลลัพธ์บางส่วนแสดงสถานะของบิลด์ซึ่งจะใช้เวลาสองสามนาที

เมื่อคุณเรียกใช้งานสร้างนี้เซิร์ฟเวอร์ใหม่ที่ชื่อSnapshotting: My Awesome Appจะถูกสร้าง snapshotted แล้วทำลาย หากไม่มีการกำหนดผู้จัดหานั่นคือทั้งหมดที่เกิดขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนด provisioners โปรดดูเอกสารเกย์

เมื่อการสร้างเสร็จสิ้น Packer จะส่งออก ID ของสแนปชอตที่เกิดขึ้น

การกำหนดภูมิภาคแผนและระบบปฏิบัติการ

ค่าสามค่าเหล่านี้จำเป็นสำหรับการสร้าง Vultr ทุกตัว แต่สามารถกำหนดได้ในหลายวิธี สำหรับแต่ละรายการคุณควรระบุหนึ่งในรูปแบบที่แน่นอนเพื่อหลีกเลี่ยงความกำกวม:

ภูมิภาค

สามารถสอบถามข้อมูลภูมิภาคผ่าน API: https://www.vultr.com/api/#regions_region_list

  • region_id: ID ของภูมิภาคเช่น 2
  • region_code: รหัสของภูมิภาคเช่น ORD

วางแผน

สามารถสอบถามข้อมูลแผนผ่าน API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: ID ของแผนเช่น 201

ระบบปฏิบัติการ

สามารถสอบถามข้อมูลระบบปฏิบัติการผ่าน API: https://www.vultr.com/api/#os_os_list

  • os_id: ID ของระบบปฏิบัติการเช่น 167


Leave a Comment

เริ่มต้นด้วย SaltStack บน Ubuntu 17.04

เริ่มต้นด้วย SaltStack บน Ubuntu 17.04

SaltStack เป็นโปรแกรมจัดการการกำหนดค่าที่ใช้ python ซึ่งได้รับการปรับให้เหมาะสมสำหรับการทำงานอัตโนมัติของไฟล์การกำหนดค่าการปรับใช้และสิ่งอื่น ๆ

วิธีการติดตั้ง Foreman บน Ubuntu 16.04 LTS

วิธีการติดตั้ง Foreman บน Ubuntu 16.04 LTS

ใช้ระบบที่แตกต่างกันอย่างไร โฟร์แมนเป็นเครื่องมือโอเพนซอร์ซฟรีและโอเพนซอร์สซึ่งช่วยคุณในการกำหนดค่าและจัดการเซิร์ฟเวอร์จริงและเซิร์ฟเวอร์เสมือน FOREMA

วิธีการติดตั้ง Jenkins บน CentOS 7

วิธีการติดตั้ง Jenkins บน CentOS 7

Jenkins เป็นเครื่องมือโอเพ่นซอร์ส CI (การรวมต่อเนื่อง) ยอดนิยมซึ่งใช้กันอย่างแพร่หลายสำหรับการพัฒนาโครงการการปรับใช้และระบบอัตโนมัติ บทความนี้จะ

วิธีการติดตั้ง SaltStack บน CentOS 7

วิธีการติดตั้ง SaltStack บน CentOS 7

SaltStack หรือ Salt เป็นโซลูชันการจัดการการกำหนดค่าโอเพ่นซอร์สที่เป็นที่นิยมซึ่งสามารถใช้ในการดำเนินการทางไกลการจัดการการกำหนดค่า cod

วิธีการติดตั้งและกำหนดค่า Concourse CI บน CentOS 7

วิธีการติดตั้งและกำหนดค่า Concourse CI บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร บทนำการผนวกรวมอย่างต่อเนื่องเป็นแนวปฏิบัติในการพัฒนาซอฟต์แวร์ DevOps ซึ่งจะช่วยให้นักพัฒนาสามารถผสาน th บ่อยครั้ง

วิธีการติดตั้งและกำหนดค่า Concourse CI บน Ubuntu 16.04

วิธีการติดตั้งและกำหนดค่า Concourse CI บน Ubuntu 16.04

ใช้ระบบที่แตกต่างกันอย่างไร บทนำการผนวกรวมอย่างต่อเนื่องเป็นแนวปฏิบัติในการพัฒนาซอฟต์แวร์ DevOps ซึ่งจะช่วยให้นักพัฒนาสามารถผสาน th บ่อยครั้ง

ใช้ Chef-solo เพื่อกำหนดค่าแอป Django บน Ubuntu

ใช้ Chef-solo เพื่อกำหนดค่าแอป Django บน Ubuntu

มีหลายวิธีในการตั้งค่าและกำหนดค่ากล่องโดยอัตโนมัติ ไม่ว่าจะด้วยเหตุผลใดก็ตามหากระบบทั้งหมดของเรา ณ จุดนี้ประกอบด้วยเพียง

Vultr โหลดบาลานเซอร์

Vultr โหลดบาลานเซอร์

Load Balancer คืออะไร Load Balancer นั่งอยู่หน้าแอปพลิเคชันของคุณและกระจายทราฟฟิกที่เข้ามาในหลาย ๆ แอปพลิเคชันของคุณ Fo

วิธีการติดตั้ง Drone CI บน Ubuntu 18.04

วิธีการติดตั้ง Drone CI บน Ubuntu 18.04

บทนำโดรนเป็นแพลตฟอร์มการทดสอบอัตโนมัติและการส่งมอบต่อเนื่องซึ่งทำงานบนโครงสร้างพื้นฐานของคุณเอง Drone รองรับทุกภาษา, บริการ o

วิธีการติดตั้งและกำหนดค่า Ansible บน Debian 9 สำหรับใช้กับ Windows Server

วิธีการติดตั้งและกำหนดค่า Ansible บน Debian 9 สำหรับใช้กับ Windows Server

ใช้ระบบที่แตกต่างกันอย่างไร Ansible เป็นเครื่องมือโอเพ่นซอร์สสำหรับการทำงานอัตโนมัติ มันจัดการการกำหนดค่าเซิร์ฟเวอร์ Linux และ Windows ของคุณ มันทำงานได้

วิธีการติดตั้ง Foreman บน CentOS 7

วิธีการติดตั้ง Foreman บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร โฟร์แมนเป็นเครื่องมือโอเพนซอร์ซฟรีและโอเพนซอร์สซึ่งช่วยคุณในการกำหนดค่าและจัดการเซิร์ฟเวอร์จริงและเซิร์ฟเวอร์เสมือน FOREMA

ใช้ SaltStack With Pillars บน Ubuntu 17.04

ใช้ SaltStack With Pillars บน Ubuntu 17.04

ในขณะที่ SaltStack เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการใช้งานการดำเนินงานบนเซิร์ฟเวอร์หลายเครื่องพร้อมกัน แต่ก็รองรับการกำหนดค่าที่กำหนดล่วงหน้าต่อโฮสต์ที่เก็บไว้ใน

วิธีการติดตั้งและกำหนดค่า GoCD บน CentOS 7

วิธีการติดตั้งและกำหนดค่า GoCD บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร GoCD เป็นโอเพ่นซอร์สการส่งต่อและระบบอัตโนมัติ ช่วยให้คุณสามารถสร้างแบบจำลองเวิร์กโฟลว์ที่ซับซ้อนโดยใช้ขนานและ

วิธีการติดตั้งและกำหนดค่า Ansible บน CentOS 7 สำหรับใช้กับ Windows Server

วิธีการติดตั้งและกำหนดค่า Ansible บน CentOS 7 สำหรับใช้กับ Windows Server

ใช้ระบบที่แตกต่างกันอย่างไร Ansible เป็นเครื่องมือโอเพ่นซอร์สสำหรับการทำงานอัตโนมัติ มันจัดการการกำหนดค่าเซิร์ฟเวอร์ Linux และ Windows ของคุณ มันทำงานได้

วิธีการติดตั้ง Strider CD บน Ubuntu 18.04

วิธีการติดตั้ง Strider CD บน Ubuntu 18.04

Introduction Strider CD เป็นแพลตฟอร์มโอเพ่นซอร์สอย่างต่อเนื่อง แอปพลิเคชันเขียนขึ้นใน Node.js และใช้ MongoDB เป็นแบ็กเอนด์หน่วยเก็บข้อมูล สาวเท้า

ใช้ Chocolatey Package Manager บน Windows

ใช้ Chocolatey Package Manager บน Windows

บทนำ Chocolatey นำการจัดการแพคเกจที่ทำให้การจัดการซอฟต์แวร์และการอ้างอิงบน Linux เป็นเรื่องง่ายไปยัง Windows คุณสามารถทำได้อย่างรวดเร็วและง่ายดาย

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน