MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Dasar-dasar Otomasi Basis Data MongoDB Menggunakan Chef

Lingkungan terkelola tumbuh dari waktu ke waktu, seringkali sebagai akibat dari peningkatan keterlibatan data atau mungkin karena kebutuhan peningkatan kinerja melalui beban kerja bersama. Oleh karena itu perlu adanya penambahan anggota. Misalnya, dengan MongoDB seseorang dapat memutuskan untuk melakukan replikasi dan sharding yang akibatnya akan memerlukan seseorang untuk menambahkan lebih banyak anggota ke cluster. Mengkonfigurasi dan menerapkan lingkungan ini dengan waktu menjadi sibuk, memakan waktu, rentan terhadap kesalahan manusia dan begitu banyak kemunduran terkait yang akhirnya menimbulkan biaya operasional. Ambil contoh set replika dengan 50 anggota di MongoDB dan Anda ingin membagi koleksi tertentu di masing-masing anggota, melakukan ini secara manual untuk masing-masing memakan waktu, sehingga kami memerlukan sistem terpusat dari mana Anda dapat dengan mudah mengkonfigurasi semua anggota . Dengan sistem terpusat Anda menulis beberapa kode yang kemudian mengkonfigurasi anggota yang terhubung. Oleh karena itu, kode tersebut dapat dibaca manusia, dapat dibuat versi, dan dapat diuji untuk menghilangkan kemungkinan kesalahan sebelum penerapan.

Apa itu Perangkat Lunak Chef?

Chef adalah perangkat lunak otomatisasi yang ditulis dalam bahasa Ruby yang digunakan untuk merampingkan tugas mengonfigurasi dan memelihara mesin cloud atau di server prem. Itu dilakukan dengan memastikan bahwa semua anggota yang terhubung mendapatkan sumber daya yang diperlukan, sumber daya dikonfigurasi dengan baik dan memperbaiki sumber daya apa pun yang tidak dalam keadaan yang diinginkan. Jadi, Chef pada dasarnya memastikan file dan sumber daya perangkat lunak yang diharapkan ada di mesin tertentu ada, dikonfigurasi dengan benar, dan berfungsi dengan baik sebagaimana dimaksud.

Komponen Koki

Chef Server

Ini adalah sistem pengontrol pusat yang menampung data konfigurasi. Data ditulis dalam 'resep' dan jika banyak dari resep ini terlibat, mereka membentuk buku masak. Sistem pusat juga berisi metadata yang menjelaskan setiap node seperti yang dijelaskan dalam chef-client.

Semua perubahan yang dibuat dalam resep lulus di sini untuk validasi sebelum penerapan. Server juga memastikan bahwa workstation dan node yang terhubung dipasangkan menggunakan kunci otorisasi sebelum mengizinkan komunikasi di antara mereka dan menerapkan perubahan.

Node Klien Koki

Node klien Chef mendaftar dan memvalidasi node dan membangun objek node. Ini pada dasarnya memegang status saat ini dari node tertentu dan metadatanya.

Simpul

Ini adalah mesin fisik, virtual, atau cloud yang akan dikonfigurasi dan masing-masing node klien harus diinstal.

Stasiun Kerja

Workstation menyediakan antarmuka untuk komunikasi antara server dan node klien. Ini menyediakan platform untuk menulis, menguji, dan menerapkan buku masak. Di sinilah peran juga ditentukan

Uji Dapur

Di sinilah kode divalidasi.

Pisau Koki

Berinteraksi dengan node.

Buku Masak

Berisi resep yang ditulis dalam bahasa Ruby dan digunakan untuk menentukan tugas yang akan dilakukan. Resep menentukan sumber daya dan urutan implementasi pada tugas yang ditentukan.

  • atribut digunakan untuk mengganti setelan default.
  • file yang digunakan untuk mentransfer file dari jalur tertentu ke chef-client.
  • sumber daya metadata mendefinisikan informasi simpul seperti yang dijelaskan dalam simpul-klien.

Cara Kerja Koki

Chef memiliki dua cara operasi yaitu, klien/server atau dalam mode mandiri yang dikenal sebagai 'chef-solo'.

Chef-server menerima berbagai atribut mengenai node tertentu dari Chef-client. Atribut-atribut ini kemudian diindeks menggunakan Elasticsearch oleh server yang kemudian menyediakan Application Program Interface (API) dari mana node-klien dapat meminta data ini. Hasil yang dikembalikan kemudian digunakan oleh node-klien untuk mengonfigurasi mesin yang relevan dan mengubahnya ke status yang diinginkan.

Server menghubungkan semua operasi di mana perubahan akan disimpan

Server yang dikelola koki dievaluasi dari waktu ke waktu terhadap beberapa keadaan yang diinginkan untuk memastikan bahwa setiap perubahan dalam konfigurasi secara otomatis dikoreksi dan diterapkan secara universal. Dengan pendekatan ini, ada konfigurasi yang konsisten pada skala.

Memulai Koki

Anda dapat mengunduh chef-workstation dari situs ini dan menginstalnya. Buat folder bernama buku masak dan di dalam folder ini jalankan perintah:

$ chef generate cookbook first_cookbook

Ini akan menghasilkan direktori bernama first_cookbook dengan beberapa sub-folder dan file.

Navigasi ke buku masak/first_cookbook/recipes/ dan perbarui resep default.rb dengan isinya

file "test.txt" do

  content 'This is my first recipe file'

end

Kami kemudian mengeksekusi file ini menggunakan perintah

$ chef-client --local-mode --override-runlist first_cookbook.

ATAU, di dalam folder resep, Anda dapat menjalankan  file dengan perintah

$ chef-apply default.rb

Jika Anda menavigasi ke folder resep Anda, Anda pasti akan melihat file test.txt dengan konten Ini adalah file resep pertama saya. Semudah itu. Di bagian selanjutnya kita akan membuat resep untuk melakukan beberapa tugas khusus terkait MongoDB

Menginstal dan Mengonfigurasi MongoDB dengan Chef

Anda dapat menginstal MongoDB dengan membuat resep instalasi MongoDBInstall.rb dan mengisinya dengan isinya

package "mongodb" do

 action :install

 version '4.0.3'

end

Dalam hal ini nama paket kami adalah mongodb dan kami akan menginstal versi 4.0.3

Apa yang kami miliki adalah resep dasar tetapi dalam banyak kasus kami memerlukan buku masak lanjutan untuk melakukan konfigurasi kami di MongoDB. Untuk memudahkan tugas, ada buku masak yang dikembangkan seperti SC-MongoDB yang umumnya membuat konfigurasi tepat.

Buku Masak SC-MongoDB

Buku masak menyediakan  mongodb_instance yang menyempurnakan seseorang untuk mengonfigurasi params MongoDB, kumpulan replika, dan sharded cluster.

Untuk menginstal buku masak cukup jalankan perintah

$ knife supermarket download sc-mongodb

Anda kemudian dapat menggunakan atribut yang ditentukan di situs ini untuk mengonfigurasi ulang beberapa atribut default MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Buat Pengguna Super di mongo

  2. 5 Cara Memasukkan Dokumen di MongoDB

  3. Enam Komponen Penting dari Tata Kelola Data yang Berhasil

  4. Mongoid:temukan melalui Array id

  5. Domain Kustom Heroku Tidak Berfungsi