Chef adalah utilitas manajemen konfigurasi yang kuat yang mengubah infrastruktur menjadi kode. Dengan Chef, pengguna dapat dengan mudah mengelola, mengonfigurasi, dan menyebarkan sumber daya di seluruh jaringan dari lokasi terpusat terlepas dari lingkungan (cloud, on-premise, atau hybrid). Posting ini akan membantu Anda mengatur chef 12 di CentOS 7 / RHEL 7
Dimulai dengan rilis Chef server 11, ujung depan server Chef ditulis dalam Erlang dan klien menggunakan Ruby untuk menangani perubahan konfigurasi.
Komponen Koki:
Chef terdiri dari server Chef, satu atau lebih workstation, dan node tempat chef-client diinstal. Nama komponen didasarkan pada peran yang dimainkan oleh setiap mesin di ekosistem Chef.
Server Koki :Ini adalah server hub pusat yang menyimpan buku masak dan resep yang diunggah dari stasiun kerja, yang kemudian diakses oleh klien koki untuk penerapan konfigurasi.
Stasiun Kerja Koki :Di sinilah resep, buku masak, dan detail konfigurasi koki lainnya dibuat atau diedit. Semua ini kemudian didorong ke server Chef dari workstation, di mana mereka akan tersedia untuk disebarkan ke node chef-client.
Klien Koki :Ini adalah node target tempat konfigurasi di-deploy tempat klien chef diinstal. Sebuah node dapat berupa mesin apapun (fisik, virtual, cloud, perangkat jaringan, dll.)
Siapkan Chef 12 di CentOS 7:
Persyaratan Sistem / Lingkungan:
Pastikan sistem Anda memenuhi persyaratan sumber daya berikut. Disini saya akan menggunakan CentOS 7 sebagai sistem operasi dasar untuk instalasi Chef.
NAMA HOST | ALAMAT IP | OS | CPU | MEMORY | DISK | TUJUAN |
---|---|---|---|---|---|---|
chefserver.itzgeek.local | 192.168.12.11 | CentOS 7 | 4 | 4 GB | 40 GB | Server Koki |
chefdk.itzgeek.local | 192.168.12.12 | CentOS 7 | 1 | 512 MB | TIDAK | Stasiun Kerja Koki (Kit Pengembangan Koki) |
chefclient.itzgeek.local | 192.168.12.20 | CentOS 7 | 1 | 512 MB | TIDAK | Klien Koki |
Prasyarat:
Host harus memiliki nama domain yang sepenuhnya memenuhi syarat.
Harus memiliki entri DNS atau Host.
vi /etc/hosts 192.168.12.11 chefserver.itzgeek.local chefserver 192.168.12.12 chefdk.itzgeek.local chefdk 192.168.12.20 chefclient.itzgeek.local chefclient
Instal paket wget.
yum -y install wget
Server Koki:
Server Chef bertindak sebagai hub pusat untuk data konfigurasi. Server menyimpan buku masak, kebijakan yang diterapkan ke node dan metadata yang terkait dengan node terdaftar. Node terdaftar menggunakan chef-client untuk meminta Chef Server untuk detail konfigurasi, seperti resep, template, dan distribusi file.
Instal dan Konfigurasi Server Chef:
Unduh versi terbaru dari inti server Chef (12.10 pada saat penulisan).
wget https://packages.chef.io/stable/el/7/chef-server-core-12.10.0-1.el7.x86_64.rpm
Setelah unduhan selesai, instal inti server chef menggunakan perintah berikut.
rpm -ivh chef-server-core-*.rpm
Jika sistem server chef Anda tidak memenuhi persyaratan perangkat keras yang disarankan, langkah ini mungkin gagal.
Setelah instalasi selesai, Anda harus mengkonfigurasi ulang komponen server chef agar server dapat bekerja sama. Mengonfigurasi ulang mungkin memerlukan waktu sedikit lebih lama .
chef-server-ctl reconfigure
Periksa status komponen Chef Server dengan menggunakan perintah berikut.
chef-server-ctl status
Keluaran:
run: bookshelf: (pid 6084) 387s; run: log: (pid 6114) 385s run: nginx: (pid 5973) 417s; run: log: (pid 6276) 359s run: oc_bifrost: (pid 5816) 477s; run: log: (pid 5831) 476s run: oc_id: (pid 5961) 420s; run: log: (pid 5966) 419s run: opscode-erchef: (pid 6186) 379s; run: log: (pid 6176) 381s run: opscode-expander: (pid 6039) 388s; run: log: (pid 6071) 388s run: opscode-solr4: (pid 5992) 399s; run: log: (pid 5999) 398s run: postgresql: (pid 5805) 478s; run: log: (pid 5809) 477s run: rabbitmq: (pid 5767) 480s; run: log: (pid 5760) 481s run: redis_lb: (pid 5377) 595s; run: log: (pid 6272) 359s
Buat pengguna dan Organisasi Admin:
Kita perlu membuat pengguna admin. Pengguna ini akan memiliki akses untuk melakukan perubahan pada komponen infrastruktur dalam organisasi yang akan kita buat. Perintah di bawah ini akan menghasilkan kunci pribadi RSA secara otomatis dan harus disimpan ke lokasi yang aman.
Detail pengguna ada di bawah.
Nama Pengguna :admin
Nama Depan :admin
Nama Belakang :admin
Email :[email protected]
Sandi :kata sandi
Nama File :admin.pem
Jalur :/etc/chef
chef-server-ctl user-create admin admin admin [email protected] password -f /etc/chef/admin.pem
Perintah Asli:
chef-server-ctl user-create USER_NAME FIRST_NAME LAST_NAME EMAIL 'PASSWORD' -f PATH_FILE_NAME
Saatnya kita membuat organisasi untuk menampung konfigurasi chef.
Nama Pendek :itzgeek (Catatan:Nama harus dimulai dengan huruf kecil atau angka, boleh berisi huruf kecil, angka, tanda hubung, dan garis bawah, dan harus antara 1 dan 255 karakter )
Nama Lengkap Organisasi :ITzGeek Inc (Catatan:Harus dimulai dengan karakter bukan spasi dan harus antara 1 dan 1023 karakter )
Pengguna Asosiasi :admin (Catatan:Opsi ini akan mengaitkan pengguna yang dibuat sebelumnya (admin ) dengan admin grup keamanan di server koki )
Nama file :itzgeek-validator.pem (Catatan:perintah akan menghasilkan kunci pribadi RSA secara otomatis dan harus disimpan ke lokasi yang aman )
Jalur :/etc/chef
chef-server-ctl org-create itzgeek "ITzGeek, Inc" --association_user admin -f /etc/chef/itzgeek-validator.pem
Perintah Asli:
chef-server-ctl org-create short_name 'full_organization_name' --association_user user_name --filename ORGANIZATION-validator.pem
Mulai sekarang, Anda akan memiliki dua .pem kunci di /etc/chef direktori. Dalam kasus kami, mereka akan dipanggil admin.pem dan itzgeek-validator.pem . Segera kami akan menempatkan kedua file ini di mesin workstation Chef.
Firewall:
Server Chef memerlukan port berikut untuk dibuka melalui firewall. Namun hanya mengaktifkan 80 dan 443 juga akan melakukannya untuk kita.
Jalankan perintah berikut untuk mengizinkan 80 dan 443 melalui firewall.
firewall-cmd --permanent --zone public --add-service http firewall-cmd --permanent --zone public --add-service https firewall-cmd --reloadhalaman:1 2 3