Packer adalah alat sumber terbuka yang kuat yang dibangunkan oleh Hashicorp yang membolehkan pengguna membuat imej mesin yang sama untuk pelbagai platform dari satu konfigurasi sumber tunggal. Saltstack, sebaliknya, adalah penyelesaian automasi dan pengurusan infrastruktur yang mantap yang membolehkan pengurusan konfigurasi mudah, pelaksanaan jauh, dan orkestra. Dalam catatan blog ini, sebagai pembekal pembungkus, saya akan membimbing anda tentang cara menggunakan Packer dengan SaltStack untuk peruntukan.
Memahami asas -asas
Sebelum menyelam ke dalam integrasi, sangat penting untuk memahami apa yang dibawa oleh setiap alat ke meja. Packer berfungsi dengan membina imej mesin untuk pelbagai platform seperti Amazon EC2, Google Compute Engine, VMware, dan banyak lagi. Ia menggunakan fail konfigurasi berasaskan JSON untuk menentukan proses membina, termasuk imej asas, penyedia, dan pemproses pos.
Saltstack, juga dikenali sebagai garam, adalah pengurusan konfigurasi prestasi tinggi dan sistem pelaksanaan jauh. Ia boleh menguruskan pelayan, desktop, dan peranti lain dengan cekap. Garam menggunakan seni bina Master - Minion, di mana induk mengawal dan menguruskan beberapa minions.
Prasyarat
Untuk mengikuti dengan panduan ini, anda perlu memasang berikut:
- Packer: Anda boleh memuat turun versi terkini Packer dari laman web rasmi Hashicorp.
- Saltstack: Pasang SaltStack pada mesin tempatan anda. Proses pemasangan mungkin berbeza -beza bergantung kepada sistem operasi anda. Sebagai contoh, di Ubuntu, anda boleh menggunakan arahan berikut:
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 focal main" | sudo tee /etc/apt/sources.list.d/saltstack.list sudo apt-get update sudo apt-get pemasangan garam garam mask
Mengintegrasikan Packer dengan SaltStack
Penyepaduan Packer dan SaltStack melibatkan penggunaan SaltStack sebagai penyedia dalam Packer. Berikut adalah langkah untuk mencapai ini:


Langkah 1: Buat fail konfigurasi pembungkus
Buat fail JSON baru, sebagai contoh,Packer_salt.json. Fail ini akan menentukan proses membina.
{"Builders": [{"type": "Amazon -ebs", "Access_Key": "your_aws_access_key", "secret_key": "your_aws_secret_key", "rantau": "us - west - 2", "source_ami" "t2.micro", "ssh_username": "ubuntu", "ami_name": "Packer - Salt - {{timestamp}}"}], "provisioners": [{"type": "Salt -masterless", "local_state_tree"
Dalam konfigurasi di atas:
- The
PembinaSeksyen mentakrifkan jenis imej mesin yang kami bina (dalam kes ini, imej Amazon EBS). - The
penyediabahagian menyatakan bahawa kita menggunakanGaram - Tanpa Masterkomisen. Thelocal_state_treedanlocal_pillar_rootsMenunjuk ke direktori di mana negara dan tiang garam kami disimpan.
Langkah 2: Sediakan negeri dan tiang garam
Buatgaram/akardangaram/tiangDirektori dalam direktori projek anda.
Negeri: Negeri dalam Saltstack menentukan keadaan sistem yang dikehendaki. Contohnya, buat failgaram/akar/top.slsdengan kandungan berikut:
Pangkalan: '*': - Apache
Fail ini memberitahu SaltStack untuk memohonApacheNyatakan kepada semua orang. Sekarang, buat failgaram/akar/apache.slsUntuk memasang dan memulakan pelayan web Apache:
Apache: pkg.Installed: - Nama: Apache2 Service.Running: - Nama: Apache2 - Dayakan: Benar
Tiang: Pilar digunakan untuk menyimpan data sensitif atau data yang khusus untuk minion tertentu. Buat failgaram/tiang/top.sls:
asas: '*': - contoh_pillar
Dangaram/tiang/contoh_pillar.sls:
Contoh_Variable: "Ini adalah pemboleh ubah contoh"
Langkah 3: Jalankan Pembungkusan Packer
Jalankan arahan berikut di terminal anda untuk memulakan pembungkusan pembungkusan:
Packer Build Packer_salt.json
Packer akan membuat contoh EC2, memasang SaltStack di atasnya, dan memohon negeri dan tiang yang kami tentukan. Sebaik sahaja binaan selesai, ia akan mewujudkan imej mesin Amazon (AMI) yang dikonfigurasikan dengan tetapan yang dikehendaki kami.
Manfaat Menggunakan Packer dengan SaltStack
- Konsistensi: Dengan menggunakan Packer dan SaltStack bersama -sama, anda dapat memastikan bahawa semua imej mesin anda dibina dengan konfigurasi yang sama. Ini menghapuskan masalah "berfungsi pada mesin saya" dan menyediakan persekitaran yang konsisten di seluruh platform yang berbeza.
- Automasi: Seluruh proses imej mesin bangunan dan peruntukan boleh automatik. Ini menjimatkan masa dan mengurangkan risiko kesilapan manusia.
- Skalabiliti: Anda boleh dengan mudah skala infrastruktur anda dengan membuat imej mesin yang sama dan menggunakannya di beberapa pelayan.
Pelbagai jenis pembungkus yang kami tawarkan
Sebagai pembekal pembungkus, kami menawarkan pelbagai pembungkus untuk aplikasi yang berbeza. Berikut adalah beberapa produk popular kami:
- Pembungkus Pam Tenggelam Elektrik: Packer ini direka untuk digunakan dalam sistem pam tenggelam elektrik. Ia menyediakan meterai yang boleh dipercayai dan membantu mencegah kebocoran cecair.
- Menyeret packer frac: Sesuai untuk operasi fraktur, pembungkus ini dapat menahan tekanan yang tinggi dan mudah dipasang dan dikeluarkan.
- Pembungkus lubang terbuka mampatan: Packer ini sesuai untuk aplikasi lubang terbuka. Ia menggunakan mampatan untuk mewujudkan meterai yang ketat dan sangat berkesan dalam mencegah penghijrahan cecair.
Hubungi kami untuk perolehan
Jika anda berminat dengan produk Packer kami atau memerlukan lebih banyak maklumat mengenai menggunakan Packer dengan SaltStack untuk keperluan peruntukan anda, kami menggalakkan anda menghubungi kami untuk perbincangan perolehan. Pasukan pakar kami bersedia membantu anda mencari penyelesaian terbaik untuk keperluan anda.
Rujukan
- Hashicorp. (ND). Dokumentasi Packer. Diperolehi daripada https://www.packer.io/docs
- Projek garam. (ND). Dokumentasi Saltstack. Diperolehi daripada https://docs.saltproject.io/en/latest/
