Membuat Snapshot Dengan Packer

Apa itu Packer?

Packer adalah alat pengimejan pelayan yang dikembangkan oleh HashiCorp. Pengimejan pelayan; atau sebagai alternatif, infrastruktur yang tidak berubah; adalah alternatif yang popular untuk alat konfigurasi runtime, seperti Ansible atau Puppet. Ia berdasarkan idea bahawa apabila pelayan digunakan, anda tidak akan mengubahnya; sebaliknya, anda menggunakan pelayan baru dengan perubahan anda dan kemudian merobek yang lama. Ini menjadikan penyelenggaraan pelayan lebih mudah, dan membolehkan anda membuat skala dengan lebih berkesan di sebilangan besar mesin.

Walaupun Packer tidak menyokong Vultr di luar kotak, ada plugin yang menambahkan sokongan itu. Arahan untuk memasang Packer dengan sokongan Vultr boleh didapati di README plugin. Selebihnya artikel ini mengandaikan bahawa anda telah memasang Packer, dan juga pemalam Vultr.

Bagaimana ia berfungsi

Tujuan Packer adalah untuk menghasilkan gambar pelayan, atau artifak yang dapat digunakan untuk membuat pelayan baru persis seperti pada waktu pengimejan. Untuk Vultr, artifak tersebut dipanggil Snapshots. Plugin berfungsi dengan menggunakan VPS baru, menjalankan penyedia yang anda tetapkan di atasnya, membuat Snapshot, dan kemudian meruntuhkan VPS. Apabila anda ingin membuat pelayan baru dari gambar anda, cukup panggil Vultr's API untuk menggunakan VPS baru dengan Snapshot yang diinginkan sebagai OSnya.

Menggunakan Packer

Packer mengambil fail JSON yang menentukan build yang harus dijalankan sebagai input. Berikut adalah contoh fail yang menentukan binaan 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"
    }
  ]
}

Fail ini mempunyai dua kunci tingkat atas, variablesdan builders. Yang variablesutama digunakan untuk menentukan pembolehubah adat, dan dalam kes ini digunakan untuk menggabungkan VULTR_API_KEYvariabel persekitaran dengan cara yang boleh digunakan kemudian. Yang buildersutama mengandungi senarai membina untuk menjalankan, dalam kes ini hanya membina Vultr kami. Mari kita pecahkan sedikit:

  • type: Ini mendefinisikan pembangun yang sebenarnya boleh digunakan, dan untuk membina Vultr ini semestinya selalu berlaku vultr.
  • api_key: Untuk menjalankan build, anda memerlukan kunci API, yang ditentukan di sini. Contoh ini mendefinisikannya sebagai nilai vultr_api_keypemboleh ubah pengguna, yang seterusnya ditetapkan ke nilai VULTR_API_KEYpemboleh ubah persekitaran.
  • snapshot_description: Penerangan mengenai snapshot yang dihasilkan.
  • region_id: Rantau ini menggunakan VPS. Ini tidak menjejaskan syot terakhir, hanya pelayan yang dibuat oleh snapshot itu.
  • plan_id: Rancangan untuk digunakan untuk VPS. Penggunaan masa depan snapshot ini mesti menentukan pelan yang sekurang-kurangnya besar ini.
  • os_id: Sistem Operasi untuk mendasarkan tangkapan pada.
  • ssh_username: Nama pengguna yang akan digunakan semasa SSH'ing ke pelayan untuk peruntukan. Untuk pelayan Linux, ini biasanya akan root.

Untuk menggunakannya, simpan fail ini dengan nama seperti server.json, dan kemudian jalankan perintah itu packer build server.json. Anda akan melihat beberapa output yang menunjukkan status binaan, yang akan mengambil masa beberapa minit.

Apabila anda menjalankan binaan ini, pelayan baru bernama Snapshotting: My Awesome Appakan dibuat, diambil gambar, dan kemudian dimusnahkan. Tanpa peruntukan yang ditetapkan, itu semua yang berlaku. Untuk maklumat lebih lanjut mengenai menentukan penyedia, rujuk dokumentasi Packer .

Apabila binaan selesai, Packer akan mengeluarkan ID snapshot yang dihasilkan.

Menentukan wilayah, rancangan, dan OS

Ketiga nilai ini diperlukan untuk setiap pembinaan Vultr, tetapi boleh ditakrifkan dalam salah satu daripada beberapa cara. Untuk setiap satu, anda harus menentukan dengan tepat salah satu variasinya untuk mengelakkan kekaburan:

Wilayah

Maklumat wilayah boleh dipertimbangkan melalui API: https://www.vultr.com/api/#regions_region_list

  • region_id: ID rantau ini, contohnya 2
  • region_code: Kod wilayah, mis ORD

Rancang

Rancang maklumat boleh ditanya melalui API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: ID pelan, contohnya 201

OS

Maklumat Sistem Pengoperasian boleh ditanyakan melalui API: https://www.vultr.com/api/#os_os_list

  • os_id: ID OS, contohnya 167


Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut