Tutorial Koki - Ubah Infrastruktur Menjadi Kode



Tutorial Chef adalah blog kedua dari seri blog Chef. Blog ini menjelaskan arsitektur Koki dan komponen Koki seperti Buku Masakan, Resep, dll dengan contoh.

Tutorial Chef

Tutorial Chef adalah blog kedua dari seri blog Chef. Dalam saya blog sebelumnya , Saya telah menjelaskan apa itu Chef, Manajemen Konfigurasi dan bagaimana Chef mencapai Manajemen Konfigurasi dengan bantuan kasus penggunaan Gannett.

Dalam Tutorial Koki ini topik berikut akan dibahas:





Saya yakin setelah membaca saya blog sebelumnya Anda pasti penasaran ingin tahu bagaimana sebenarnya Chef bekerja. Bagian pertama dari blog Tutorial Chef ini akan menjelaskan arsitektur Chef secara mendetail, yang akan menghapus semua keraguan Anda.



Tutorial Chef - Arsitektur Chef

Seperti yang ditunjukkan pada diagram di bawah ini, ada tiga komponen Chef utama:

  • Workstation
  • Server
  • Node

Arsitektur Chef - Tutorial Chef - Edureka

Tutorial Chef - Workstation



Workstation adalah lokasi dari semua konfigurasi Chefdikelola. Mesin ini menampung semua data konfigurasi yang nantinya dapat didorong ke Chef Server pusat. Konfigurasi ini diuji di workstation sebelum dimasukkan ke Chef Server. Sebuah workstation terdiri dari alat baris perintah yang disebut Pisau, yang digunakan untuk berinteraksi dengan Chef Server. Mungkin ada beberapa Workstation yang bersama-sama mengelola Chef Server pusat.

Workstation bertanggung jawab untuk melakukan fungsi di bawah ini:

  • Menulis Buku Resep dan Resep yang nantinya akan di-push ke Chef Server pusat
  • Mengelola Node di Chef Server pusat

Sekarang, mari kita pahami poin-poin yang disebutkan di atas satu per satu.

Menulis Buku Resep dan Resep yang nantinya akan di-push ke Chef Server pusat

Resep: Resep adalah kumpulan sumber daya yang menjelaskan konfigurasi atau kebijakan tertentu. Ini menjelaskan semua yang diperlukan untuk mengkonfigurasi bagian dari suatu sistem. Pengguna menulis Resep yang menjelaskan cara Chef mengelola aplikasi dan utilitas (seperti Server HTTP Apache, MySQL, atau Hadoop) dan cara mengonfigurasinya.

Resep ini menjelaskan serangkaian sumber daya yang harus berada dalam keadaan tertentu, yaitu Paket yang harus diinstal, layanan yang harus dijalankan, atau file yang harus ditulis.

Nanti di blog , Saya akan menunjukkan cara menulis Resep untuk menginstal paket Apache2 di Chef Nodes dengan menulis kode ruby ​​di Chef Workstation.

Buku masak: Beberapa Resep dapat dikelompokkan bersama untuk membentuk Buku Masakan. Cookbook mendefinisikan skenario dan berisi semua yang diperlukan untuk mendukung skenario itu:

  • Resep, yang menentukan sumber daya yang akan digunakan dan urutan penerapannya
  • Nilai atribut
  • Distribusi file
  • Template
  • Ekstensi untuk Chef, seperti perpustakaan, definisi, dan sumber daya khusus

Mengelola Node di Chef Server pusat

Sistem Workstation akan memiliki utilitas baris perintah yang diperlukan, untuk mengontrol dan mengelola setiap aspek Chef Server pusat. Hal-hal seperti menambahkan Node baru ke Chef Server pusat, menghapus Node dari Chef Server pusat, mengubah konfigurasi Node, dll, semuanya dapat dikelola dari Workstation itu sendiri.

Sekarang mari kita lihat, komponen Workstation apa saja yang diperlukan untuk menjalankan fungsi di atas.

Stasiun kerja memiliki dua komponen utama:

Utilitas pisau: Alat baris perintah ini dapat digunakan untuk berkomunikasi dengan Chef Server pusat dari Workstation. Menambah, menghapus, mengubah konfigurasi Node di Chef Server pusat akan dilakukan dengan menggunakan utilitas Knife ini. Menggunakan utilitas Knife, Cookbooks dapat diunggah ke Server dan Peran Chef pusat, lingkungan juga dapat dikelola. Pada dasarnya, setiap aspek dari Chef Server pusat dapat dikontrol dari Workstation menggunakan utilitas Knife.

Repositori Chef lokal: Ini adalah tempat di mana setiap komponen konfigurasi Chef Server pusat disimpan. Repositori Chef ini dapat disinkronkan dengan Chef Server pusat (sekali lagi menggunakan utilitas pisau itu sendiri).

Tutorial Chef - Chef Server

Chef Server bertindak sebagai hub untuk data konfigurasi. Chef Server menyimpan Cookbooks, kebijakan yang diterapkan ke Node, dan metadata yang menjelaskan setiap Node terdaftar yang dikelola oleh Chef-Client.

Node menggunakan Chef-Client untuk meminta detail konfigurasi pada Chef Server, seperti Resep, Templat, dan distribusi file. Chef-Client kemudian melakukan pekerjaan konfigurasi sebanyak mungkin pada Node itu sendiri (dan bukan pada Chef Server). Setiap Node memiliki perangkat lunak Chef Client yang diinstal, yang akan menurunkan konfigurasi dari Chef Server pusat yang berlaku untuk Node tersebut. Pendekatan skalabel ini mendistribusikan upaya konfigurasi ke seluruh organisasi.

Tutorial Chef - Chef Nodes

Node dapat berupa server virtual berbasis cloud atau server fisik di pusat data Anda sendiri, yang dikelola menggunakan Chef Server pusat. Komponen utama yang perlu ada di Node adalah agen yang akan menjalin komunikasi dengan Chef Server pusat. Ini disebut Chef Client.

Chef Client melakukan fungsi berikut:

  • Ini bertanggung jawab untuk berinteraksi dengan Chef Server pusat.
  • Ia mengelola pendaftaran awal Node ke Chef Server pusat.
  • Ini menurunkan Cookbooks, dan menerapkannya di Node, untuk mengkonfigurasinya.
  • Polling berkala dari Chef Server pusat untuk mengambil item konfigurasi baru, jika ada.

Klik di sini untuk mempelajari cara menginstal Chef Server, Workstation, dan Node

Tutorial Chef - Keuntungan Chef:

Tutorial Chef ini tidak akan lengkap jika, saya tidak menyertakan manfaat utama Chef:

  • Anda dapat mengotomatiskan seluruh infrastruktur menggunakan Chef. Semua tugas yang sebelumnya dilakukan secara manual, kini dapat dilakukan melalui alat Chef.
  • Anda dapat mengkonfigurasi ribuan node dalam beberapa menit menggunakan Chef.
  • Otomatisasi chef berfungsi dengan sebagian besar penawaran cloud publik seperti .
  • Chef tidak hanya akan mengotomatiskan, tetapi juga akan terus memeriksa sistem secara konsisten, dan mengonfirmasi bahwa sistem sebenarnya dikonfigurasi seperti yang diperlukan (Agen Chef / Klien melakukan pekerjaan ini). Jika seseorang membuat kesalahan dengan memodifikasi file, Chef akan memperbaikinya.
  • Seluruh infrastruktur dapat direkam dalam bentuk repositori Chef, yang dapat digunakan sebagai cetak biru untuk membuat ulang infrastruktur dari awal.

Saya harap Anda menikmati tutorial Chef ini sampai sekarang, cukup dengan posting teoritis! mari kita bersenang-senang dengan tangan.

Tutorial Chef | Memulai Dengan Chef | Edureka

Tutorial Koki - Hands-On

Disini saya akan menjelaskan cara membuat Resep, Buku Masak dan Template di Chef Workstation. Saya juga akan menjelaskan kepada Anda bagaimana menggunakan Cookbook dari Workstation ke Chef-Client (Chef Node).

program round robin di c

Saya menggunakan dua Gambar Virtual, satu untuk Chef Workstation dan lainnya untuk Chef Node. Untuk Chef Server, saya akan menggunakan versi Chef yang dihosting (di cloud). Anda juga dapat menggunakan mesin fisik untuk Chef Server juga.

Langkah 1: Instal Chef DK (Development Kit) di Chef Workstation Anda.

Chef DK adalah paket yang berisi semua alat pengembangan yang Anda perlukan saat membuat kode Chef. Ini tautan untuk mengunduh Chef DK .

Di sini, pilih sistem operasi yang Anda gunakan. Saya menggunakan CentOS 6.8. Jadi, saya akan mengklik Red Hat Enterprise Linux .

Salin tautan tersebut sesuai dengan versi CentOS yang Anda gunakan. Saya menggunakan CentOS 6, seperti yang Anda lihat yang telah saya soroti pada gambar di atas.

Pergi ke terminal Workstation Anda dan unduh Chef DK dengan menggunakan perintah wget dan tempel tautannya.

Jalankan ini:

wget https://packages.chef.io/stable/el/6/chefdk-1.0.3-1.el6.x86_64.rpm

Paket tersebut sekarang telah diunduh. Saatnya menginstal paket ini menggunakan rpm.

Jalankan ini:

rpm -ivh chefdk-1.0.3-1.el6.x86_64.rpm

Chef DK sekarang terinstal di Workstation saya.

Langkah 2: Buat Resep di Workstation

Mari kita mulai dengan membuat Recipe di Workstation dan mengujinya secara lokal untuk memastikannya berfungsi.Buat folder bernama chef-repo. Kami dapat membuat Resep kami di dalam folder ini.

Jalankan ini:

mkdir chef-repo cd chef-repo

Di direktori chef-repo ini saya akan membuat Resep bernama edureka.rb. .rb adalah ekstensi yang digunakan untuk ruby. Saya akan menggunakan editor vim, Anda dapat menggunakan editor lain yang Anda inginkan seperti gedit, emac, vi dll.

Jalankan ini:

vim edureka.rb

Di sini tambahkan yang berikut:

file '/ etc / motd' content 'Selamat Datang di Chef' end

R iniecipe aku s dureka .rb membuat file bernama / etc / motd dengan konten “Selamat Datang di Chef”.

cara menggunakan daya di java

Sekarang saya akan menggunakan Resep ini untuk memeriksa apakah itu berfungsi.

Menjalankan ini:

chef-apply edureka.rb

Jadi ada file yang dibuat di chef-repo yang memiliki konten Selamat datang di Chef.

Langkah 3: MOdifying Recipe file untuk menginstal paket httpd

Saya akan mengubah Resep untuk menginstal paket httpd di Workstation saya dan menyalin file index.html ke root dokumen default untuk mengkonfirmasi instalasi. Tindakan default untuk sumber daya paket adalah penginstalan, oleh karena itu saya tidak perlu menentukan tindakan itu secara terpisah.

Menjalankan ini:

vim edureka.rb

Di sini tambahkan yang berikut ini:

paket 'httpd' service 'httpd' do action [: enable,: start] end file '/var/www/html/index.html' do content 'Selamat datang di Apache di Chef' end

Sekarang saya akan menerapkan konfigurasi ini dengan menjalankan perintah di bawah ini:

Menjalankan ini:

chef-apply edureka.rb

Eksekusi perintah dengan jelas menggambarkan setiap contoh dalam Resep. Ini menginstal paket Apache, mengaktifkan dan memulai layanan httpd di Workstation. Dan itu membuat file index.html di root dokumen default dengan konten 'Selamat datang di Apache di Chef'.

Sekarang konfirmasikan instalasi Apache2 dengan membuka browser web Anda. Ketik alamat IP publik Anda atau nama host Anda. Dalam kasus saya, ini adalah localhost.

Langkah 4: Sekarang kita akan membuat Cookbook pertama kita.

Buat direktori bernama buku masak, dan jalankan perintah di bawah ini untuk menghasilkan Buku Resep.

Menjalankan ini:

mkdir buku masak cd buku masak chef menghasilkan buku masak httpd_deploy

httpd_deploy adalah nama yang diberikan ke Cookbook. Anda dapat memberikan nama apa pun yang Anda inginkan.

Mari kita pindah ke direktori baru ini httpd_deploy.

Menjalankan ini:

cd httpd_deploy

Sekarang mari kita lihat struktur file dari Cookbook yang dibuat.

Menjalankan ini:

pohon

Langkah 5: Cbuat file Template.

Sebelumnya, saya membuat file dengan beberapa konten, tetapi itu tidak sesuai dengan struktur Resep dan Buku Resep saya. Jadi mari kita lihat bagaimana kita bisa membuat Template untuk halaman index.html.

Menjalankan ini:

chef menghasilkan template httpd_deploy index.html

Sekarang jika Anda melihat struktur file Cookbook saya, ada folder yang dibuat dengan nama template dengan file index.html.erb. Saya akan mengedit file template index.html.erb ini dan menambahkan Resep saya ke dalamnya. Lihat contoh di bawah ini:

Buka direktori default

Menjalankan ini:

cd / root / chef-repo / buku masak / httpd_deploy / templates / default

Di sini, edit template index.html.erb dengan menggunakan editor apa pun yang Anda suka. Saya akan menggunakan editor vim.

Menjalankan ini:

vim index.html.erb

Sekarang tambahkan yang berikut ini:

Selamat datang di Chef Apache Deployment

Langkah 6: Cbuat resep dengan template ini.

Buka direktori Resep.

Jalankan t nya:

cd / root / chef-repo / buku masak / httpd_deploy / resep

Sekarang edit file default.rb dengan menggunakan editor apa pun yang Anda inginkan. Saya akan menggunakan editor vim.

Menjalankan ini:

vim default.rb

Di sini tambahkan yang berikut ini:

paket 'httpd' service 'httpd' lakukan tindakan [: aktifkan,: mulai] templat akhir '/var/www/html/index.html' lakukan sumber 'index.html.erb' end

Sekarang saya akan kembali ke folder chef-repo saya dan menjalankan / menguji resep saya di Workstation saya.

Menjalankan ini:

cd / root / chef-repo chef-client --local-mode --runlist 'resep [httpd_deploy]'

Menurut Resep saya, Apache diinstal pada Workstation saya, layanan sedang dimulai dan diaktifkan saat boot. Juga file template telah dibuat di root dokumen default saya.

Sekarang saya telah menguji Workstation saya. Saatnya menyiapkan Chef Server.

Langkah 7: Siapkan Chef Server

Saya akan menggunakan versi Chef Server yang dihosting di cloud tetapi Anda juga dapat menggunakan mesin fisik. Chef-Server ini hadir di kelola.chef.io

Di sini buat akun jika Anda belum punya. Setelah Anda membuat akun, masuk dengan kredensial login Anda.

apa itu tipe casting di java

Seperti inilah rupa Chef Server.

Jika Anda masuk untuk pertama kali, hal pertama yang akan Anda lakukan adalah membuat organisasi. Organisasi pada dasarnya adalah sekelompok Mesin yang akan Anda kelola dengan Chef Server.

Pertama, saya akan pergi ke tab administrasi. Di sana, saya sudah membuat organisasi bernama edu. Jadi saya perlu mendownload starter kit di Workstation saya. Starter kit ini akan membantu Anda untuk mengirim file dari Workstation ke Chef Server. Klik pada ikon pengaturan di sisi kanan dan klik Starter Kit.

Ketika Anda mengklik di sana, Anda akan mendapatkan opsi untuk mengunduh Starter Kit. Cukup klik di atasnya untuk mengunduh file zip Starter Kit.

Pindahkan file ini ke direktori root Anda.Sekarang unzip file zip ini dengan menggunakan perintah unzip di terminal Anda. Anda akan melihat bahwa itu termasuk direktori yang disebut chef-repo.

Menjalankan ini:

buka zip chef-starter.zip

Sekarang pindahkan starter kit ini ke direktori buku masak di direktori chef-repo.

Menjalankan ini:

mv starter / root / chef-repo / buku masak

Chef Cookbooks tersedia di Cookbook Super Market, kita bisa ke Chef SuperMarket. Unduh Buku Resep yang diperlukan dari supermarket.chef.io . Saya mengunduh salah satu Cookbook untuk menginstal Apache dari sana.

Menjalankan e t h aku s:

cd chef-repo knife unduh situs buku masak learn_chef_httpd

Ada Tar ball yang diunduh untuk Apache Cookbook. Sekarang, kita perlu mengekstrak konten dari file Tar yang diunduh ini. Untuk itu, saya akan menggunakan perintah tar.

tar -xvf learn_chef_httpd-0.2.0.tar.gz

Semua file yang diperlukan secara otomatis dibuat di bawah Buku Resep ini. Tidak perlu melakukan modifikasi apa pun. Mari kita periksa deskripsi Resep di dalam folder resep saya.

Jalankan t h aku s :

cd / root / chef-repo / learn_chef_httpd / resep kucing default.rb

Sekarang, saya hanya akan mengunggah buku masak ini ke Chef Server saya karena terlihat sempurna bagi saya.

Langkah 8: Unggah Buku Resep ke Chef Server.

Untuk mengupload Apache Cookbook yang telah saya download, pertama-tama pindahkan file learn_chef_httpd ini ke folder Cookbooks di chef-repo. Kemudian ubah direktori Anda menjadi buku masak.

Jalankan t h aku s :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / buku masak

Sekarang pindah ke direktori buku masak ini.

Jalankan ini:

cd buku masak

Sekarang di direktori ini, jalankan perintah di bawah ini untuk mengunggah Apache Cookboountuk:

Exec ute t h aku s:

unggah buku masak pisau learn_chef_httpd

Verifikasi Cookbook dari konsol Chef Server Management. Di bagian kebijakan, Anda akan menemukan Buku Resep yang telah Anda unggah. Lihat tangkapan layar di bawah ini:

Sekarang langkah terakhir kita adalah menambahkan Chef Node. Saya telah menyiapkan Workstation, Chef Server, dan sekarang saya perlu menambahkan Klien saya ke Chef Server untuk otomatisasi.

Langkah 9: Menambahkan Chef Node ke Chef Server.

Untuk tujuan demonstrasi saya akan menggunakan satu mesin CentOS sebagai Chef Node. Ada ratusan Node yang terhubung ke satu Chef Server. Warna terminal mesin Node saya berbeda dari Workstation sehingga Anda dapat membedakan keduanya.

Saya hanya perlu alamat IP dari Node saya untuk itu saya akan menjalankan perintah di bawah ini di mesin Node sayaaku s.

Exec u t aku s t h aku s:

ifconfig

Saya akan menambahkan Chef Node saya ke Server dengan menjalankan perintah Knife Bootstrap di mana saya akan menentukan alamat IP The Chef Node dan namanya. Jalankan perintah yang ditunjukkan di bawah inidi:

Exec ute t h aku s:

knife bootstrap 192.168.56.102 --ssh-user root --ssh-password edureka --node-name chefNode

Perintah ini juga akan menginisialisasi penginstalan Chef-Client di Chef Node. Anda dapat memverifikasinya dari CLI di Workstation menggunakan perintah pisau, seperti yang ditunjukkan di bawah inidi:

Exec ute t h aku s:

Daftar simpul pisau

Anda juga dapat memverifikasi dari Chef Server. Buka tab node di Konsol Manajemen Server Anda, di sini Anda akan melihat bahwa node yang Anda tambahkan ada. Lihat tangkapan layar di bawah ini.

Langkah 10: Kelola Daftar Node Run

Mari kita lihat bagaimana kita dapat menambahkan Buku Resep ke Node dan mengelola daftar Jalankan dari Chef Server. Seperti yang Anda lihat pada gambar di bawah, klik tab Tindakan dan pilih opsi Edit Daftar Proses untuk mengelola daftar Proses.

Dalam Resep yang Tersedia, Anda dapat melihat Resep learn_chef_httpd kami, Anda dapat menariknya dari paket yang tersedia ke Daftar Proses saat ini dan menyimpan daftar Proses.

Sekarang login ke Node Anda dan jalankan chef-client untuk menjalankan Run List.

Exec ute t h aku s:

klien utama

Saya harap Anda menikmati Tutorial Chef ini dan mempelajari bagaimana Chef dapat digunakan untuk mengonfigurasi ratusan Node. Chef memainkan peran penting dalam banyak organisasi untuk mencapai DevOps. Dengan organisasi Chef merilis aplikasi lebih sering dan reliabkaca.

Jika Anda menemukan blog ini di “ Tutorial Chef 'Relevan, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus Pelatihan Sertifikasi DevOps Edureka membantu pelajar mendapatkan keahlian dalam berbagai proses dan alat DevOps seperti Puppet, Chef, Jenkins, Nagios, dan GIT untuk mengotomatiskan beberapa langkah di SDLC.