Apa yang TIDAK BISA dikelola oleh boneka?

67

Saya belajar cara saya melalui manajemen konfigurasi secara umum dan menggunakan boneka untuk mengimplementasikannya secara khusus, dan saya bertanya-tanya aspek apa dari sistem, jika ada, tidak boleh dikelola dengan boneka?

Sebagai contoh kita biasanya menerima begitu saja bahwa nama host sudah diatur sebelum meminjamkan sistem ke manajemen boneka. Konektivitas IP dasar, setidaknya pada jaringan yang digunakan untuk mencapai kepala boneka, harus berfungsi. Menggunakan boneka untuk secara otomatis membuat file zona dns memang menggiurkan, tetapi DNS reverse pointer seharusnya sudah ada sebelum memulai sesuatu atau sertifikat akan menjadi lucu.

Jadi haruskah saya meninggalkan konfigurasi IP dari boneka? Atau haruskah saya mengaturnya sebelum memulai boneka untuk pertama kalinya tetapi mengelola alamat ip dengan boneka tetap? Bagaimana dengan sistem dengan banyak IP (mis. Untuk WAN, LAN dan SAN)?

Bagaimana dengan IPMI ? Anda dapat mengkonfigurasi sebagian besar, jika tidak semua, dengan ipmitool , menyelamatkan Anda dari mendapatkan akses konsol (fisik, serial-over-lan, KVM jarak jauh, apa pun) sehingga dapat diotomatisasi dengan boneka. Tetapi memeriksa kembali kondisinya di setiap agen boneka berjalan tidak terdengar keren bagi saya, dan lampu dasar keluar akses ke sistem adalah sesuatu yang saya ingin miliki sebelum melakukan hal lain.

Seluruh cerita lain adalah tentang menginstal pembaruan. Saya tidak akan membahas poin spesifik ini, sudah ada banyak pertanyaan tentang SF dan banyak filosofi berbeda antara sysadmin yang berbeda. Saya sendiri, saya memutuskan untuk tidak membiarkan pembaruan boneka (mis. Saja ensure => installed) dan melakukan pembaruan secara manual seperti yang sudah biasa kita lakukan, membiarkan otomatisasi tugas ini di kemudian hari ketika kita lebih percaya diri dengan boneka (mis. Dengan menambahkan MCollective ke campuran).

Itu hanya beberapa contoh yang saya dapatkan sekarang di pikiran saya. Apakah ada aspek sistem yang harus dijauhkan dari boneka? Atau, dengan kata lain, di mana garis antara apa yang harus diatur pada waktu penyediaan dan "statis" dikonfigurasi dalam sistem, dan apa yang ditangani melalui manajemen konfigurasi terpusat?

Luke404
sumber
1
Pertanyaan yang bagus Saya ingin tahu sendiri apakah ada hal lain selain konfigurasi khusus mesin yang tidak boleh Anda gunakan untuk boneka. Nah, itu dan mesin Windows.
HopelessN00b
6
<vague> Anda seharusnya tidak mengatur hal-hal dalam boneka ketika itu lebih baik / lebih mudah untuk mengelolanya dengan cara lain. </vague>: p
Zoredache
1
Dengan banyaknya perusahaan yang menggunakan Puppet hari ini, saya dapat melihat pertanyaan ini mengumpulkan banyak perhatian selama beberapa tahun ke depan
Daniel Li

Jawaban:

24

Aturan umum: Jika Anda menggunakan manajemen konfigurasi, kelola setiap aspek dari konfigurasi yang Anda bisa. Semakin Anda memusatkan semakin mudah untuk skala lingkungan Anda.

Contoh spesifik (ditulis dari pertanyaan, semua narasi "Inilah sebabnya Anda ingin mengelolanya"):


Konfigurasi Jaringan IP

OK, tentu, Anda mengkonfigurasi alamat / gateway / NS pada mesin sebelum Anda menjatuhkannya di rak. Maksud saya jika Anda tidak bagaimana Anda menjalankan boneka untuk melakukan sisa konfigurasi?

Tetapi katakan sekarang Anda menambahkan server nama lain ke lingkungan Anda dan Anda perlu memperbarui semua mesin Anda - Apakah Anda tidak ingin sistem manajemen konfigurasi Anda melakukannya untuk Anda?

Atau katakan perusahaan Anda diakuisisi, dan perusahaan induk baru Anda menuntut agar Anda berubah dari alamat 192.168.0.0/24 menjadi 10.11.12.0/24 agar sesuai dengan sistem penomoran mereka.

Atau Anda tiba-tiba mendapatkan kontrak pemerintah besar-besaran - Hanya tangkapan Anda harus mengaktifkan IPv6 SEKARANG FREAKIN SEKARANG atau kesepakatannya meledak ....

Sepertinya konfigurasi jaringan adalah sesuatu yang ingin kami kelola ...


Konfigurasi IPMI

Sama seperti dengan alamat IP, saya yakin Anda mengatur ini sebelum Anda menempatkan mesin di rak - Ini hanya akal sehat untuk mengaktifkan IPMI, konsol jarak jauh, dll. Pada setiap mesin yang memiliki kemampuan, dan konfigurasi tersebut tidak akan banyak berubah ...

... Sampai akuisisi hipotetis yang saya sebutkan di Konfigurasi IP di atas - Alasan Anda terpaksa mengosongkan alamat 192.168-net adalah karena itu adalah tanah IPMI menurut tuan perusahaan baru Anda, dan Anda perlu memperbarui semua kartu IPMI Anda SEKARANG karena mereka akan menginjak-injak ruang IP milik seseorang.

OK, ini agak sulit di sini, tapi seperti yang Anda katakan - semuanya dapat dikelola ipmitool, jadi mengapa tidak ada Wayang menjalankan alat dan mengkonfirmasi konfigurasi saat melakukan semua hal lainnya? Maksud saya itu tidak akan menyakiti apa pun, jadi kami mungkin juga menyertakan IPMI ...


Pembaruan

Pembaruan perangkat lunak lebih merupakan area abu-abu - Di organisasi saya, kami mengevaluasi boneka untuk ini dan merasa "sangat kurang", jadi kami gunakan radminduntuk tujuan ini. Tidak ada alasan Puppet tidak dapat memanggil radmind - Bahkan jika / ketika kita bermigrasi ke Puppet untuk manajemen konfigurasi, itulah yang akan terjadi!

Yang penting di sini adalah untuk menginstal semua pembaruan Anda dengan cara standar (baik standar di seluruh organisasi, atau standar dalam platform) - Tidak ada alasan Wayang tidak harus meluncurkan proses pembaruan Anda, selama Anda telah diuji secara menyeluruh segalanya untuk memastikan bahwa Wayang tidak akan mengacaukan apapun.
Juga tidak ada alasan mengapa Wayang tidak dapat memanggil alat yang lebih cocok untuk tugas ini jika Anda telah menentukan bahwa Wayang tidak dapat melakukan pekerjaan dengan baik sendiri ...

voretaq7
sumber
Re: Pembaruan. Satu hal yang dapat membuat Anda bermasalah dengan boneka menjalankan pembaruan Anda adalah ketika layanan kritis sedang ditambal, misalnya: mysql, apache - Anda tidak ingin mereka memulai kembali dengan kemauan. Wayang menyediakan cara untuk mengunci versi paket-paket itu, itulah sebabnya saya menghindarinya sambil menikmati pembaruan umum untuk mur dan baut lainnya.
Kurangi
@ thinice Itu poin yang bagus, tapi tandingan saya yang biasa adalah memukul orang di belakang kepala dan meneriakkan REDUNDANCY sangat keras :-) (Ini adalah situasi yang lebih buruk dengan radmind karena itu hanya menghancurkan sistem file. Kebijakan kami adalah untuk memiliki load-balancer menurunkan setengah server sehingga kami dapat menambal / menguji mereka, kemudian kami memindahkan semua orang ke mesin yang ditambal sehingga kami dapat melakukan setengahnya lagi. Bekerja dengan baik, tetapi Anda memerlukan redundansi yang dibangun di lingkungan Anda.)
voretaq7
10

Jangan menemukan kembali roda.

Ya, Anda dapat memiliki 50 sumber daya pengguna boneka virtual dan merealisasikannya sesuai kebutuhan dalam modul Anda ... tetapi jika Anda bisa, gunakan LDAP.

Saya berbicara dari pengalaman pahit. Meskipun ldap bukan pilihan di sini, belum.

Contoh lainnya adalah mendorong keluar file host, bukan hanya menggunakan DNS.

Sirex
sumber
3
Saya mengenali semua kata-kata itu, tetapi saya masih tidak yakin apa yang ingin Anda katakan.
Chris S
2
Saya mencoba mengatakan; boneka adalah tempat utama untuk "informasi". Begitu juga DNS dan LDAP. Jangan mencoba untuk melakukan pekerjaan mereka dengan boneka, itu sampah .... Saya katakan ini setelah melihat file raksasa / etc / hosts didorong keluar dengan boneka setiap kali host baru bergabung dengan jaringan.
Sirex
3
Apakah orang benar-benar menggunakan Wayang alih-alih LDAP untuk mengelola akun pengguna ??
Joel E Salas
2
Setiap alat memiliki tempatnya, tetapi menggunakan boneka untuk manajemen akun pengguna atau LDAP untuk penyimpanan file adalah penyalahgunaan .
Hubert Kario
1
Ini tentu ab penggunaan ...
jldugger
9
  • Wayang bukanlah sistem orkestrasi. Khususnya:
    • Wayang tidak cocok untuk orkestrasi VM, karena VM memiliki siklus hidup mereka sendiri yang harus dihormati.
    • Wayang tidak cocok untuk manajemen rilis aplikasi / upgrade kompleks. Berjalan boneka mandiri dapat dimanfaatkan untuk ini, tapi setidaknya itu bukan Wayang dalam kendali, melainkan skrip pembungkus Anda atau robot manusia, yang baik-baik saja.
  • Wayang bukan sistem manajemen pengguna yang baik (harus mengelola setiap entri pengguna, bahkan pengguna yang dihapus, agar efektif. Jadi temukan solusi lain)
  • Wayang bukanlah database konfigurasi yang baik (lihat menggunakan database eksternal semacam itu, dan ENC, Hiera, atau lem serupa)

Tentu saja Anda dapat melakukan semua hal ini dengan Wayang .. tetapi itu bukan solusi terbaik untuk mereka. Terkadang Anda harus meletakkan palu, dan mencari kunci pas.

Namun Wayang sangat bagus dalam mempertahankan konfigurasi dasar untuk mesin, dan menginstal alat yang memungkinkan Anda melakukan VM dan melepaskan orkestrasi, manajemen pengguna dll.

Robert M Thomson
sumber
Lebih banyak quibble: Wayang dapat dikonfigurasi untuk menambah dan menghapus pengguna dengan atau tanpa mengelola setiap pengguna. Yang mengatakan ... agak tidak berguna untuk tidak mengelola setiap pengguna, dan mengerikan dalam mengelola setiap pengguna. Saya menggunakan boneka untuk menambahkan akun layanan, tetapi bukan akun pengguna.
Bukit Seni
2

Saya sebagian besar setuju dengan voretaq7, tetapi dengan beberapa peringatan.

  • Saya jarang pernah mengkonfigurasi pengalamatan IP dalam boneka, kecuali sistem menggunakan DHCP (saya berasumsi penyedia "cloud" paling besar melakukan ini). Saya pernah mengalami situasi di mana saya merusak konfigurasi jaringan dengan boneka, tetapi tidak dapat memperbaikinya dengan boneka karena node tidak memiliki cara untuk menghubungi kepala boneka.

  • Saya cukup teguh dalam keyakinan saya bahwa manajemen pembaruan berada di tangan alat sistem, dan saya tidak melihat penggunaan wayang sebagai cron yang dimuliakan untuk menjadi perbaikan.

Paul Gear
sumber
1

Dalam kasus saya, saya memiliki skrip bootstrap yang memuat konfigurasi sistem minimal (Ubuntu): Ruby, Rubygems, build-essential, git, dll. Manifes wayang saya disimpan di bawah kontrol versi, dan saya hanya mengkloning repositori. Dari sana, skrip bootstrap saya membuat asumsi yang hostname --shortvalid, dan upaya untuk puppet apply /root/infrastructure/puppet/hosts/$( hostname --short ).pp.

Untuk menjawab pertanyaan Anda:

  • Skrip saya menggunakan konektivitas jaringan dasar (DNS, IP), dan tidak mengelola atau mengubahnya;
  • Skrip saya menganggap identitas mesin itu benar, dan jangan mengubahnya;
  • Script saya menganggap Ruby / Rubygems / Git ada, tetapi lakukan setelah itu.
François Beausoleil
sumber
0

Pikirkan Anda tidak perlu menggunakan boneka untuk konfigurasi jaringan. Ini adalah hal yang biasanya dikonfigurasi. Anda juga bisa mendapatkan omong kosong jika Anda akan memiliki kesalahan (s) dengan IP atau MAC atau sesuatu yang serupa yang akan dibawa oleh boneka.

Evgenii Iablokov
sumber
2
Pernah harus mengubah gateway default di 100+ server dengan tangan? Lucky you;)
@ EricDANNIELOU Saya kira itu bisa diambil sebagai +1 untuk membiarkan boneka mengelola konfigurasi IP dari antarmuka jaringan;)
Luke404
@EricDANNIELOU Cobalah melakukan ini dengan bash, "for" cycle dan izin pengguna yang sesuai (sudo untuk root atau root langsung) dan sed / perl / etc. :)
Evgenii Iablokov
1
Saya tidak berpikir bash "for" cycle dan skrip sed / awk / vi kotor lebih aman daripada scm untuk konfigurasi jaringan. Dan begitu boneka Anda diatur untuk yang lainnya, tidak mudah untuk menggunakan ssh "for" loop hanya untuk konfigurasi jaringan.