Packer, HashiCorp tarafından geliştirilen ve kullanıcıların tek kaynak yapılandırmasından birden fazla platform için aynı makine görüntülerini oluşturmasına olanak tanıyan güçlü bir açık kaynaklı araçtır. SaltStack ise kolay konfigürasyon yönetimine, uzaktan yürütmeye ve orkestrasyona olanak tanıyan güçlü bir altyapı otomasyonu ve yönetim çözümüdür. Bu blog yazısında, bir Packer tedarikçisi olarak, ön hazırlık için Packer'ı SaltStack ile nasıl kullanacağınız konusunda size rehberlik edeceğim.
Temelleri Anlamak
Entegrasyona dalmadan önce her aracın masaya ne getirdiğini anlamak çok önemlidir. Packer, Amazon EC2, Google Compute Engine, VMware ve daha fazlası gibi çeşitli platformlar için makine görüntüleri oluşturarak çalışır. Temel görüntü, ön hazırlayıcılar ve son işlemciler de dahil olmak üzere derleme sürecini tanımlamak için JSON tabanlı bir yapılandırma dosyası kullanır.
Salt olarak da bilinen SaltStack, yüksek performanslı bir konfigürasyon yönetimi ve uzaktan yürütme sistemidir. Sunucuları, masaüstü bilgisayarları ve diğer cihazları verimli bir şekilde yönetebilir. Salt, ustanın birden fazla köleyi kontrol ettiği ve yönettiği bir usta-minyon mimarisini kullanır.
Önkoşullar
Bu kılavuzu takip etmek için aşağıdakilerin kurulu olması gerekir:
- Paketleyici: Packer'ın en son sürümünü resmi HashiCorp web sitesinden indirebilirsiniz.
- Tuz Yığını: Yerel makinenize SaltStack'i kurun. Kurulum işlemi işletim sisteminize bağlı olarak değişiklik gösterebilir. Örneğin Ubuntu'da aşağıdaki komutları kullanabilirsiniz:
wget -O - https://repo.saltproject.io/py3/ubuntu/20.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add - echo "deb https://repo.saltproject.io/py3/ubuntu/20.04/amd64/latest odak ana" | sudo tee /etc/apt/sources.list.d/saltstack.list sudo apt-get update sudo apt-get install salt-master salt-minion
Packer'ı SaltStack ile entegre etme
Packer ve SaltStack'in entegrasyonu, SaltStack'in Packer'da provizyon sağlayıcı olarak kullanılmasını içerir. Bunu başarmanın adımları şunlardır:


Adım 1: Paketleyici Yapılandırma Dosyası Oluşturun
Yeni bir JSON dosyası oluşturun; örneğin,packer_salt.json. Bu dosya derleme sürecini tanımlayacaktır.
{ "builders": [ { "type": "amazon-ebs", "access_key": "AWS_ACCESS_KEY", "secret_key": "AWS_SECRET_KEY", "region": "us - west - 2", "source_ami": "ami - 0c55b159cbfafe1f0", "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": "packer - salt - {{timestamp}}" } ], "provisioners": [ { "type": "salt - masterless", "local_state_tree": "salt/roots", "local_pillar_roots": "salt/pillar" } ] }
Yukarıdaki konfigürasyonda:
inşaatçılarbölümü, oluşturduğumuz makine görüntüsünün türünü tanımlar (bu durumda bir Amazon EBS görüntüsü).provizyon sağlayıcılarbölüm, kullandığımızı belirtir.tuz - ustasızkomisyonlar.yerel_durum_ağacıVelocal_pillar_rootsSaltStack durumlarımızın ve sütunlarımızın depolandığı dizinleri işaretleyin.
Adım 2: SaltStack Durumlarını ve Sütunlarını Ayarlayın
Oluşturtuz/köklerVetuz/sütunproje dizininizdeki dizinler.
Devletler: SaltStack'taki durumlar sistemin istenilen durumunu tanımlar. Örneğin, bir dosya oluşturunsalt/roots/top.slsaşağıdaki içerikle:
taban: '*': - apache
Bu dosya SaltStack'e aşağıdakileri uygulamasını söyler:apachetüm minyonlara duyurulur. Şimdi bir dosya oluşturuntuz/kökler/Apache.slsApache web sunucusunu kurmak ve başlatmak için:
apache: pkg.installed: - ad: apache2 service.running: - ad: apache2 - etkinleştirme: Doğru
Sütunlar: Sütunlar, hassas verileri veya belirli bir minyona özel verileri depolamak için kullanılır. Dosya oluşturtuz/pillar/top.sls:
taban: '*': - example_pillar
Vetuz/pillar/example_pillar.sls:
example_variable: "Bu bir örnek değişkendir"
3. Adım: Packer Derlemesini Çalıştırın
Packer derlemesini başlatmak için terminalinizde aşağıdaki komutu çalıştırın:
paketleyici derlemesi packer_salt.json
Packer bir EC2 bulut sunucusu oluşturacak, üzerine SaltStack'i yükleyecek ve tanımladığımız durumları ve sütunları uygulayacaktır. Derleme tamamlandıktan sonra istediğimiz ayarlarla yapılandırılmış bir Amazon Machine Image (AMI) oluşturacaktır.
Packer'ı SaltStack ile Kullanmanın Yararları
- Tutarlılık: Packer ve SaltStack'ı bir arada kullanarak tüm makine görsellerinizin aynı konfigürasyonda oluşturulmasını sağlayabilirsiniz. Bu, "makinemde çalışıyor" sorununu ortadan kaldırır ve farklı platformlarda tutarlı bir ortam sağlar.
- Otomasyon: Makine görüntüleri oluşturma ve hazırlama sürecinin tamamı otomatikleştirilebilir. Bu, zamandan tasarruf sağlar ve insan hatası riskini azaltır.
- Ölçeklenebilirlik: Aynı makine görüntüleri oluşturup bunları birden fazla sunucuya dağıtarak altyapınızı kolayca ölçeklendirebilirsiniz.
Sunduğumuz Farklı Paketleyici Türleri
Paketleyici tedarikçisi olarak farklı uygulamalar için çeşitli paketleyiciler sunuyoruz. İşte popüler ürünlerimizden bazıları:
- Elektrikli Dalgıç Pompa Paketleyici: Bu paketleyici elektrikli dalgıç pompa sistemlerinde kullanılmak üzere tasarlanmıştır. Güvenilir bir sızdırmazlık sağlar ve sıvı sızıntısını önlemeye yardımcı olur.
- Frac Packer'ı Sürüklemek: Kırma işlemleri için ideal olan bu paketleyici, yüksek basınçlara dayanabilir ve takılması ve çıkarılması kolaydır.
- Sıkıştırmalı Açık Delikli Paketleyici: Bu paketleyici açık delik uygulamaları için uygundur. Sıkı bir sızdırmazlık oluşturmak için sıkıştırmayı kullanır ve sıvı geçişini önlemede oldukça etkilidir.
Tedarik İçin Bize Ulaşın
Packer ürünlerimizle ilgileniyorsanız veya tedarik ihtiyaçlarınız için Packer'ı SaltStack ile kullanma hakkında daha fazla bilgiye ihtiyacınız varsa, bir satın alma görüşmesi için bizimle iletişime geçmenizi öneririz. Uzman ekibimiz ihtiyaçlarınıza en uygun çözümleri bulmanızda size yardımcı olmaya hazırdır.
Referanslar
- Hashi Corp. (nd). Paketleyici Belgeleri. https://www.packer.io/docs adresinden alındı
- Tuz Projesi. (nd). SaltStack Belgeleri. https://docs.saltproject.io/en/latest/ adresinden alındı
