Cara menggunakan persekitaran boneka di Linux untuk mengemas kini ejen dengan selamat

Cara menggunakan persekitaran boneka di Linux untuk mengemas kini ejen dengan selamat

Objektif

Buat dan gunakan persekitaran boneka untuk menguji konfigurasi baru sebelum mengemas kini sistem pengeluaran langsung.

Sistem operasi dan versi perisian

  • Sistem operasi: Sebarang pengedaran utama linux e.g. Ubuntu, Debian, Centos
  • Perisian: boneka dan boneka boneka

Keperluan

Akses istimewa ke pelayan induk boneka dan nod klien boneka.

Konvensyen

  • # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ - Memandangkan perintah Linux dilaksanakan sebagai pengguna yang tidak berkadar biasa

Pengenalan

Sebilangan besar pemasangan boneka memulakan kehidupan sebagai pelayan induk yang menjalankan cawangan tunggal. Tuan mengandungi semua manifes dan konfigurasi lain untuk semua ejen boneka yang disegerakkan kepadanya. Ini adalah tempat yang baik untuk bermula tetapi akan tiba dengan cepat tiba masa apabila kemas kini perlu menolak yang berpotensi untuk memecahkan pelayan pengeluaran. Berharap yang terbaik bukanlah cara terbaik untuk meneruskan.

Boneka menyediakan alat untuk memisahkan seluruh cabang konfigurasi. Ini dipanggil persekitaran. Persekitaran boneka adalah cara untuk membekalkan kumpulan nod ejen terpencil dengan konfigurasi berdedikasi mereka sendiri. Setiap persekitaran mengandungi keseluruhan pokok konfigurasi boneka dan boleh dianggap sebagai pelayan induk boneka yang berasingan.

Bagaimana persekitaran boneka digunakan?

Senario biasa untuk persekitaran, dan adalah yang kita sedang meneroka dalam panduan ini, adalah untuk mewujudkan persekitaran ujian, di samping persekitaran pengeluaran, di mana konfigurasi boneka baru dibuat.

Salah satu cara untuk menguji konfigurasi baru dalam persekitaran ujian adalah dengan mengemas kini salinan pelayan pengeluaran, seperti gambar VM. Sebarang masalah akan diperhatikan pada mesin ujian dan konfigurasi boneka yang diubah suai untuk membetulkannya. Walau bagaimanapun, tidak selalu mungkin mempunyai pelayan ujian untuk memeriksa perubahan dalam persekitaran ujian.

Kaedah lain dan yang akan kita pelajari di sini adalah untuk menjalankan ejen boneka secara manual pada pelayan pengeluaran tetapi menggunakan beberapa pilihan yang akan menyebabkan ejen boneka menyegerakkan ke persekitaran ujian tetapi hanya menunjukkan apa yang akan berlaku tanpa membuat perubahan sebenar. Ini akan menyerlahkan sebarang kesilapan yang akan berlaku dalam kemas kini penuh tanpa benar -benar menyebabkan masa downtime.

Mewujudkan persekitaran boneka

Dalam panduan ini, kami akan membuat contoh boneka yang sangat mudah dengan tuan boneka dan nod ejen boneka. Pelayan induk boneka akan dikonfigurasikan untuk mempunyai dua persekitaran; ujian dan pembangunan.

Panduan ini mengandaikan bahawa anda mempunyai pelayan induk boneka dan nod ejen boneka yang dapat menyambung ke tuan boneka.

Kami akan mewujudkan dua persekitaran pada tuan boneka dan dalam persekitaran ini, kami akan mencipta manifes boneka yang sangat mudah yang membuat fail teks pada nod ejen.

Lokasi lalai untuk perubahan konfigurasi boneka bergantung pada pengedaran yang anda gunakan. Pada Ubuntu 18.04LTS, versi yang akan digunakan dalam panduan ini, lokasi di /etc/boneka. Pengagihan lain (dan dokumentasi rasmi) boleh meletakkannya di /etc/puppetlabs/. Walau bagaimanapun, sebaik sahaja anda berada di direktori konfigurasi boneka utama semua sub-direktori adalah sama untuk semua pengagihan.

Arahan

Buat direktori persekitaran

Persekitaran dan konfigurasi mereka semua wujud di bawah /etc/boneka/kod/ direktori. Pada Ubuntu 18.04 Direktori ini kosong dipasang sehingga kita perlu terlebih dahulu membuat dua direktori persekitaran peringkat atas dengan dua arahan berikut:

# mkdir -p/etc/wayang/kod/persekitaran/ujian # mkdir -p/etc/wayang/kod/persekitaran/pembangunan 

Mana -mana nod ejen baru secara automatik akan menyambung ke pembangunan persekitaran melainkan persekitaran pemboleh ubah ditetapkan kepada alternatif di [ejen] seksyen boneka.Conf fail pada nod ejen.



Membuat dua laman web mudah.PP ditunjukkan

The tapak.ms Fail adalah manifes utama dari mana ejen boneka mula membina katalog keadaan mesin yang dikehendaki. Kami akan membuat dua sangat sederhana tapak.ms fail dalam dua persekitaran yang membuat fail yang sama pada nod ejen. Satu -satunya perbezaan ialah mereka memasukkan teks yang berbeza ke dalam fail.

Yang pertama tapak.ms Fail akan menjadi persekitaran pengeluaran di:

/etc/wayang/kod/persekitaran/pembangunan/manifes/laman web.ms

Fail ini sepatutnya mengikuti kandungan:

Fail '/tmp/contoh.txt ': memastikan => hadir, mod => "0644", kandungan => "dari persekitaran pembangunan \ n", 
Salinan

Gunakan editor teks kegemaran anda untuk membuat dan mengisi fail ini.

Manifes ini memastikan bahawa fail hadir di /TMP/Contoh.txt dan mengandungi teks "dari persekitaran pembangunan" ("\ n" menambah barisan baru pada akhir fail yang merupakan amalan yang baik dan menghentikan boneka menunjukkan mesej amaran apabila ia tidak hadir).

Manifes kedua akan berada di bawah persekitaran ujian di:

/etc/wayang/kod/persekitaran/ujian/manifes/laman web.ms

Fail ini mengandungi yang berikut:

Fail '/tmp/contoh.txt ': memastikan => hadir, mod => "0644", kandungan => "dari persekitaran ujian \ n", 
Salinan

Ini hampir sama dengan fail dalam persekitaran pembangunan dengan satu -satunya perbezaan ialah teks dalam fail menunjukkan bahawa ia telah datang dari persekitaran ujian.

Menilai konfigurasi boneka baru dari persekitaran ujian

Nod ejen secara lalai hanya disegerakkan ke persekitaran pembangunan. Kami terlebih dahulu akan mengarahkan ejen boneka secara manual untuk disegerakkan dengan pelayan induk boneka dan membuat dan memohon tapak.ms yang kita buat dalam persekitaran pembangunan.

Ini dilakukan dengan arahan berikut:

# Ejen boneka --Denvironment = pengeluaran --test 

The --ujian Pilihan menjadikan ejen boneka melakukan katalog berjalan di latar depan dengan pembalakan verbose. Sebarang kemas kini atau perubahan akan diterapkan pada nod.

The --persekitaran = pengeluaran pilihan ada untuk menjelaskan bahawa kita menyegerakkan dari persekitaran pengeluaran. Biasanya, ini akan dikonfigurasikan dalam konfigurasi ejen boneka utama dan tidak perlu dimasukkan ke dalam arahan.

Apabila arahan di atas dijalankan, kami mendapat output berikut:

 Maklumat: Menggunakan Maklumat Pengeluaran 'Alam Sekitar yang Dikonfigurasikan: Mendapatkan Info Pluginfacts: Mengambil Info Plugin: Mendapatkan Maklumat Locales: Memuatkan Fakta Maklumat: Katalog Caching untuk Digital-2.Maklumat Bersih: Memohon Versi Konfigurasi '1527680694' Notis:/panggung [Main]/Main/File [/TMP/Contohnya.txt]/memastikan: Kandungan yang ditakrifkan sebagai 'MD5 59F9CE1D4AAD5FD155DB7CCC2478A93B' NOTIS: Katalog Gunaan Dalam 0.02 saat 

Output ini menunjukkan fail itu /TMP/Contoh.txt tidak hadir sehingga ejen boneka menciptanya seperti yang diarahkan di tapak.ms nyata. Larian berikutnya tidak akan mempunyai Notis: garis sebagai /TMP/Contoh.txt fail wujud dengan kandungan yang betul.

Sekarang bahawa keadaan node ejen bersetuju dengan manifes persekitaran pembangunan kita dapat menguji apa yang akan berlaku jika kita menggunakan manifes alternatif dari persekitaran ujian.

Untuk menguji dan tidak melakukan konfigurasi baru, kita perlu menjalankan arahan berikut:

# Ejen boneka --Denvironment = ujian --test --noop 

Seperti yang anda dapat lihat --persekitaran pilihan telah diubah menjadi ujian dan kami telah memasukkan pilihan tambahan --Noop. Pilihan ini menjadikan ejen melakukan kering. Ini bermakna ejen boneka tidak akan membuat perubahan sebenar pada nod ejen tetapi akan menghasilkan semua output seolah -olah ia ada.

Ini membolehkan kita menilai apa yang akan berlaku jika konfigurasi baru digunakan pada pelayan. Dalam kes ini, output perintah di atas kelihatan seperti:

 INFO: Menggunakan maklumat 'ujian' persekitaran yang dikonfigurasikan: Mendapatkan maklumat pluginfacts: Mendapatkan maklumat plugin: Mendapatkan maklumat tempatan: Memuatkan maklumat Fakta: Memohon Versi Konfigurasi '1527683748' Notis:/panggung [Main]/Main/File [/TMP/Contoh.txt]/kandungan: ---/tmp/contoh.TXT 2018-05-30 12:19:16.205774048 +0000 +++ /tmp /boneka-file20180530-21610-8Ipzur 2018-05-30 12:35:48.740982652 +0000 @@ -1 +1 @@ -From Persekitaran Pembangunan +dari Notis Persekitaran Ujian:/Peringkat [Main]/Main/File [/TMP/Contohnya.txt]/kandungan: current_value 'md5 59f9ce1d4aad5fd155db7cccc2478a93b', harus 'md5 abbb8f68df144a5673d 62e6c4a' dicetuskan 'Refresh' dari 1 Notis Acara: Katalog Gunaan Dalam 0.04 saat 

Garis yang paling menarik di sini adalah berikut:

 -Dari persekitaran pembangunan +dari persekitaran ujian 

Ini menunjukkan dengan simbol tolak ( -) Apa yang diubah dari dan dengan simbol ditambah ( +) Apa yang diubah menjadi. Dalam contoh ini ia adalah teks dalam fail.

Semua output ini menunjukkan bahawa konfigurasi baru akan berjaya digunakan dan kandungan /TMP/Contoh.txt akan diubah suai. Sekiranya ini adalah keadaan yang dikehendaki dari pelayan pengeluaran maka perubahan pada tapak.ms fail boleh dibuat dengan selamat dalam persekitaran pengeluaran.



Mengenal pasti ralat

Konfigurasi boneka baru tidak selalu digunakan tanpa kesilapan dan itulah sebabnya ia harus selalu diuji sebelum digunakan untuk sistem pengeluaran. Kami akan memaksa kesilapan dalam situasi ini dengan membuat kesilapan yang disengajakan dalam ujian tapak.ms fail. Kami akan cuba menetapkan kebenaran fail ke 0944 yang bukan kebenaran yang sah dan akan menyebabkan ralat.

Sekarang, ketika kita berlari:

 # Ejen boneka --Denvironment = ujian --test --noop 

Kami akan melihat output berikut:

 Maklumat: Menggunakan Maklumat Pengujian 'Persekitaran' Persekitaran ': Mendapatkan maklumat pluginfacts: Mendapatkan maklumat plugin: Mendapatkan maklumat tempatan: Memuatkan Fakta Ralat: Gagal Memohon Katalog: Mod Parameter Gagal pada Fail [/TMP/Contoh.TXT]: Spesifikasi Mod Fail tidak sah: "0944" (Fail:/etc/puppetcode/persekitaran/ujian/manifes/laman web.pp, baris: 1) 

Penangkapan skrin berikut menunjukkan output ini kerana ia akan dibentangkan pada baris arahan:

Boneka akan menunjukkan sebarang kesilapan dengan mencetaknya dengan warna merah.

Warna dengan segera beritahu kami bahawa akan ada kesilapan dalam cuba menggunakan konfigurasi boneka baru dari persekitaran ujian. Walau bagaimanapun, seperti yang kita gunakan --Noop Pilihan Tidak ada kesilapan yang komited kepada pelayan pengeluaran.

Kesimpulan

Semasa menjalankan sistem pengeluaran yang diuruskan oleh boneka, selalu penting untuk menguji sebarang konfigurasi baru sebelum ia digunakan. Menggunakan Boneka Alat menyediakan untuk mewujudkan persekitaran alternatif di mana konfigurasi baru dapat dibuat dengan selamat dan dinilai terhadap sistem pengeluaran akan bermakna lebih sedikit kesilapan dan kurang downtime.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Fail Konfigurasi Linux: 30 teratas yang paling penting
  • Muat turun Linux CD/DVD Live
  • Bolehkah linux mendapat virus? Meneroka kelemahan Linux ..
  • Muat turun linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Cara Dual Boot Kali Linux dan Windows 10
  • Cara mengemas kini Firefox di Linux