Saya juga ingin menjaga kemampuan untuk mengedit file host secara manual, setidaknya 10 baris pertama.
#Public IP's - eth0
192.168.1.103 front-01
192.168.1.106 front-02
#Private IP's - eth1
192.169.40.201 priv0-0
192.169.40.202 priv0-1
192.169.40.207 priv1-0
192.169.40.208 priv1-1
#Virtual IP's - eth0:1
192.169.50.202 vip-01
192.169.50.205 vip-02
Memiliki entri host ini di bagian bawah / etc / hosts, akan sempurna. Apa cara terbaik untuk melakukan ini? Apakah ada cara yang lebih baik daripada menulis 8 baris manifes host?
# create a simple hostname and ip host entry
host { 'front-01':
ip => '192.168.1.103',
}
Mungkin ada grup server yang membutuhkan IP / nama host yang berbeda di / etc / hosts mereka. Saya akan menggunakan template, tetapi itu berarti orang tidak bisa lagi membuat perubahan manual di / etc / hosts mereka karena mereka akan ditimpa oleh template.
Gunakan fungsi augeaus yang dibangun menjadi boneka. Anda menginginkan sesuatu seperti
sumber
Satu kasus di mana Anda dapat memilih untuk menggunakan augeas untuk file / etc / hosts, selain tipe sumber daya hosts - adalah untuk baris alamat IP duplikat.
tipe sumber host dengan sangat senang memungkinkan baris dengan alamat IP yang sama. (Google itu; di mana kasus yang sangat tidak jelas ketika itu mungkin ide yang bagus.)
Tetapi jika Anda tidak ingin duplikat alamat IP dalam file / etc / hosts Anda - maka augeas dapat membantu Anda. Tuan rumah tidak membantu untuk itu.
sumber
Hanya metode, tanpa kode:
Gunakan templating atau apa pun yang memperbarui file
/etc/hosts.puppet
dengan garis awal dan akhir yang jelasdan memiliki skrip shell sebagai ketergantungan yang memotong segmen ini
/etc/hosts
dan menggantinya dengan konten/etc/hosts.puppet
.Berhati-hatilah karena ini memiliki kondisi balapan ketika pengguna mengedit file dan boneka itu mengubahnya. Atau, instruksikan pengguna Anda untuk mengedit file
/etc/hosts.user
dan membangun/etc/hosts
keluar dari kedua file setiap kali ada perubahan.sumber