Packer ile Anlık Görüntüler Oluşturma

Packer nedir?

Packer , HashiCorp tarafından geliştirilen bir sunucu görüntüleme aracıdır. Sunucu görüntüleme; veya alternatif olarak değişmez altyapı; Ansible veya Kukla gibi çalışma zamanı yapılandırma araçlarına popüler bir alternatiftir. Bir sunucu dağıtıldıktan sonra asla değiştirmeyeceğiniz fikrine dayanır; bunun yerine, değişikliklerinizle birlikte yeni bir sunucu dağıtır ve sonra eski sunucuyu yıkarsınız. Bu, sunucu bakımını kolaylaştırır ve çok sayıda makinede daha verimli bir şekilde ölçeklendirmenizi sağlar.

Packer kutudan çıkar çıkmaz Vultr'u desteklemese de, bu desteği ekleyen bir eklenti var. Vultr destekli Packer yükleme talimatları eklentinin README'sinde bulunabilir. Bu makalenin geri kalanında Vultr eklentisinin yanı sıra Packer'ın yüklü olduğu varsayılmaktadır.

Nasıl çalışır

Packer'ın amacı, tam olarak görüntüleme zamanında olduğu gibi yeni bir sunucu oluşturmak için kullanılabilecek sunucu görüntüleri veya yapay nesneler üretmektir. Vultr için bu eserlere Anlık Görüntü denir. Eklenti, yeni bir VPS dağıtarak, tanımlanmış sağlayıcılarınızı üzerinde çalıştırarak, Anlık Görüntüsü oluşturarak ve ardından VPS'yi parçalayarak çalışır. Resminizden yeni bir sunucu oluşturmak istediğinizde, istenen Anlık Görüntü ile yeni bir VPS'yi işletim sistemi olarak dağıtmak için Vultr API'sını arayın.

Packer'ı kullanma

Packer, girdi olarak çalışması gereken derlemeyi tanımlayan bir JSON dosyası alır. İşte bir Vultr yapısını tanımlayan örnek bir dosya:

{
  "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"
    }
  ]
}

Bu dosya iki üst düzey anahtara sahiptir variablesve builders. variablesAnahtar özel değişkenleri tanımlamak için kullanılır ve bu durumda birleştirmek için kullanılır VULTR_API_KEY, daha sonra kullanılabilecek bir şekilde ortam değişkeni. buildersAnahtar listesi bu durumda sadece bizim Vultr inşa halinde, çalıştırmak için inşa içerir. Bunu biraz yıkalım:

  • type: Bu, gerçekten kullanmak için oluşturucu tanımlar ve Vultr sürümleri için bu her zaman olmalıdır vultr.
  • api_key: Derlemeyi çalıştırmak için burada tanımlanan bir API anahtarına ihtiyacınız vardır. Bu örnek bunu, vultr_api_keydeğişkenin değişkeninin değeri olarak tanımlar; bu değer, daha sonra VULTR_API_KEYortam değişkeninin değerine ayarlanır .
  • snapshot_description: Ortaya çıkan anlık görüntünün açıklaması.
  • region_id: VPS'nin dağıtılacağı bölge. Bu son anlık görüntüyü etkilemez, yalnızca anlık görüntünün oluşturulduğu sunucuyu etkiler.
  • plan_id: VPS için kullanılacak plan. Bu anlık görüntünün gelecekteki kullanımları, en azından bu kadar büyük bir plan tanımlamalıdır.
  • os_id: Anlık görüntüyü dayandıracak İşletim Sistemi.
  • ssh_username: SSH sağlama için sunucuya girilirken kullanılacak kullanıcı adı. Linux sunucuları için bu genellikle olur root.

Kullanmak için, bu dosyayı benzer bir adla kaydedin server.jsonve ardından komutu çalıştırın packer build server.json. Birkaç dakika sürecek olan yapının durumunu gösteren bazı çıktılar göreceksiniz.

Bu derlemeyi çalıştırdığınızda, adlı yeni bir sunucu Snapshotting: My Awesome Appoluşturulur, anlık görüntüsü alınır ve sonra imha edilir. Hiçbir sağlayıcı tanımlanmadığında, olan tek şey budur. Tedarikçileri tanımlama hakkında daha fazla bilgi için Packer'ın belgelerine bakın .

Derleme tamamlandığında, Packer sonuçtaki anlık görüntünün kimliğini çıkarır.

Bölge, plan ve işletim sisteminin tanımlanması

Bu üç değer her Vultr yapısı için gereklidir, ancak birkaç yoldan biriyle tanımlanabilir. Her biri için, belirsizliği önlemek için varyasyonlarından birini tam olarak belirtmelisiniz:

bölge

Bölge bilgileri API ile sorgulanabilir: https://www.vultr.com/api/#regions_region_list

  • region_id: Bölgenin kimliği, ör. 2
  • region_code: Bölgenin kodu, ör. ORD

Plan

Plan bilgileri API ile sorgulanabilir: https://www.vultr.com/api/#plans_plan_list

  • plan_id: Planın kimliği, ör. 201

işletim sistemi

İşletim Sistemi bilgileri API ile sorgulanabilir: https://www.vultr.com/api/#os_os_list

  • os_id: İşletim sisteminin kimliği, ör. 167

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.