Wayang adalah semacam monster yang bisa membuat Anda berpikir, jadi belajar dengan memberi contoh bukanlah hal yang buruk. Di bawah ini saya mengasumsikan Anda menggunakan modul - silakan katakan dalam komentar jika Anda tidak atau jika Anda memerlukan detail lebih lanjut tentang cara menyatukan modul.
Katakanlah Anda memulai modul baru yang disebut mymodule
. Dalam direktori home wayang (biasanya /etc/puppet
) pada master wayang Anda harus membuat manifes modul dan direktori file:
mkdir -p modules/mymodule/manifests
mkdir -p modules/mymodule/files
Kemudian buat file di direktori itu bernama init.pp
dan masukkan:
class myfile {
file { '/home/operator1/Desktop/Backup':
ensure => directory,
mode => '0755',
owner => 'operator1',
group => 'operator1',
}
file { "/home/operator1/Desktop/Backup/datas.xls":
mode => "0644",
owner => 'operator1',
group => 'operator1',
source => 'puppet:///modules/module_name/datas.xls',
}
}
Kemudian masukkan datas.xls
file ke files
direktori modul - dalam contoh ini di modules/mymodule/files/
. (Perhatikan juga ada templates
direktori untuk templat ).
Dalam manifests/site.pp
file Anda perlu mengimpor modul dan memasukkan kelas dengan melakukan sesuatu seperti:
import 'mymodule'
node base {
include myfile
}
node server1 inherits base {}
node server2 inherits base {
# extra config here
}
Pastikan bahwa semua simpul Anda mewarisi dari basis dan itu yang harus Anda lakukan. Pada wayang 0.25 Anda dapat menggunakan ekspresi reguler dalam nama simpul, misalnya:
node server[0-9] inherits base {}
Beri tahu saya dalam komentar jika Anda memerlukan klarifikasi lebih lanjut.
Menyiapkan klien untuk berbicara dengan master boneka
Pada klien, Anda perlu melakukan:
sudo apt-get install puppet
Kemudian edit /etc/default/puppet
dan ubah START=no
ke START=yes
.
Juga edit /etc/puppet/puppet.conf
dan tambahkan baris ke [main]
bagian untuk memberi tahu di mana menemukan master boneka:
server=puppet.mydomain.com
Lalu kita bisa melakukan uji coba dengan sudo puppetd --test
. Jika Anda mendapatkan kesalahan kunci, Anda mungkin perlu pergi ke server master boneka dan menandatangani kunci klien. Untuk memeriksa nama persis yang dapat Anda lakukan sudo puppetca --list
dan kemudian sudo puppetca --sign server1.mydomain.com
(atau apa pun nama server dari perintah daftar).
Sekarang mulai layanan boneka dengan sudo service puppet start
dan Anda harus pergi. Layanan boneka akan berjalan setiap jam, jadi jika Anda memperbarui resep boneka Anda maka semua klien Anda juga akan diperbarui.
Menghapus File
Saya perhatikan dalam pertanyaan awal yang Anda ingin tahu cara menghapus file. Anda akan mengedit manifests/init.pp
menjadi
file { "/home/operator1/Desktop/Backup/datas.xls":
ensure => absent,
}
Kiat bermanfaat lainnya
Jika Anda mengalami masalah, ada beberapa hal yang dapat Anda lakukan. Pada mesin apa pun dengan boneka yang terpasang, Anda dapat memeriksa sintaks Anda dengan menjalankan
puppet --parseonly --ignoreimport myfile.pp
atau periksa keseluruhannya dengan mengeluarkan --ignoreimport
benderanya, meskipun itu dapat menyebabkan beberapa pesan kesalahan lucu yang sebenarnya bukan kesalahan yang saya temukan. Anda juga dapat menjalankan boneka langsung di mesin klien boneka dengan melakukan:
sudo puppetd --test
yang menunjukkan berbagai hasil yang bermanfaat, dengan kesalahan dan peringatan disorot dalam berbagai warna. Jika Anda ingin lebih detail Anda bisa menjalankan:
sudo puppetd --test --debug
tetapi itu umumnya menghasilkan begitu banyak output sehingga sulit untuk dilalui, jadi hanya lakukan itu jika Anda sudah mencoba langkah-langkah sebelumnya dan macet dan perlu melihat semuanya dilakukan.
Catatan ini didasarkan pada boneka 0.25.x yang merupakan apa yang saya gunakan di tempat kerja saat ini, dan juga versi di Ubuntu 10,04. Kode boneka di bagian utama pasti masih akan berfungsi, tetapi versi boneka yang baru memiliki bendera baru yang dapat membantu dengan hasil debugging.