Membuat Snapshots Dengan Packer

Apa itu Packer?

Packer adalah alat pencitraan server yang dikembangkan oleh HashiCorp. Pencitraan server; atau sebagai alternatif, infrastruktur yang tidak dapat diubah; adalah alternatif yang populer untuk alat konfigurasi runtime, seperti Ansible atau Puppet. Ini didasarkan pada gagasan bahwa sekali server dikerahkan, Anda tidak pernah mengubahnya; sebagai gantinya, Anda menggunakan server baru dengan perubahan Anda dan kemudian merobohkan yang lama. Ini membuat pemeliharaan server lebih mudah, dan memungkinkan Anda untuk skala yang lebih efisien di sejumlah besar mesin.

Sementara Packer tidak mendukung Vultr di luar kotak, ada plugin yang menambahkan dukungan itu. Petunjuk untuk menginstal Packer dengan dukungan Vultr dapat ditemukan di README plugin. Sisa dari artikel ini mengasumsikan bahwa Anda telah menginstal Packer, serta plugin Vultr.

Bagaimana itu bekerja

Tujuan Packer adalah untuk menghasilkan gambar server, atau artefak yang dapat digunakan untuk membuat server baru persis seperti pada waktu pencitraan. Bagi Vultr, artefak itu disebut Snapshots. Plugin berfungsi dengan menggunakan VPS baru, menjalankan penyedia yang Anda tentukan di atasnya, membuat Snapshot, dan kemudian menghancurkan VPS. Saat Anda ingin membuat server baru dari gambar Anda, cukup panggil Vultr's API untuk menggunakan VPS baru dengan Snapshot yang diinginkan sebagai OS-nya.

Menggunakan Packer

Packer mengambil file JSON yang mendefinisikan build yang harus dijalankan sebagai input. Berikut ini contoh file yang mendefinisikan build 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"
    }
  ]
}

File ini memiliki dua kunci tingkat atas, variablesdan builders. The variableskunci digunakan untuk mendefinisikan variabel khusus, dan dalam hal ini digunakan untuk menggabungkan VULTR_API_KEYvariabel lingkungan dengan cara yang dapat digunakan kemudian. The builderskey berisi daftar membangun untuk menjalankan, dalam hal ini hanya kami Vultr membangun. Mari kita hancurkan bangunan itu sedikit:

  • type: Ini mendefinisikan pembangun untuk benar-benar digunakan, dan untuk Vultr build harus selalu demikian vultr.
  • api_key: Untuk menjalankan build, Anda memerlukan kunci API, yang ditentukan di sini. Contoh ini mendefinisikannya sebagai nilai vultr_api_keyvariabel pengguna, yang selanjutnya diatur ke nilai VULTR_API_KEYvariabel lingkungan.
  • snapshot_description: Deskripsi snapshot yang dihasilkan.
  • region_id: Wilayah untuk menyebarkan VPS ke. Ini tidak memengaruhi snapshot akhir, hanya server tempat snapshot dibuat.
  • plan_id: Rencana untuk digunakan untuk VPS. Penggunaan snapshot ini di masa mendatang harus menentukan rencana yang setidaknya sebesar ini.
  • os_id: Sistem Operasi untuk mendasarkan snapshot.
  • ssh_username: Nama pengguna yang akan digunakan saat SSH'ing masuk ke server untuk penyediaan. Untuk server Linux, biasanya demikian root.

Untuk menggunakannya, simpan file ini dengan nama seperti server.json, dan kemudian jalankan perintah packer build server.json. Anda akan melihat beberapa output yang menunjukkan status build, yang akan memakan waktu beberapa menit.

Ketika Anda menjalankan bangunan ini, server baru bernama Snapshotting: My Awesome Appakan dibuat, ditampilkan, dan kemudian dihancurkan. Dengan tidak ditetapkannya ketentuan, itulah yang terjadi. Untuk informasi lebih lanjut tentang mendefinisikan penyedia, lihat dokumentasi Packer .

Setelah build selesai, Packer akan menampilkan ID dari snapshot yang dihasilkan.

Menentukan wilayah, rencana, dan OS

Ketiga nilai ini diperlukan untuk setiap build Vultr, tetapi dapat didefinisikan dalam salah satu dari beberapa cara. Untuk masing-masing, Anda harus menentukan secara tepat salah satu variasinya untuk menghindari ambiguitas:

Wilayah

Informasi wilayah dapat ditanyakan melalui API: https://www.vultr.com/api/#regions_region_list

  • region_id: ID wilayah, mis 2
  • region_code: Kode wilayah, mis ORD

Rencana

Informasi paket dapat ditanyakan melalui API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: ID rencana, mis 201

OS

Informasi Sistem Operasi dapat ditanyakan melalui API: https://www.vultr.com/api/#os_os_list

  • os_id: ID OS, mis 167


Leave a Comment

Memulai Dengan SaltStack di Ubuntu 17.04

Memulai Dengan SaltStack di Ubuntu 17.04

SaltStack adalah program manajemen konfigurasi berbasis python yang dioptimalkan untuk otomatisasi file konfigurasi, penyebaran, dan hal lain yang perlu

Cara Memasang Jenkins di CentOS 7

Cara Memasang Jenkins di CentOS 7

Jenkins adalah alat open source CI (Continuous Integration) yang populer yang banyak digunakan untuk pengembangan, penyebaran, dan otomatisasi proyek. Artikel ini wil

Cara Memasang Drone CI di Ubuntu 18.04

Cara Memasang Drone CI di Ubuntu 18.04

Pendahuluan Drone adalah platform pengujian dan pengiriman otomatis dan berkesinambungan yang berjalan pada infrastruktur Anda sendiri. Drone mendukung bahasa apa pun, layanan o

Menggunakan Chef-solo untuk Mengkonfigurasi Aplikasi Django di Ubuntu

Menggunakan Chef-solo untuk Mengkonfigurasi Aplikasi Django di Ubuntu

Ada banyak cara untuk mengotomatiskan proses pengaturan dan konfigurasi kotak. Untuk alasan apa pun, jika seluruh sistem kami pada saat ini terdiri dari adil

Vultr Load Balancers

Vultr Load Balancers

Apa itu Load Balancer Load Balancers duduk di depan aplikasi Anda dan mendistribusikan lalu lintas masuk di beberapa instance aplikasi Anda. Fo

Menggunakan SaltStack With Pillars di Ubuntu 17.04

Menggunakan SaltStack With Pillars di Ubuntu 17.04

Sementara SaltStack adalah alat yang hebat untuk menjalankan operasi pada banyak server secara bersamaan, SaltStack juga mendukung pengaturan konfigurasi yang ditentukan per-host yang disimpan dalam

Cara Memasang SaltStack di CentOS 7

Cara Memasang SaltStack di CentOS 7

SaltStack, atau Salt, adalah solusi manajemen konfigurasi open source yang populer yang dapat digunakan untuk mengimplementasikan eksekusi jarak jauh, manajemen konfigurasi, cod

Cara Menginstal dan Mengkonfigurasi Anonim pada CentOS 7 untuk Digunakan Dengan Windows Server

Cara Menginstal dan Mengkonfigurasi Anonim pada CentOS 7 untuk Digunakan Dengan Windows Server

Menggunakan Sistem yang Berbeda? Ansible adalah alat sumber terbuka untuk mengotomatisasi tugas. Ia mengelola konfigurasi server Linux dan Windows Anda. Ini bekerja

Cara Memasang dan Mengkonfigurasi Concourse CI di CentOS 7

Cara Memasang dan Mengkonfigurasi Concourse CI di CentOS 7

Menggunakan Sistem yang Berbeda? Pengantar Continuous Integration adalah praktik pengembangan perangkat lunak DevOps yang memungkinkan pengembang untuk sering menggabungkannya

Cara Memasang dan Mengkonfigurasi Concourse CI di Ubuntu 16.04

Cara Memasang dan Mengkonfigurasi Concourse CI di Ubuntu 16.04

Menggunakan Sistem yang Berbeda? Pengantar Continuous Integration adalah praktik pengembangan perangkat lunak DevOps yang memungkinkan pengembang untuk sering menggabungkannya

Cara Memasang CD Strider di Ubuntu 18.04

Cara Memasang CD Strider di Ubuntu 18.04

Pendahuluan Strider CD adalah platform penyebaran berkelanjutan sumber terbuka. Aplikasi ini ditulis dalam Node.js dan menggunakan MongoDB sebagai cadangan penyimpanan. Melangkah

Cara Menginstal dan Mengkonfigurasi Anonim pada Debian 9 untuk Digunakan Dengan Windows Server

Cara Menginstal dan Mengkonfigurasi Anonim pada Debian 9 untuk Digunakan Dengan Windows Server

Menggunakan Sistem yang Berbeda? Ansible adalah alat sumber terbuka untuk mengotomatisasi tugas. Ia mengelola konfigurasi server Linux dan Windows Anda. Ini bekerja

Cara Memasang dan Mengkonfigurasi GoCD pada CentOS 7

Cara Memasang dan Mengkonfigurasi GoCD pada CentOS 7

Menggunakan Sistem yang Berbeda? GoCD adalah sistem pengantaran dan otomatisasi sumber terbuka yang berkelanjutan. Ini memungkinkan Anda untuk memodelkan alur kerja yang kompleks menggunakan paralelnya

Menggunakan Manajer Paket Chocolatey di Windows

Menggunakan Manajer Paket Chocolatey di Windows

Pendahuluan Chocolatey membawa manajemen paket yang memudahkan administrasi perangkat lunak dan dependensi di Linux, ke Windows. Anda dapat dengan cepat dan mudah

Cara Memasang Foreman di CentOS 7

Cara Memasang Foreman di CentOS 7

Menggunakan Sistem yang Berbeda? Foreman adalah alat sumber terbuka dan gratis yang membantu Anda dengan konfigurasi dan pengelolaan server fisik dan virtual. Forema

Cara Memasang Foreman di Ubuntu 16.04 LTS

Cara Memasang Foreman di Ubuntu 16.04 LTS

Menggunakan Sistem yang Berbeda? Foreman adalah alat sumber terbuka dan gratis yang membantu Anda dengan konfigurasi dan pengelolaan server fisik dan virtual. Forema

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut