Perhatikan: ada banyak pertanyaan teoretis.
Baru-baru ini saya membaca tentang Wayang (dan sistem serupa), yang - seperti yang saya yakini - dapat membuat pekerjaan saya lebih mudah. Tetapi saya mencoba - dan sayangnya tidak bisa - untuk memahami apa yang bisa saya "dalang". Saya bisa membayangkan "awan" atau cluster HA, di mana konfigurasi yang sama pada lebih banyak server. Tapi bagaimana dengan workstation? Saya punya satu pc (centos dengan kvm), satu notebook (fedora) dan server pribadi, dapatkah (atau harus) boneka itu dibuat-buat? Apa kelebihan (dis)? Atau di perusahaan kami, kami memiliki ratusan server (terutama dengan centos), tetapi masing-masingnya sedikit berbeda. Tidak dapat memutuskan apakah lebih baik memiliki banyak konfigurasi di satu tempat .. (Dis) keuntungan? Saya akan senang atas semua pendapat atau tautan Anda dengan topik ini.
Jawaban:
Sejauh mana Anda dapat membuat boneka seluruh lingkungan tergantung pada beberapa variabel:
Sangat mungkin untuk membuat boneka setiap hal yang dapat dipalsukan, tetapi untuk sampai ke sana membutuhkan budaya yang tepat dan dukungan dari semua orang yang dapat menyentuh perangkat yang dapat membantu boneka. Beberapa perangkat pada dasarnya sulit dikelola dengan cara itu, hal-hal seperti workstation, dan boneka lebih baik sebagai alat pementasan daripada mesin manajemen konfigurasi.
Wayang itu luar biasa ketika Anda mengelola armada semua VM melakukan hal yang sama. Kemenangan total, dan tidak banyak usaha untuk sampai ke sana.
Di ujung lain spektrum Anda memiliki apa yang saya miliki di pekerjaan terakhir saya, yaitu 200+ server yang menyediakan 130 layanan dan hanya sekelompok kecil dari mereka yang melakukannya dengan lebih dari satu mesin. Benar- benar ada perusahaan (dan universitas) yang melakukan hal-hal semacam itu, tetapi ini banyak usaha dan membutuhkan banyak dukungan. Ini mengharuskan langkah pertama proses penyebaran mesin baru Anda bukan "Instal OS", tetapi "buat manifes".
Pada akhirnya ini merupakan upaya vs efisiensi budaya yang harus Anda pecahkan di antara semua staf TI Anda.
sumber
Apa pun yang hampir sama di semua sistem (atau sebagian dari mereka), atau bahwa Anda dapat mendasarkan sebuah template dari fakta yang bisa Anda peroleh
facter
adalah permainan yang adil.Hal-hal yang benar-benar unik Anda mungkin tidak perlu repot, dan hanya harus melayani konfigurasi dari filebucket.
Apa yang termasuk dalam kategori mana pun adalah keputusan yang tidak dapat kami buat tanpa mengetahui lingkungan Anda secara intim, jadi itu bagi Anda untuk mencari tahu.
sumber
Saya pikir orang lain telah membahas mengapa jadi saya akan coba bagaimana. Saya pikir dengan memahami bagaimana seseorang dapat menggunakan Wayang untuk melakukan apa yang Anda inginkan, itu akan membuat keputusan menjadi lebih jelas.
Lakukan casing dasar terlebih dahulu
Modul Wayang Anda untuk Apache seharusnya tidak melakukan banyak hal secara default. Instal Apache, konfigurasikan ke standar minimum, dan mulai layanan. Jadikan ini bekerja pada semua distro yang Anda butuhkan untuk didukung.
Tambahkan fleksibilitas kedua
Kami perlu menambahkan vhosts. Anda akan berakhir dengan sistem yang dapat menjatuhkan file atau menghapusnya dari serangkaian conf.d atau vhosts.d / direktori sesuai dengan yang Anda butuhkan. Hal yang sama dengan mengaktifkan atau mengkonfigurasi modul.
Gunakan kelas peran atau hostgroup untuk mengikat blok bangunan Anda bersama-sama
Saya pikir cara terbaik untuk menggunakan Wayang adalah untuk memastikan itu aditif. Dengan menggunakan contoh di atas kita harus memiliki modul yang berfungsi
Alih-alih membebani modul Apache default kami untuk melakukan apa yang kita butuhkan untuk host atau grup tertentu yang harus kita tangani ini adalah kelas peran atau hostgroup.
Lagi aditif.
Letakkan case khusus di Hiera
Saya penggemar berat Hiera Puppet, menganggapnya sebagai database untuk Wayang, menyimpan bit khusus. Jika host atau hostgroup tertentu membutuhkan pengaturan khusus, pertama-tama masukkan default waras ke dalam modul sehingga pengguna normal tidak perlu mengetahuinya. Kemudian masukkan data untuk host atau grup host khusus tersebut sehingga Hiera dapat menggunakannya untuk meneruskannya ke Puppet sesuai kebutuhan.
Kasing penggunaan saya adalah Dengarkan port. Beberapa server memiliki Varnish atau haproxy di depannya. Secara default modul Puppet memiliki Apache menggunakan port 80, tetapi jika Hiera menemukan data, ia akan menimpa default itu.
sumber
Saat ini saya dalam transisi antara sistem Puppetize yang hampir mirip dengan Puppetize everything dan saya yakin bahwa jangka panjang, Puppetize everything adalah pendekatan yang lebih baik.
Jika versi Anda mengontrol manifes Wayang Anda (kami semua melakukan ini, kan), Anda mendapatkan semua manfaat dari kontrol versi untuk infrastruktur Anda. Tim Anda menjadi insinyur operasi. Ini sama pentingnya untuk sistem khusus, satu kali seperti peternakan sapi homogen. Anda mendapatkan log tentang siapa yang mengubah sesuatu, ketika mereka mengubahnya, apa perubahan yang sebenarnya, dan kemampuan untuk mengembalikan perubahan itu.
Secara pribadi, saya juga menemukan bahwa memaksa diri saya untuk membuat setiap perubahan melalui Wayang membuat saya berpikir lebih hati-hati tentang perubahan itu. Saat saya menulis manifes, saya lebih memperhatikan setiap perubahan daripada biasanya saya meretas di baris perintah.
Modul Wayang Anda juga akan menjadi lebih baik. Apakah Anda memiliki lebih dari satu modul Nginx? Mungkin itu berarti modul Nginx Anda tidak terlalu bagus, dan Anda perlu membuatnya cukup fleksibel untuk menangani semua kebutuhan khusus Anda. Setidaknya abstraksi kesamaannya menjadi modul inti Nginx yang Anda perluas untuk modul "khusus".
Selanjutnya, seberapa yakin Anda bahwa Anda dapat mengembalikan semua server kebutuhan khusus Anda ke keadaan saat ini (sehubungan dengan konfigurasi) ketika bencana terjadi? Jika setiap perubahan yang diperlukan untuk mendapatkan server Ubuntu pabrik ke wiki internal Anda adalah Puppetized, Anda dapat dengan mudah membangun kembali kondisi wiki Anda saat ini, memori Tomcat kemarin yang di-tweak oleh Bob disertakan.
Akhirnya, ini bisa sangat sulit. Mengelola banyak server yang sangat berbeda dapat menyebabkan beberapa kode Wayang hacktastic jika Anda tidak meluangkan waktu untuk melakukan hal-hal yang benar. Jika Anda tidak menggunakan Puppet Enterprise, pertimbangkan hiera dan / atau ENC seperti Foreman untuk membantu memisahkan data Anda dari manifes Anda. Setiap hari Puppetize sesuatu yang lain. Memiliki drive rekan kerja saat Anda menjelaskan bagaimana ini bekerja di Wayang. Setiap perubahan akan semakin mudah.
sumber